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
When a new audio device connects don't force add every device to the audio engine.
Implement layout delete event in layout capture
Various fixes for some multithread access issues
Text file source now supports all file types that NSAttributedString does (html, RTF/RTFD, DOC, XML etc).
Added a font size adjustment option to text file source.
Added a flag to audio inputs (in layouts) that toggles if they cause a new instance of a hardware input to be created, or use one that already exists (if it does)
Change layout renderer back to CARenderer: SceneKit now does complex colorspace/gamma and not all capture sources provide the proper formatting to look correct.
Change layout capture source so it pretends to an OutputDestination attached to a Passthrough compressor.
Added default Passthrough compressor with noCopy set.
Apple browser plugin only loaded on 10.13+
When restoring settings, only restore layout recording directory/format if the key exists (don't clobber defaults on first run)
Restore drag and drop functionality of layouts/inputs etc onto transition view
Inputsource autofit keeps trying until the captureSource reports a non-zero size.
Display capture no longer uses deprecated IOPort functions, now iterates over the IOServices and finds the display via serial number.
Display capture now uses CGDisplay services UUID to identify displays.
Stop using 'muted' property for mixers in advanced audio window.
Various changes to AppleScript code to better support upcoming Elgato Stream Deck integration.
Added some notifications to help stream deck plugin
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.
If metal and the proper CARenderer features are available, render the SourceLayout via Metal instead of an OpenGL context.
If metal is available, use a normal CALayer to render PreviewView content.
Preview renderers are no long responsible for drawing 'snap lines'; Preview View creates an overlay view that renders them on top of the layout.