What's new in Blackmagic ATEM Switchers SDK 9.3

Nov 28, 2023
  • Support for the new ATEM Television Studio 4K8.
  • General performance and stability updates.

New in Blackmagic ATEM Switchers SDK 9.2 (Sep 15, 2023)

  • Changes in Blackmagic Switchers SDK 9.2
  • Updated Interfaces
  • IBMDSwitcher:
  • Added DoesSupportColorimetrySetting(), GetColorimetryMode(), SetColorimetryMode(), DoesSupportFadeToBlackEnabledSetting(), GetFadeToBlackEnabled(), and SetFadeToBlackEnabled().
  • IBMDSwitcherHyperDeck
  • Added GetStorageMediaInfo().
  • New Types:
  • BMDSwitcherColorimetryMode
  • Used in IBMDSwitcher to specify the output colorimetry mode.
  • Updated Types:
  • BMDSwitcherEventType
  • Added bmdSwitcherEventTypeColorimetryModeChanged and bmdSwitcherEventTypeFadeToBlackEnabledChanged.

New in Blackmagic ATEM Switchers SDK 9.0.2 (Jun 27, 2023)

  • Changes in Blackmagic Switchers SDK 9.0.2
  • Updated Interfaces
  • IBMDSwitcherRecordDisk
  • Added GetProperties().
  • IBMDSwitcherRecordAV
  • Added IsProgramRecordingAvailable() and IsISORecordingAvailable().
  • IBMDSwitcherStreamRTMP
  • Added IsStreamingAvailable().
  • IBMDSwitcherHyperDeck
  • Added GetModelName().
  • Updated Types
  • BMDSwitcherRecordDiskEventType
  • Added bmdSwitcherRecordDiskEventTypePropertiesChanged.

New in Blackmagic ATEM Switchers SDK 9.0.1 (Mar 23, 2023)

  • The following models have new features:
  • ATEM 4 M/E Constellation HD:
  • Includes UVC support for the ATEM 4 M/E Constellation HD.
  • Corrects headphone output channel swap.
  • Fixes missing tally for inputs 9 - 40
  • General performance and stability updates.

New in Blackmagic ATEM Switchers SDK 8.7.1 (May 25, 2022)

  • Optimizes manufacturing of ATEM Mini Pro, ATEM Mini Pro ISO and ATEM Advanced Panels.
  • General performance and stability updates.

New in Blackmagic ATEM Switchers SDK 8.7 (Apr 25, 2022)

  • New Interfaces:
  • IBMDSwitcherDisplayClock
  • Controls the display clock available on the first auxiliary output on the Constellation HD.
  • IBMDSwitcherDisplayClockCallback
  • Callback support class for IBMDSwitcherDisplayClock.
  • Updated Interfaces
  • IBMDSwitcherTalkback
  • Added GetMicrophoneMuted, SetMicrophoneMuted, and CanMuteMicrophone methods.
  • New Types:
  • BMDSwitcherDisplayClockEventType
  • Used in IBMDSwitcherDisplayClockCallback to specify the context of callback notification.
  • BMDSwitcherDisplayClockState
  • Used in IBMDSwitcherDisplayClock to return the current clock state.
  • BMDSwitcherDisplayClockMode
  • Used in IBMDSwitcherDisplayClock to specify the clock mode.
  • Updated Types
  • BMDSwitcherTalkbackEventType
  • Added :
  • BmdSwitcherTalkbackEventTypeMicrophoneMutedChanged.
  • Some applications may use third party code under license. For details please refer to the included "Third Party Licenses.rtf" document.

New in Blackmagic ATEM Switchers SDK 8.6.4 (Oct 7, 2021)

  • The following models have new features:
  • ATEM Camera Control Panel:
  • Support for M1 Macs.
  • General performance and stability updates.

New in Blackmagic ATEM Switchers SDK 8.6.3 (Aug 24, 2021)

  • There are no changes in this release.

New in Blackmagic ATEM Switchers SDK 8.6.1 (Apr 8, 2021)

  • Allows selection of priority between ethernet and mobile tethering connections.
  • Added support for TLS 1.2 encryption for streaming.
  • General performance and stability updates.

New in Blackmagic ATEM Switchers SDK 8.6 (Feb 18, 2021)

  • New Interfaces:
  • IBMDSwitcherFairlightAudioSolo:
  • The IBMDSwitcherFairlightAudioSolo interface contains methods to configure solo monitoring on the audio headphone output.
  • IBMDSwitcherFairlightAudioSoloCallback:
  • Used for notifications regarding changes to IBMDSwitcherFairlightAudioSolo.
  • Updated Interfaces:
  • IBMDSwitcherFairlightAnalogAudioInput:
  • Added GetSupportedMicPowerModes(), GetMicPowerMode(), SetMicPowerMode() to manipulate microphone power mode options.
  • IBMDSwitcherFairlightAudioHeadphoneOutput:
  • Added DoesSupportSolo(), DoesSupportMute(), DoesSupportTalkback() and DoesSupportSidetone() to discover available headphone features. Also added GetInputMasterOutMute(), SetInputMasterOutMute(), GetInputTalkbackMute(), and SetInputTalkbackMute() to manipulate headphone mute options.
  • IBMDSwitcherRecordAV:
  • Added GetTimecode(), and updated GetDuration() to return number of frames instead of timecode.
  • IBMDSwitcherStreaminRTMP:
  • Added GetTimecode(), and updated GetDuration() to return number of frames instead of timecode.
  • New Types:
  • BMDSwitcherFairlightAudioSoloEventType:
  • Used in IBMDSwitcherFairlightAudioSoloCallback to specify the context of the callback notification.
  • BMDSwitcherFairlightAudioAnalogInputMicPowerMode:
  • Used in IBMDSwitcherFairlightAnalogAudioInput to specify microphone power mode.
  • Updated Types:
  • BMDSwitcherInputAvailability:
  • Added bmdSwitcherInputAvailabilityAux1Output and bmdSwitcherInputAvailabilityAux2Output.
  • BMDSwitcherFairlightAnalogAudioInputEventType:
  • Added bmdSwitcherFairlightAnalogAudioInputEventTypePowerModeChanged.
  • BMDSwitcherFairlightAudioHeadphoneOutputEventType:
  • Added bmdSwitcherFairlightAudioHeadphoneOutputEventTypeInputMasterOutMuteChanged and bmdSwitcherFairlightAudioHeadphoneOutputEventTypeInputTalkbackMuteChanged.
  • BMDSwitcherRecordAVEventType:
  • Added BMDSwitcherRecordAVEventTypeDurationChanged.
  • BMDSwitcherStreamRTMPEventType:
  • Added BMDSwitcherStreamRTMPEventTypeDurationChanged.

New in Blackmagic ATEM Switchers SDK 8.5.2 (Oct 30, 2020)

  • Fixes an issue that disabled previously working disks for the ATEM Mini Pro and the ATEM Mini Pro ISO.

New in Blackmagic ATEM Switchers SDK 8.5 (Sep 25, 2020)

  • Support for the new ATEM Streaming Bridge.
  • Improvements in A/V sync for all ATEM Mini models.
  • General performance and stability updates.

New in Blackmagic ATEM Switchers SDK 8.4 (Jul 30, 2020)

  • Updated Interfaces:
  • IBMDSwitcherRecordDisk:
  • Removed RequestRecordingTimeAvailable().
  • IBMDSwitcherRecordAV:
  • Added methods for activating ISO recordings.
  • IBMDSwitcherStreamRTMP:
  • Updated method name for setting video bitrate, and added methods to configure audio bitrate and authentication.
  • Updated Types:
  • BMDSwitcherRecordAVEventType:
  • Added ISO recording notification type.
  • BMDSwitcherStreamRTMPEventType:
  • Renamed video bitrate notification type and added audio bitrate and authentication notification event types.

New in Blackmagic ATEM Switchers SDK 8.2.3 (Jun 10, 2020)

  • Updated Interfaces:
  • IBMDSwitcherInput:
  • This interface has been reworked to provide strongly-typed property-specific getters and setters, moving away from the generic ID-based access design. A new method was added to reset the short and long names to factory default; otherwise it is functionally equivalent to the previous design.
  • IBMDSwitcherInputCallback:
  • Adopt the Notify convention, in line with other callback interfaces.
  • New Types:
  • BMDSwitcherInputEventType:
  • Used in IBMDSwitcherInputCallback to specify the context of callback notification.
  • Removed Types:
  • BMDSwitcherInputPropertyId:
  • Not used by IBMDSwitcherInput and IBMDSwitcherInputCallback anymore.

New in Blackmagic ATEM Switchers SDK 8.2.1 (Apr 15, 2020)

  • New Interfaces:
  • IBMDSwitcherRecordDiskIterator
  • The IBMDSwitcherRecordDiskIterator interface contains methods to enumerate disks available for recording.
  • IBMDSwitcherRecordDisk
  • The IBMDSwitcherRecordDisk interface contains methods to access properties of available disks.
  • IBMDSwitcherRecordDiskCallback
  • Use for notifications regarding any changes to IBMDSwitcherRecordDisk.
  • IBMDSwitcherRecordAV
  • The IBMDSwitcherRecordAV interface contains methods to start, stop, and configure recording.
  • IBMDSwitcherRecordAVCallback
  • Use for notifications regarding any changes to IBMDSwitcherRecordAV.
  • BMDSwitcherStreamRTMP
  • The IBMDSwitcherStreamRTMP interface contains methods to start, stop, and configure streaming.
  • BMDSwitcherStreamRTMPCallback
  • Use for notifications regarding any changes to IBMDSwitcherStreamRTMP.
  • Updated Interfaces:
  • BMDSwitcher
  • Added GetTimeCodeMode(), and SetTimeCodeMode().
  • BMDSwitcherMultiView
  • Added CanChangeLayout(), and CanAdjustVuMeterOpacity().
  • New Types:
  • BMDSwitcherRecordDiskStatus
  • Used in IBMDSwitcherRecordDisk to specify status of the disk.
  • BMDSwitcherRecordDiskEventType
  • Used in IBMDSwitcherRecordDiskCallback to specify the context of the callback notification.
  • BMDSwitcherRecordAVEventType
  • Used in IBMDSwitcherRecordAVCallback to specify the context of the callback notification.
  • BMDSwitcherRecordDiskAvailabilityEventType
  • Used in IBMDSwitcherRecordAVCallback to specify the context of the callback notification.
  • BMDSwitcherRecordAVState
  • Used in IBMDSwitcherRecordAV to specify the current recording state.
  • BMDSwitcherRecordAVError
  • Used in IBMDSwitcherRecordAV to specify the latest error that occurred.
  • BMDSwitcherStreamRTMPEventType
  • Used in IBMDSwitcherStreamRTMPCallback to specify the context of the callback notification.
  • BMDSwitcherStreamRTMPState
  • Used in IBMDSwitcherStreamRTMP to specify the current streaming state.
  • BMDSwitcherStreamRTMPError
  • Used in IBMDSwitcherStreamRTMP to specify the latest error that occurred.
  • BMDSwitcherTimeCodeMode
  • Used in IBMDSwitcher to specify the Timecode operating mode.
  • Updated Types:
  • BMDSwitcherPortType
  • Added bmdSwitcherPortTypeMultiview and bmdSwitcherPortTypeExternalDirect.
  • MDSwitcherEventType
  • Added bmdSwitcherEventTypeTimeCodeModeChanged.

New in Blackmagic ATEM Switchers SDK 8.2 (Apr 3, 2020)

  • General performance and stability updates
  • Support for ATEM Mini Pro

New in Blackmagic ATEM Switchers SDK 8.0 (Apr 8, 2019)

  • New Interfaces:
  • IBMDSwitcherSuperSourceBorder SuperSource border parameters are now accessed via this interface IBMDSwitcherSuperSourceBorderCallback
  • Use for notifications regarding any changes to IBMDSwitcherSuperSourceBorder objects
  • IBMDSwitcherTalkbackIterator:
  • IBMDSwitcherTalkback objects are now accessed via this iterator. Use CreateIterator() in IBMDSwitcher to get a IBMDSwitcherTalkbackIterator
  • IBMDSwitcherSaveRecall
  • The IBMDSwitcherSaveRecall interface contains methods to store and clear a switcher’s startup state
  • Updated Interfaces:
  • IBMDSwitcherTalkback
  • Added GetId() method to distinguish which talkback is being accessed
  • IBMDSwitcherInputSuperSource
  • Border parameter access methods have been removed as they are now part of the IBMDSwitcherSuperSourceBorder interface which can be accessed via QueryInterface()
  • IBMDSwitcherMultiView
  • Safe area capabilities are now specified per window. CurrentInputSupportsSafeArea() has been added to query whether a particular MultiView window is currently capable of displaying the safe area
  • Several methods have been added to IBMDSwitcherMultiView to support the ATEM Constellation 8K’s quadrant layout. SupportsQuadrantLayout() will query if the switcher supports quadrant layout. Quadrant layout can be configured via the SetLayout() method with the new BMDSwitcherMultiViewLayout enums. Switchers that don’t support quadrant layout continue to support the Top, Bottom, Left, and Right layout where applicable
  • IBMDSwitcher
  • DoesVideoModeChangeRequireReconfiguration() will query whether changing to a proposed video format will cause the switcher to restart
  • Several time code methods have been added to get and set the switcher’s internal timecode, and query whether changing the time code is currently possible (attached genlock will prevent changing the time code). Note that when getting the time code, the last recorded time code is retrieved. This is the switcher’s time code at the point of the last update notification. To get the current timecode, call RequestTimeCode() and then immediately call GetTimeCode()
  • GetAreOutputsConfigurable() will query whether the switcher has fixed outputs (ie. Program, Preview, etc) or configurable outputs such as the outputs on the ATEM Constellation 8K
  • The SuperSource Cascade access methods are used to query and update the SuperSource cascade feature
  • IBMDSwitcherMixMinusOutput
  • GetAvailableAudioModes() has been added to query a Mix Minus Output’s available audio modes
  • HasMinusAudioInputId() has been added to query whether an audio input has been associated with the Mix Minus Output
  • New Types:
  • BMDSwitcherInputSuperSourceBorderEventType
  • Used in IBMDSwitcherInputSuperSourceBorderCallback to specify the context of callback notification
  • BMDSwitcherTalkbackId
  • Used by the new GetId() method in the IBMDSwitcherTalkback interface
  • BMDSwitcherSaveRecallType
  • Used by the new IBMDSwitcherSaveRecall interface. Only one option is currently available
  • Updated Types:
  • BMDSwitcherExternalPortType
  • Added new audio port types available on the ATEM Constellation 8K
  • BMDSwitcherEventType
  • Added time code and SuperSource cascade notifications types
  • BMDSwitcherFairlightAudioInputType
  • Added new audio input types available on the ATEM Constellation 8K
  • BMDSwitcherVideoMode
  • Added 8K video modes, which are available on the ATEM Constellation 8K
  • BMDSwitcherMultiViewLayout
  • Added quadrant layout specific types that can be ORed together to configure the quadrant MultiView layout available on the ATEM Constellation 8K. The original layout types are still available and are the only layout options for switchers that do not support quadrant layout
  • BMDSwitcherMultiViewEventType
  • Added safe area availability notification types for MultiView windows
  • BMDSwitcherMixMinusOutputAudioMode
  • Constant values have changed
  • BMDSwitcherMixMinusOutputEventType
  • Added available audio mode and audio input ID notification types

New in Blackmagic ATEM Switchers SDK 7.5 (Jul 12, 2018)

  • Added SimpleSwitcherExampleCSharp sample:
  • The Windows C# console app shown during the “Introduction to ATEM Switcher SDK” sessions at NAB2018 Developer Support booth.
  • SwitcherMediaPool sample (Windows and macOS):
  • Added support for 2160p50 and 2160p59.94 video standards.

New in Blackmagic ATEM Switchers SDK 7.4 (Apr 10, 2018)

  • This SDK provides developer support for ATEM 7.4 that allows updating of hardware control and software interfaces for ATEM production switchers.

New in Blackmagic ATEM Switchers SDK 7.3 (Feb 15, 2018)

  • New Interfaces:
  • IBMDSwitcherKeyAdvancedChromaParameters. This interface is obtained from IBMDSwitcherKey::QueryInterface. It is used for managing the settings of Advanced Chroma key.
  • IBMDSwitcherKeyAdvancedChromaParametersCallback. Callback interface for receiving Advanced Chroma key notifications.
  • Updated Interfaces:
  • IBMDSwitcherKey. Added DoesSupportAdvancedChroma method.
  • New Types:
  • BMDSwitcherKeyAdvancedChromaParametersEventType. Used in IBMDSwitcherKeyAdvancedChromaParametersCallback to specify the context of callback notification.
  • Updated Types:
  • BMDSwitcherInputAvailability. Added bmdSwitcherInputAvailabilityMixEffectBlock2 and bmdSwitcherInputAvailabilityMixEffectBlock3.

New in Blackmagic ATEM Switchers SDK 7.2 (Dec 7, 2017)

  • Updated Interfaces:
  • IBMDSwitcherAudioMixer:
  • Added GetAudioFollowVideoCrossfadeTransition and SetAudioFollowVideoCrossfadeTransition methods
  • Updated Types:
  • BMDSwitcherAudioMixerEventType:
  • Added bmdSwitcherAudioMixerEventTypeAudioFollowVideoCrossfadeTransitionChanged.

New in Blackmagic ATEM Switchers SDK 7.1 (May 2, 2017)

  • Updated Interfaces:
  • IBMD Switcher Camera Control:
  • Added Set String and Get String methods for handling UTF-8 string data type.
  • Renamed Set Bytes, Offset Bytes and Get Bytes methods to SetInt8s, OffsetInt8s and GetInt8s respectively.
  • IBMD Switcher Transition DVE Parameters:
  • Direction of mask parameter in Get Fill Input Availability Mask and Get Cut Input Availability Mask methods is now correctly marked as out.
  • IBMD Switcher Super Source Box:
  • Direction of the mask parameter in Get Input Availability Mask method is now correctly declared as out.
  • IBMD Switcher Input Super Source:
  • Direction of the mask parameter in Get Cut Input Availability Mask and Get Fill Input Availability Mask methods is now correctly declared as out.
  • Direction of the inverse parameter in Get Inverse method is now correctly declared as out.
  • IBMD Switcher Downstream Key:
  • Direction of the inverse parameter in Get Inverse method is now correctly declared as out.
  • Updated Types:
  • BMD Switcher Camera Control Parameter Type
  • Added bmdSwitcherCameraControlParameterTypeUTF8.

New in Blackmagic ATEM Switchers SDK 7.0 (Mar 1, 2017)

  • New Interfaces:
  • IBMDSwitcherAudioHeadphoneOutputIterator
  • This interface is instantiated from IBMDSwitcherAudioMixer::CreateIterator.
  • IBMDSwitcherAudioHeadphoneOutput
  • This interface is obtained from IBMDSwitcherAudioHeadphoneOutputIterator. It is used for controlling headphone output related settings.
  • IBMDSwitcherAudioHeadphoneOutputCallback
  • Callback interface for receiving headphone output notifications.
  • IBMDSwitcherMixMinusOutputIterator
  • This interface is instantiated from IBMDSwitcher::CreateIterator.
  • IBMDSwitcherMixMinusOutput
  • This interface is obtained from IBMDSwitcherMixMinusOutputIterator. It is used for configuring mix-minus output settings.
  • IBMDSwitcherMixMinusOutputCallback
  • Callback interface for receiving mix-minus output notifications.
  • New Types:
  • BMDSwitcherAudioHeadphoneOutputEventType
  • Used in IBMDSwitcherAudioHeadphoneOutputCallback to specify the context of callback notification.
  • BMDSwitcherMixMinusOutputAudioMode
  • Possible audio modes for a mix-minus output.
  • BMDSwitcherMixMinusOutputEventType
  • Used in IBMDSwitcherMixMinusOutputCallback to specify the context of callback notification.
  • Updated Interfaces:
  • IBMDSwitcherKeyFlyKeyFrameParameters
  • Added GetCanScaleUp method.
  • IBMDSwitcherKeyFlyParameters
  • Added GetCanScaleUp method.
  • IBMDSwitcherTalkback
  • Added InputCanMuteSDI, CurrentInputSupportsMuteSDI, GetInputMuteSDI and SetInputMuteSDI methods.
  • IBMDSwitcherTalkbackCallback
  • Added audioInputId parameter to Notify method.
  • Updated Types:
  • BMDSwitcherExternalPortType
  • Added bmdSwitcherExternalPortTypeTSJack.
  • BMDSwitcherTalkbackEventType
  • Added bmdSwitcherTalkbackEventTypeInputMuteSDIChanged and bmdSwitcherTalkbackEventTypeCurrentInputSupportsMuteSDIChanged.

New in Blackmagic ATEM Switchers SDK 6.4 Beta (Apr 17, 2015)

  • This is a beta release, and all interfaces are subject to change.
  • Updated Interfaces
  • IBMDSwitcherInput You can now use the bmdSwitcherInputPropertyIdLongName enum with SetString method to change the long name of an input.

New in Blackmagic ATEM Switchers SDK 5.0 (Apr 8, 2014)

  • General performance updates
  • Support for the new ATEM 2 M/E Production Studio 4K

New in Blackmagic ATEM Switchers SDK 4.1 Beta (Jul 10, 2013)

  • Beta release:
  • This is a beta release, and all interfaces are subject to change
  • Updated Types:
  • BMDSwitcherVideoMode
  • New 1080p modes for the ATEM Production Studio 4K
  • bmdSwitcherMixEffectBlockPropertyIdFadeToBlackRate
  • bmdSwitcherMixEffectBlockPropertyIdFadeToBlackFullyBlack
  • bmdSwitcherMixEffectBlockPropertyIdFadeToBlackInTransition
  • FTB state is more specific
  • bmdSwitcherConnectToFailureCorruptData
  • bmdSwitcherConnectToFailureStateSync
  • bmdSwitcherConnectToFailureStateSyncTimedOut
  • Connection failures are more verbose
  • bmdSwitcherExternalPortTypeXLR
  • bmdSwitcherExternalPortTypeAESEBU
  • bmdSwitcherExternalPortTypeRCA
  • Physical audio-only input sources
  • BMDSwitcherPowerStatus
  • For switchers that have redundant power, check that each power source is okay
  • Updated interfaces:
  • IBMDSwitcher
  • IBMDSwitcherCallback
  • All get/set-property-style functions have been replaced with functions for each property
  • The switcher can be asked which video modes it supports
  • IBMDSwitcherMediaPool
  • The entire MediaPool can be cleared
  • IBMDSwitcherAudioInput
  • The physical audio input type can be queried. Switchable inputs will notify changes via bmdSwitcherAudioInputEventTypeCurrentExternalPortTypeChanged
  • Removed Types:
  • bmdSwitcherInputPropertyIdSetShortName
  • Use bmdSwitcherInputPropertyIdShortName instead