Commit by leighsmith :: r3723 /trunk/MusicKit/Frameworks/SndKit/ (4 files): (link) Corrected the erroneous use of the default SndStreamManager to prime the format for SndAudioProcessorRecorder. It now uses the format of it's containing SndAudioProcessorChain.
Commit by leighsmith :: r3722 /trunk/MusicKit/Frameworks/SndKit/ (3 files): (link) Turns out that using a condition lock for disconnecting SndStreamClients from their SndStreamManager safely didn't prove to be as traumatic as originally thought. The problem manifested in racing releases of the clients as they removed themselves from their manager. Now each client processing thread waits until it has properly disconnected from it's manager before it's processing thread ends and it releases it's autorelease pool.
Commit by leighsmith :: r3721 /trunk/MusicKit/Frameworks/PlatformDependent/MKPerformSndMIDI_MacOSX/PerformSound.m: (link) Added workaround for devices that have multiple multi-channel streams, such as Line6 GX,UX1 etc. We disable retrieving from extra streams other than first until we can handle mismatched channel devices properly and interleave multi-stream devices properly
Commit by leighsmith :: r3720 /trunk/MusicKit/Frameworks/ (4 files in 4 dirs): (link) Revamped buffer size assignments, correcting situations on MacOS X where the previous formats was used
It’s time to fix our immigration system.
Our current immigration system is failing the world’s most vulnerable people.
Commit by leighsmith :: r3719 /trunk/MusicKit/Frameworks/SndKit/SndStreamManager.m: (link) Add a sleep to keep the SndStreamManager processAudio thread from racing the mixer shut down on Win32. This isn't a great solution, but the better solution probably requires yet another lock which creates even more scope for deadlock.
Commit by leighsmith :: r3718 /trunk/MusicKit/Frameworks/SndKit/ (4 files): (link) Second more successful attempt to ensure the clients disconnect from the manager before stopping streaming, now waiits using locking. Removed the overly public -setManager: method from SndStreamClient.h
Commit by leighsmith :: r3717 /trunk/MusicKit/Frameworks/PlatformDependent/MKPerformSndMIDI_MacOSX/PerformSound.m: (link) Disabled the bailout when trying to change the buffer size to a device already running in the pathological case of two competing systems. We punt that it's better to try to change the buffer size and see what CoreAudio reports. Added correct assignment of the default input device.
Commit by leighsmith :: r3716 /trunk/MusicKit/Frameworks/SndKit/ (8 files): (link) Separated input and output streaming formats to deal with devices which have different formats for input and output. Now correctly disconnects clients after the stream has been stopped. Corrected outputBufferSize value when it differed from input buffer size. Removed SndStreamManager setFormat: which should have not been public. Removed parentheses around SndFormatDescription output
Commit by leighsmith :: r3715 /trunk/MusicKit/Frameworks/SndKit/ (SndStreamClient.m SndStreamManager.m): (link) Now stops streaming when deallocating rather than just complaining about it. Removed redundant thread exiting in streamStartStopThread and delegateMessageThread so that the threads are shut down using NSThread's mechanism. Added checks to deal with a change in how bus speed's are reported on recent Macintoshes.