When restoring an NDI source, asynchronously wait for the stored source name to appear on the network; the underlying framework doesn't populate the available list immediately on program start.
Don't double-restore live layout on launch.
If a input is designated as 'allowDedup' do not cache it unless the user explicitly checks the cache setting to on
Audio Graph now keeps track of connections via connection objects.
Connecting nodes now requires an AudioFormat, and the format is set on both ends of the connection. No more explicit setting of stream formats.
CAMultAudioPCM is now based on AVAudioPCMBuffer
Most instances of AudioStreamBasicDescription are replaced with AVAudioFormat
Improve the feel of Desktop Capture's crop overlay window. (Don't implement resizing and moving manually, let system do them)
Desktop capture no longer destroys+recreates the display stream multiple times when the cropping region is changed.
Desktop capture 'reset crop region' button now works...
Fixed some warnings.
added dummyAnimation function to animation input wrapper.
slightly reworked how input.waitAnimation() works; the previous implementation possibly messed with other input timings.
converted input transitions to use input specific waits and dummy animations. This allows scripts/other transitions to run simultaneously
Old style initWithCoder is still functional, just not as cache friendly.
If the capture "device" is changed in the input config window the capture object may be swapped out for a different one depending on caching/flags.
Inputs can now request an attached audio input be created, this audio input shows up as a sub-input of the main video input, and is deleted when the video is
Actually bounce the NDIReceiver audio delegate call through the requested queue
Fixed drag and drop reorder bug with source lists that was preventing a source from being placed at the bottom