Blackmagic Switchers SDK.pdf
588
0
0
Full text
(2) Table of Contents 1 Introduction 1.1 Welcome 1.2 Overview 1.3 API Design 1.3.1 Overview 1.3.2 Object Model 1.3.3 Object Interfaces 1.3.4 Reference Counting 1.3.5 Interface Stability 1.3.5.1 New Interfaces 1.3.5.2 Updated Interfaces 1.3.5.3 Deprecated Interfaces 1.3.5.4 Removed interfaces 1.4 Interface Reference 1.4.1 IUnknown Interface 1.4.1.1 IUnknown::QueryInterface method 1.4.1.2 IUnknown::AddRef method 1.4.1.3 IUnknown::Release method 1.5 Using the Switcher API in a project 1.5.1 Basic Types 1.5.2 Accessing Switcher devices 1.5.2.1 Windows 1.5.2.2 Mac OS X . 2. 24 24 24 25 25 25 25 26 26 26 27 27 27 28 28 29 30 30 31 32 33 33 33. Basic Switcher Control. 34. 2 2.1.1 2.1.2 2.2 2.2.1 2.2.2 2.2.3 2.2.4. 34 34 35 36 36 36 36 37. Basic Switcher Control Switcher Configuration and Transitions Switcher Interface Diagram Switcher Data Types Basic Switcher Data Types Switcher Event Type Switcher Power Status Switcher Video Mode. Software Developers Kit. 2.
(3) Table of Contents 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14 2.2.15 2.3 2.3.1 2.3.1.1 2.3.2 2.3.2.1 2.3.2.2 2.3.2.3 2.3.2.4 2.3.2.5 2.3.2.6 2.3.2.7 2.3.2.8 2.3.2.9 2.3.2.10 2.3.3 2.3.3.1 2.3.4 2.3.4.1 2.3.4.2 2.3.5 2.3.5.1 2.3.5.2 2.3.5.3 2.3.5.4. Switcher Down Converter Modes Switcher Input Properties Switcher External Port Types Switcher Port Types Switcher Input Availability Switcher Mix Effect Block Properties Switcher Connection Errors Switcher MultiView Layouts Switcher Color Events Switcher Aux Events Switcher MultiView Events Interface Reference IBMDSwitcherDiscovery Interface IBMDSwitcherDiscovery::ConnectTo method IBMDSwitcher Interface IBMDSwitcher::GetProductName method IBMDSwitcher::GetVideoMode method IBMDSwitcher::SetVideoMode method IBMDSwitcher::GetDownConverterMode method IBMDSwitcher::SetDownConverterMode method IBMDSwitcher::GetPowerStatus method IBMDSwitcher::DoesSupportVideoMode method IBMDSwitcher::CreateIterator method IBMDSwitcher::AddCallback method IBMDSwitcher::RemoveCallback method IBMDSwitcherCallback Interface IBMDSwitcherCallback::Notify method IBMDSwitcherInputIterator Interface IBMDSwitcherInputIterator::Next method IBMDSwitcherInputIterator::GetById method IBMDSwitcherInput Interface IBMDSwitcherInput::AddCallback method IBMDSwitcherInput::RemoveCallback method IBMDSwitcherInput::GetInputId method IBMDSwitcherInput::GetFlag method. 38 38 39 39 40 40 41 41 41 42 42 43 43 44 45 46 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 62 63. Software Developers Kit. 3.
(4) Table of Contents 2.3.5.5 2.3.5.6 2.3.5.7 2.3.5.8 2.3.5.9 2.3.5.10 2.3.5.11 2.3.6 2.3.6.1 2.3.7 2.3.7.1 2.3.8 2.3.8.1 2.3.8.2 2.3.8.3 2.3.8.4 2.3.8.5 2.3.8.6 2.3.8.7 2.3.8.8 2.3.8.9 2.3.8.10 2.3.8.11 2.3.8.12 2.3.8.13 2.3.8.14 2.3.9 2.3.9.1 2.3.10 2.3.10.1 2.3.10.2 2.3.10.3 2.3.10.4 2.3.10.5 2.3.10.6. IBMDSwitcherInput::GetInt method IBMDSwitcherInput::GetFloat method IBMDSwitcherInput::GetString method IBMDSwitcherInput::SetFlag method IBMDSwitcherInput::SetInt method IBMDSwitcherInput::SetFloat method IBMDSwitcherInput::SetString method IBMDSwitcherInputCallback Interface IBMDSwitcherInputCallback::PropertyChanged method IBMDSwitcherMixEffectBlockIterator Interface IBMDSwitcherMixEffectBlockIterator::Next method IBMDSwitcherMixEffectBlock Interface IBMDSwitcherMixEffectBlock::CreateIterator method IBMDSwitcherMixEffectBlock::AddCallback method IBMDSwitcherMixEffectBlock::RemoveCallback method IBMDSwitcherMixEffectBlock::GetFlag method IBMDSwitcherMixEffectBlock::GetInt method IBMDSwitcherMixEffectBlock::GetFloat method IBMDSwitcherMixEffectBlock::GetString method IBMDSwitcherMixEffectBlock::SetFlag method IBMDSwitcherMixEffectBlock::SetInt method IBMDSwitcherMixEffectBlock::SetFloat method IBMDSwitcherMixEffectBlock::SetString method IBMDSwitcherMixEffectBlock::PerformAutoTransition method IBMDSwitcherMixEffectBlock::PerformCut method IBMDSwitcherMixEffectBlock::PerformFadeToBlack method IBMDSwitcherMixEffectBlockCallback Interface IBMDSwitcherMixEffectBlockCallback::PropertyChanged method IBMDSwitcherInputColor Interface IBMDSwitcherInputColor::GetHue method IBMDSwitcherInputColor::SetHue method IBMDSwitcherInputColor::GetSaturation method IBMDSwitcherInputColor::SetSaturation method IBMDSwitcherInputColor::GetLuma method IBMDSwitcherInputColor::SetLuma method. 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 88 89 90 91 92 93 93 94 94 95. Software Developers Kit. 4.
(5) Table of Contents 2.3.10.7 2.3.10.8 2.3.11 2.3.11.1 2.3.12 2.3.12.1 2.3.12.2 2.3.12.3 2.3.12.4 2.3.12.5 2.3.13 2.3.13.1 2.3.14 2.3.14.1 2.3.15 2.3.15.1 2.3.15.2 2.3.15.3 2.3.15.4 2.3.15.5 2.3.15.6 2.3.15.7 2.3.15.8 2.3.15.9 2.3.16 2.3.16.1. 3. IBMDSwitcherInputColor::AddCallback method IBMDSwitcherInputColor::RemoveCallback method IBMDSwitcherInputColorCallback Interface IBMDSwitcherInputColorCallback::Notify method IBMDSwitcherInputAux Interface IBMDSwitcherInputAux::GetInputSource method IBMDSwitcherInputAux::SetInputSource method IBMDSwitcherInputAux::GetInputAvailabilityMask method IBMDSwitcherInputAux::AddCallback method IBMDSwitcherInputAux::RemoveCallback method IBMDSwitcherInputAuxCallback Interface IBMDSwitcherInputAuxCallback::Notify method IBMDSwitcherMultiViewIterator Interface IBMDSwitcherMultiViewIterator::Next method IBMDSwitcherMultiView Interface IBMDSwitcherMultiView::GetLayout method IBMDSwitcherMultiView::SetLayout method IBMDSwitcherMultiView::GetWindowInput method IBMDSwitcherMultiView::SetWindowInput method IBMDSwitcherMultiView::GetWindowCount method IBMDSwitcherMultiView::GetInputAvailabilityMask method IBMDSwitcherMultiView::CanRouteInputs method IBMDSwitcherMultiView::AddCallback method IBMDSwitcherMultiView::RemoveCallback method IBMDSwitcherMultiViewCallback Interface IBMDSwitcherMultiViewCallback::Notify method. Advanced Transitions 3 3.1 3.1.1 3.1.2 3.1.3 3.1.4. Advanced Transitions Data Types Mix Parameters Event Type Dip Parameters Event Type Wipe Parameters Event Type DVE Parameters Event Type. 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121. 122 122 122 122 122 122 123. Software Developers Kit. 5.
(6) Table of Contents 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.1.10 3.2 3.2.1 3.2.1.1 3.2.1.2 3.2.1.3 3.2.1.4 3.2.2 3.2.2.1 3.2.3 3.2.3.1 3.2.3.2 3.2.3.3 3.2.3.4 3.2.3.5 3.2.3.6 3.2.4 3.2.4.1 3.2.5 3.2.5.1 3.2.6 3.2.6.1 3.2.6.2 3.2.6.3 3.2.6.4 3.2.6.5 3.2.6.6 3.2.6.7 3.2.6.8 3.2.6.9. Stinger Parameters Event Type Transition Parameters Event Type Transition Style Transition Selection DVE Transition Style Stinger Transition Source Interface Reference IBMDSwitcherTransitionMixParameters Interface IBMDSwitcherTransitionMixParameters::GetRate method IBMDSwitcherTransitionMixParameters::SetRate method IBMDSwitcherTransitionMixParameters::AddCallback method IBMDSwitcherTransitionMixParameters::RemoveCallback method IBMDSwitcherTransitionMixParametersCallback Interface IBMDSwitcherTransitionMixParametersCallback::Notify method IBMDSwitcherTransitionDipParameters Interface IBMDSwitcherTransitionDipParameters::GetRate method IBMDSwitcherTransitionDipParameters::SetRate method IBMDSwitcherTransitionDipParameters::GetInputDip method IBMDSwitcherTransitionDipParameters::SetInputDip method IBMDSwitcherTransitionDipParameters::AddCallback method IBMDSwitcherTransitionDipParameters::RemoveCallback method IBMDSwitcherTransitionDipParametersCallback Interface IBMDSwitcherTransitionDipParametersCallback::Notify method IBMDSwitcherTransitionWipeParametersCallback Interface IBMDSwitcherTransitionWipeParametersCallback::Notify method IBMDSwitcherTransitionWipeParameters Interface IBMDSwitcherTransitionWipeParameters::GetRate method IBMDSwitcherTransitionWipeParameters::SetRate method IBMDSwitcherTransitionWipeParameters::GetPattern method IBMDSwitcherTransitionWipeParameters::SetPattern method IBMDSwitcherTransitionWipeParameters::GetBorderSize method IBMDSwitcherTransitionWipeParameters::SetBorderSize method IBMDSwitcherTransitionWipeParameters::GetInputBorder method IBMDSwitcherTransitionWipeParameters::SetInputBorder method IBMDSwitcherTransitionWipeParameters::GetSymmetry method . 124 124 125 125 126 127 128 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 148 149 150 151 152 152 153 154 155. Software Developers Kit. 6.
(7) Table of Contents 3.2.6.10 3.2.6.11 3.2.6.12 3.2.6.13 3.2.6.14 3.2.6.15 3.2.6.16 3.2.6.17 3.2.6.18 3.2.6.19 3.2.6.20 3.2.6.21 3.2.6.22 3.2.7 3.2.7.1 3.2.7.2 3.2.7.3 3.2.7.4 3.2.7.5 3.2.7.6 3.2.7.7 3.2.7.8 3.2.7.9 3.2.7.10 3.2.7.11 3.2.7.12 3.2.7.13 3.2.7.14 3.2.7.15 3.2.7.16 3.2.7.17 3.2.7.18 3.2.7.19 3.2.7.20 3.2.7.21. IBMDSwitcherTransitionWipeParameters::SetSymmetry method IBMDSwitcherTransitionWipeParameters::GetSoftness method IBMDSwitcherTransitionWipeParameters::SetSoftness method IBMDSwitcherTransitionWipeParameters::GetHorizontalOffset method IBMDSwitcherTransitionWipeParameters::SetHorizontalOffset method IBMDSwitcherTransitionWipeParameters::GetVerticalOffset method IBMDSwitcherTransitionWipeParameters::SetVerticalOffset method IBMDSwitcherTransitionWipeParameters::GetReverse method IBMDSwitcherTransitionWipeParameters::SetReverse method IBMDSwitcherTransitionWipeParameters::GetFlipFlop method IBMDSwitcherTransitionWipeParameters::SetFlipFlop method IBMDSwitcherTransitionWipeParameters::AddCallback method IBMDSwitcherTransitionWipeParameters::RemoveCallback method IBMDSwitcherTransitionDVEParameters Interface IBMDSwitcherTransitionDVEParameters::GetRate method IBMDSwitcherTransitionDVEParameters::SetRate method IBMDSwitcherTransitionDVEParameters::GetLogoRate method IBMDSwitcherTransitionDVEParameters::SetLogoRate method IBMDSwitcherTransitionDVEParameters::GetReverse method IBMDSwitcherTransitionDVEParameters::SetReverse method IBMDSwitcherTransitionDVEParameters::GetFlipFlop method IBMDSwitcherTransitionDVEParameters::SetFlipFlop method IBMDSwitcherTransitionDVEParameters::GetStyle method IBMDSwitcherTransitionDVEParameters::SetStyle method IBMDSwitcherTransitionDVEParameters::GetInputFill method IBMDSwitcherTransitionDVEParameters::SetInputFill method IBMDSwitcherTransitionDVEParameters::GetInputCut method IBMDSwitcherTransitionDVEParameters::SetInputCut method IBMDSwitcherTransitionDVEParameters::GetFillInputAvailabilityMask method IBMDSwitcherTransitionDVEParameters::GetCutInputAvailabilityMask method IBMDSwitcherTransitionDVEParameters::GetEnableKey method IBMDSwitcherTransitionDVEParameters::SetEnableKey method IBMDSwitcherTransitionDVEParameters::GetPreMultiplied method IBMDSwitcherTransitionDVEParameters::SetPreMultiplied method IBMDSwitcherTransitionDVEParameters::GetClip method. 155 156 156 157 157 158 158 159 159 160 160 161 162 163 165 166 167 168 169 169 170 170 171 172 173 174 175 176 177 178 179 179 180 180 181. Software Developers Kit. 7.
(8) Table of Contents 3.2.7.22 3.2.7.23 3.2.7.24 3.2.7.25 3.2.7.26 3.2.7.27 3.2.7.28 3.2.8 3.2.8.1 3.2.9 3.2.9.1 3.2.9.2 3.2.9.3 3.2.9.4 3.2.9.5 3.2.9.6 3.2.9.7 3.2.9.8 3.2.9.9 3.2.9.10 3.2.9.11 3.2.9.12 3.2.9.13 3.2.9.14 3.2.9.15 3.2.9.16 3.2.9.17 3.2.9.18 3.2.9.19 3.2.9.20 3.2.10 3.2.10.1 3.2.11 3.2.11.1 3.2.11.2. IBMDSwitcherTransitionDVEParameters::SetClip method IBMDSwitcherTransitionDVEParameters::GetGain method IBMDSwitcherTransitionDVEParameters::SetGain method IBMDSwitcherTransitionDVEParameters::GetInverse method IBMDSwitcherTransitionDVEParameters::SetInverse method IBMDSwitcherTransitionDVEParameters::AddCallback method IBMDSwitcherTransitionDVEParameters::RemoveCallback method IBMDSwitcherTransitionDVEParametersCallback Interface IBMDSwitcherTransitionDVEParametersCallback::Notify method IBMDSwitcherTransitionStingerParameters Interface IBMDSwitcherTransitionStingerParameters::GetSource method IBMDSwitcherTransitionStingerParameters::SetSource method IBMDSwitcherTransitionStingerParameters::GetPreMultiplied method IBMDSwitcherTransitionStingerParameters::SetPreMultiplied method IBMDSwitcherTransitionStingerParameters::GetClip method IBMDSwitcherTransitionStingerParameters::SetClip method IBMDSwitcherTransitionStingerParameters::GetGain method IBMDSwitcherTransitionStingerParameters::SetGain method IBMDSwitcherTransitionStingerParameters::GetInverse method IBMDSwitcherTransitionStingerParameters::SetInverse method IBMDSwitcherTransitionStingerParameters::GetPreroll method IBMDSwitcherTransitionStingerParameters::SetPreroll method IBMDSwitcherTransitionStingerParameters::GetClipDuration method IBMDSwitcherTransitionStingerParameters::SetClipDuration method IBMDSwitcherTransitionStingerParameters::GetTriggerPoint method IBMDSwitcherTransitionStingerParameters::SetTriggerPoint method IBMDSwitcherTransitionStingerParameters::GetMixRate method IBMDSwitcherTransitionStingerParameters::SetMixRate method IBMDSwitcherTransitionStingerParameters::AddCallback method IBMDSwitcherTransitionStingerParameters::RemoveCallback method IBMDSwitcherTransitionStingerParametersCallback Interface IBMDSwitcherTransitionStingerParametersCallback::Notify method IBMDSwitcherTransitionParameters Interface IBMDSwitcherTransitionParameters::GetTransitionStyle method IBMDSwitcherTransitionParameters::GetNextTransitionStyle method. 181 182 182 183 183 184 185 186 187 188 190 191 192 192 193 193 194 194 195 195 196 196 197 197 198 198 199 199 200 201 202 203 204 205 205. Software Developers Kit. 8.
(9) Table of Contents 3.2.11.3 3.2.11.4 3.2.11.5 3.2.11.6 3.2.11.7 3.2.11.8 3.2.12 3.2.12.1. 4. IBMDSwitcherTransitionParameters::SetNextTransitionStyle method IBMDSwitcherTransitionParameters::GetTransitionSelection method IBMDSwitcherTransitionParameters::SetNextTransitionSelection method IBMDSwitcherTransitionParameters::GetNextTransitionSelection method IBMDSwitcherTransitionParameters::AddCallback method IBMDSwitcherTransitionParameters::RemoveCallback method IBMDSwitcherTransitionParametersCallback Interface IBMDSwitcherTransitionParametersCallback::Notify method. Switcher Media 4 4.1.1 4.1.2 4.2 4.2.1 4.2.2 4.2.3 4.3 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.4 4.4.1 4.5 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.5.6 4.5.7 4.5.8. Switcher Media Uploading a Still or Clip Downloading a Still or Clip Media Data Types Switcher Pixel Format Media Player Source Type Media Pool Event Type IBMDSwitcherMediaPlayerCallback Interface IBMDSwitcherMediaPlayerCallback::SourceChanged method IBMDSwitcherMediaPlayerCallback::PlayingChanged method IBMDSwitcherMediaPlayerCallback::LoopChanged method IBMDSwitcherMediaPlayerCallback::AtBeginningChanged method IBMDSwitcherMediaPlayerCallback::ClipFrameChanged method IBMDSwitcherMediaPlayerIterator Interface IBMDSwitcherMediaPlayerIterator::Next method IBMDSwitcherMediaPlayer Interface IBMDSwitcherMediaPlayer::GetSource method IBMDSwitcherMediaPlayer::SetSource method IBMDSwitcherMediaPlayer::GetPlaying method IBMDSwitcherMediaPlayer::SetPlaying method IBMDSwitcherMediaPlayer::GetLoop method IBMDSwitcherMediaPlayer::SetLoop method IBMDSwitcherMediaPlayer::GetAtBeginning method IBMDSwitcherMediaPlayer::SetAtBeginning method. 206 207 208 209 210 211 212 213. 214 214 214 215 216 216 216 216 217 218 218 219 219 220 221 222 223 224 225 226 226 227 227 228 229. Software Developers Kit. 9.
(10) Table of Contents 4.5.9 4.5.10 4.5.11 4.5.12 4.6 4.6.1 4.6.2 4.6.3 4.6.4 4.6.5 4.7 4.7.1 4.7.2 4.8 4.8.1 4.9 4.9.1 4.10 4.10.1 4.10.2 4.10.3 4.10.4 4.10.5 4.10.6 4.10.7 4.10.8 4.10.9 4.10.10 4.10.11 4.10.12 4.10.13 4.10.14 4.11 4.11.1 4.12. IBMDSwitcherMediaPlayer::GetClipFrame method IBMDSwitcherMediaPlayer::SetClipFrame method IBMDSwitcherMediaPlayer::AddCallback method IBMDSwitcherMediaPlayer::RemoveCallback method IBMDSwitcherFrame Interface IBMDSwitcherFrame::GetWidth method IBMDSwitcherFrame::GetHeight method IBMDSwitcherFrame::GetRowBytes method IBMDSwitcherFrame::GetPixelFormat method IBMDSwitcherFrame::GetBytes method IBMDSwitcherAudio Interface IBMDSwitcherAudio::GetSize method IBMDSwitcherAudio::GetBytes method IBMDSwitcherLockCallback Interface IBMDSwitcherLockCallback::Obtained method IBMDSwitcherStillsCallback Interface IBMDSwitcherStillsCallback::Notify method IBMDSwitcherStills Interface IBMDSwitcherStills::GetCount method IBMDSwitcherStills::IsValid method IBMDSwitcherStills::GetName method IBMDSwitcherStills::SetName method IBMDSwitcherStills::GetHash method IBMDSwitcherStills::SetInvalid method IBMDSwitcherStills::Lock method IBMDSwitcherStills::Unlock method IBMDSwitcherStills::Upload method IBMDSwitcherStills::Download method IBMDSwitcherStills::CancelTransfer method IBMDSwitcherStills::GetProgress method IBMDSwitcherStills::AddCallback method IBMDSwitcherStills::RemoveCallback method IBMDSwitcherClipCallback Interface IBMDSwitcherClipCallback::Notify method IBMDSwitcherClip Interface . 229 230 231 232 233 234 234 235 235 236 237 238 238 239 240 241 242 243 244 244 245 246 247 248 249 250 251 252 253 253 254 255 256 257 259. Software Developers Kit. 10.
(11) Table of Contents 4.12.1 4.12.2 4.12.3 4.12.4 4.12.5 4.12.6 4.12.7 4.12.8 4.12.9 4.12.10 4.12.11 4.12.12 4.12.13 4.12.14 4.12.15 4.12.16 4.12.17 4.12.18 4.12.19 4.12.20 4.12.21 4.12.22 4.12.23 4.12.24 4.12.25 4.13 4.13.1 4.13.2 4.14 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6. IBMDSwitcherClip::GetIndex method IBMDSwitcherClip::IsValid method IBMDSwitcherClip::GetName method IBMDSwitcherClip::SetName method IBMDSwitcherClip::SetValid method IBMDSwitcherClip::SetInvalid method IBMDSwitcherClip::GetFrameCount method IBMDSwitcherClip::GetMaxFrameCount method IBMDSwitcherClip::IsFrameValid method IBMDSwitcherClip::GetFrameHash method IBMDSwitcherClip::IsAudioValid method IBMDSwitcherClip::GetAudioName method IBMDSwitcherClip::SetAudioName method IBMDSwitcherClip::GetAudioHash method IBMDSwitcherClip::SetAudioInvalid method IBMDSwitcherClip::Lock method IBMDSwitcherClip::Unlock method IBMDSwitcherClip::UploadFrame method IBMDSwitcherClip::DownloadFrame method IBMDSwitcherClip::UploadAudio method IBMDSwitcherClip::DownloadAudio method IBMDSwitcherClip::CancelTransfer method IBMDSwitcherClip::GetProgress method IBMDSwitcherClip::AddCallback method IBMDSwitcherClip::RemoveCallback method IBMDSwitcherMediaPoolCallback Interface IBMDSwitcherMediaPoolCallback::ClipFrameMaxCountsChanged method IBMDSwitcherMediaPoolCallback::FrameTotalForClipsChanged method IBMDSwitcherMediaPool Interface IBMDSwitcherMediaPool::GetStills method IBMDSwitcherMediaPool::GetClip method IBMDSwitcherMediaPool::GetClipCount method IBMDSwitcherMediaPool::CreateFrame method IBMDSwitcherMediaPool::CreateAudio method IBMDSwitcherMediaPool::GetFrameTotalForClips method. 261 261 262 263 264 265 266 267 268 269 270 271 272 273 273 274 275 276 277 278 279 280 280 281 282 283 284 284 285 286 287 288 289 290 291. Software Developers Kit. 11.
(12) Table of Contents 4.14.7 4.14.8 4.14.9 4.14.10 4.14.11. IBMDSwitcherMediaPool::GetClipMaxFrameCounts method IBMDSwitcherMediaPool::Clear method IBMDSwitcherMediaPool::SetClipMaxFrameCounts method IBMDSwitcherMediaPool::AddCallback method IBMDSwitcherMediaPool::RemoveCallback method. 5 Keyers 5 Keyers 5.1 Key Data Types 5.1.1 Key Type 5.1.2 Fly Key Frames 5.1.3 Border Bevel Options 5.1.4 Key Event Type 5.1.5 Luminance Key Parameters Event Type 5.1.6 Chroma Key Parameters Event Type 5.1.7 Pattern Key Parameters Event Type 5.1.8 DVE Key Parameters Event Type 5.1.9 Fly Key Parameters Event Type 5.1.10 Downstream Key Event Type 5.2 Interface Reference 5.2.1 IBMDSwitcherKeyIterator Interface 5.2.1.1 IBMDSwitcherMediaPool::AddCallback method 5.2.2 IBMDSwitcherKey Interface 5.2.2.1 IBMDSwitcherKey::GetType method 5.2.2.2 IBMDSwitcherKey::SetType method 5.2.2.3 IBMDSwitcherKey::GetInputCut method 5.2.2.4 IBMDSwitcherKey::SetInputCut method 5.2.2.5 IBMDSwitcherKey::GetInputFill method 5.2.2.6 IBMDSwitcherKey::SetInputFill method 5.2.2.7 IBMDSwitcherKey::GetFillInputAvailabilityMask method 5.2.2.8 IBMDSwitcherKey::GetCutInputAvailabilityMask method 5.2.2.9 IBMDSwitcherKey::GetOnAir method 5.2.2.10 IBMDSwitcherKey::SetOnAir method 5.2.2.11 IBMDSwitcherKey::CanBeDVEKey method. 292 293 294 295 296. 297 297 297 297 297 298 298 299 299 299 300 301 302 303 303 304 305 307 308 309 310 311 312 313 314 315 315 316. Software Developers Kit. 12.
(13) Table of Contents 5.2.2.12 5.2.2.13 5.2.2.14 5.2.2.15 5.2.2.16 5.2.2.17 5.2.2.18 5.2.2.19 5.2.2.20 5.2.2.21 5.2.2.22 5.2.2.23 5.2.2.24 5.2.2.25 5.2.3 5.2.3.1 5.2.4 5.2.4.1 5.2.4.2 5.2.4.3 5.2.4.4 5.2.4.5 5.2.4.6 5.2.4.7 5.2.4.8 5.2.4.9 5.2.4.10 5.2.5 5.2.5.1 5.2.6 5.2.6.1 5.2.6.2 5.2.6.3 5.2.6.4 5.2.6.5. IBMDSwitcherKey::GetMasked method IBMDSwitcherKey::SetMasked method IBMDSwitcherKey::GetMaskTop method IBMDSwitcherKey::SetMaskTop method IBMDSwitcherKey::GetMaskBottom method IBMDSwitcherKey::SetMaskBottom method IBMDSwitcherKey::GetMaskLeft method IBMDSwitcherKey::SetMaskLeft method IBMDSwitcherKey::GetMaskRight method IBMDSwitcherKey::SetMaskRight method IBMDSwitcherKey::ResetMask method IBMDSwitcherKey::GetTransitionSelectionMask method IBMDSwitcherKey::AddCallback method IBMDSwitcherKey::RemoveCallback method IBMDSwitcherKeyCallback Interface IBMDSwitcherKeyCallback::Notify method IBMDSwitcherKeyLumaParameters Interface IBMDSwitcherKeyLumaParameters::GetPreMultiplied method IBMDSwitcherKeyLumaParameters::SetPreMultiplied method IBMDSwitcherKeyLumaParameters::GetClip method IBMDSwitcherKeyLumaParameters::SetClip method IBMDSwitcherKeyLumaParameters::GetGain method IBMDSwitcherKeyLumaParameters::SetGain method IBMDSwitcherKeyLumaParameters::GetInverse method IBMDSwitcherKeyLumaParameters::SetInverse method IBMDSwitcherKeyLumaParameters::AddCallback method IBMDSwitcherKeyLumaParameters::RemoveCallback method IBMDSwitcherKeyLumaParametersCallback Interface IBMDSwitcherKeyLumaParametersCallback::Notify method IBMDSwitcherKeyChromaParameters Interface IBMDSwitcherKeyChromaParameters::GetHue method IBMDSwitcherKeyChromaParameters::SetHue method IBMDSwitcherKeyChromaParameters::GetGain method IBMDSwitcherKeyChromaParameters::SetGain method IBMDSwitcherKeyChromaParameters::GetYSuppress method. 317 317 318 318 319 319 320 320 321 321 322 322 323 324 325 326 327 328 329 330 330 331 331 332 332 333 334 335 336 337 338 338 339 339 340. Software Developers Kit. 13.
(14) Table of Contents 5.2.6.6 5.2.6.7 5.2.6.8 5.2.6.9 5.2.6.10 5.2.6.11 5.2.6.12 5.2.7 5.2.7.1 5.2.8 5.2.8.1 5.2.8.2 5.2.8.3 5.2.8.4 5.2.8.5 5.2.8.6 5.2.8.7 5.2.8.8 5.2.8.9 5.2.8.10 5.2.8.11 5.2.8.12 5.2.8.13 5.2.8.14 5.2.8.15 5.2.8.16 5.2.9 5.2.9.1 5.2.10 5.2.10.1 5.2.10.2 5.2.10.3 5.2.10.4 5.2.10.5 5.2.10.6. IBMDSwitcherKeyChromaParameters::SetYSuppress method IBMDSwitcherKeyChromaParameters::GetLift method IBMDSwitcherKeyChromaParameters::SetLift method IBMDSwitcherKeyChromaParameters::GetNarrow method IBMDSwitcherKeyChromaParameters::SetNarrow method IBMDSwitcherKeyChromaParameters::AddCallback method IBMDSwitcherKeyChromaParameters::RemoveCallback method IBMDSwitcherKeyChromaParametersCallback Interface IBMDSwitcherKeyChromaParametersCallback::Notify method IBMDSwitcherKeyPatternParameters Interface IBMDSwitcherKeyPatternParameters::GetPattern method IBMDSwitcherKeyPatternParameters::SetPattern method IBMDSwitcherKeyPatternParameters::GetSize method IBMDSwitcherKeyPatternParameters::SetSize method IBMDSwitcherKeyPatternParameters::GetSymmetry method IBMDSwitcherKeyPatternParameters::SetSymmetry method IBMDSwitcherKeyPatternParameters::GetSoftness method IBMDSwitcherKeyPatternParameters::SetSoftness method IBMDSwitcherKeyPatternParameters::GetHorizontalOffset method IBMDSwitcherKeyPatternParameters::SetHorizontalOffset method IBMDSwitcherKeyPatternParameters::GetVerticalOffset method IBMDSwitcherKeyPatternParameters::SetVerticalOffset method IBMDSwitcherKeyPatternParameters::GetInverse method IBMDSwitcherKeyPatternParameters::SetInverse method IBMDSwitcherKeyPatternParameters::AddCallback method IBMDSwitcherKeyPatternParameters::RemoveCallback method IBMDSwitcherKeyPatternParametersCallback Interface IBMDSwitcherKeyPatternParametersCallback::Notify method IBMDSwitcherKeyDVEParameters Interface IBMDSwitcherKeyDVEParameters::GetShadow method IBMDSwitcherKeyDVEParameters::SetShadow method IBMDSwitcherKeyDVEParameters::GetLightSourceDirection method IBMDSwitcherKeyDVEParameters::SetLightSourceDirection method IBMDSwitcherKeyDVEParameters::GetLightSourceAltitude method IBMDSwitcherKeyDVEParameters::SetLightSourceAltitude method. 340 341 341 342 342 343 344 345 346 347 349 350 351 351 352 352 353 353 354 354 355 355 356 356 357 358 359 360 361 364 364 365 365 366 366. Software Developers Kit. 14.
(15) Table of Contents 5.2.10.7 5.2.10.8 5.2.10.9 5.2.10.10 5.2.10.11 5.2.10.12 5.2.10.13 5.2.10.14 5.2.10.15 5.2.10.16 5.2.10.17 5.2.10.18 5.2.10.19 5.2.10.20 5.2.10.21 5.2.10.22 5.2.10.23 5.2.10.24 5.2.10.25 5.2.10.26 5.2.10.27 5.2.10.28 5.2.10.29 5.2.10.30 5.2.10.31 5.2.10.32 5.2.10.33 5.2.10.34 5.2.10.35 5.2.10.36 5.2.10.37 5.2.10.38 5.2.10.39 5.2.10.40 5.2.10.41. IBMDSwitcherKeyDVEParameters::GetBorderEnabled method IBMDSwitcherKeyDVEParameters::SetBorderEnabled method IBMDSwitcherKeyDVEParameters::GetBorderBevel method IBMDSwitcherKeyDVEParameters::SetBorderBevel method IBMDSwitcherKeyDVEParameters::GetBorderWidthIn method IBMDSwitcherKeyDVEParameters::SetBorderWidthIn method IBMDSwitcherKeyDVEParameters::GetBorderWidthOut method IBMDSwitcherKeyDVEParameters::SetBorderWidthOut method IBMDSwitcherKeyDVEParameters::GetBorderSoftnessIn method IBMDSwitcherKeyDVEParameters::SetBorderSoftnessIn method IBMDSwitcherKeyDVEParameters::GetBorderSoftnessOut method IBMDSwitcherKeyDVEParameters::SetBorderSoftnessOut method IBMDSwitcherKeyDVEParameters::GetBorderBevelSoftness method IBMDSwitcherKeyDVEParameters::SetBorderBevelSoftness method IBMDSwitcherKeyDVEParameters::GetBorderBevelPosition method IBMDSwitcherKeyDVEParameters::SetBorderBevelPosition method IBMDSwitcherKeyDVEParameters::GetBorderOpacity method IBMDSwitcherKeyDVEParameters::SetBorderOpacity method IBMDSwitcherKeyDVEParameters::GetBorderHue method IBMDSwitcherKeyDVEParameters::SetBorderHue method IBMDSwitcherKeyDVEParameters::GetBorderSaturation method IBMDSwitcherKeyDVEParameters::SetBorderSaturation method IBMDSwitcherKeyDVEParameters::GetBorderLuma method IBMDSwitcherKeyDVEParameters::SetBorderLuma method IBMDSwitcherKeyDVEParameters::GetMasked method IBMDSwitcherKeyDVEParameters::SetMasked method IBMDSwitcherKeyDVEParameters::GetMaskTop method IBMDSwitcherKeyDVEParameters::SetMaskTop method IBMDSwitcherKeyDVEParameters::GetMaskBottom method IBMDSwitcherKeyDVEParameters::SetMaskBottom method IBMDSwitcherKeyDVEParameters::GetMaskLeft method IBMDSwitcherKeyDVEParameters::SetMaskLeft method IBMDSwitcherKeyDVEParameters::GetMaskRight method IBMDSwitcherKeyDVEParameters::SetMaskRight method IBMDSwitcherKeyDVEParameters::ResetMask method. 367 367 368 369 370 370 371 371 372 372 373 373 374 374 375 375 376 376 377 377 378 378 379 379 380 380 381 381 382 382 383 383 384 384 385. Software Developers Kit. 15.
(16) Table of Contents 5.2.10.42 5.2.10.43 5.2.11 5.2.11.1 5.2.12 5.2.12.1 5.2.12.2 5.2.12.3 5.2.12.4 5.2.12.5 5.2.12.6 5.2.12.7 5.2.12.8 5.2.12.9 5.2.12.10 5.2.12.11 5.2.12.12 5.2.12.13 5.2.12.14 5.2.12.15 5.2.12.16 5.2.12.17 5.2.12.18 5.2.12.19 5.2.12.20 5.2.12.21 5.2.12.22 5.2.12.23 5.2.12.24 5.2.12.25 5.2.12.26 5.2.13 5.2.13.1 5.2.14 5.2.14.1. IBMDSwitcherKeyDVEParameters::AddCallback method IBMDSwitcherKeyDVEParameters::RemoveCallback method IBMDSwitcherKeyDVEParametersCallback Interface IBMDSwitcherKeyDVEParametersCallback::Notify method IBMDSwitcherKeyFlyParameters Interface IBMDSwitcherKeyFlyParameters::GetFly method IBMDSwitcherKeyFlyParameters::SetFly method IBMDSwitcherKeyFlyParameters::GetCanFly method IBMDSwitcherKeyFlyParameters::GetRate method IBMDSwitcherKeyFlyParameters::SetRate method IBMDSwitcherKeyFlyParameters::GetSizeX method IBMDSwitcherKeyFlyParameters::SetSizeX method IBMDSwitcherKeyFlyParameters::GetSizeY method IBMDSwitcherKeyFlyParameters::SetSizeY method IBMDSwitcherKeyFlyParameters::GetPositionX method IBMDSwitcherKeyFlyParameters::SetPositionX method IBMDSwitcherKeyFlyParameters::GetPositionY method IBMDSwitcherKeyFlyParameters::SetPositionY method IBMDSwitcherKeyFlyParameters::GetRotation method IBMDSwitcherKeyFlyParameters::SetRotation method IBMDSwitcherKeyFlyParameters::ResetRotation method IBMDSwitcherKeyFlyParameters::ResetDVE method IBMDSwitcherKeyFlyParameters::ResetDVEFull method IBMDSwitcherKeyFlyParameters::IsKeyFrameStored method IBMDSwitcherKeyFlyParameters::StoreAsKeyFrame method IBMDSwitcherKeyFlyParameters::RunToKeyFrame method IBMDSwitcherKeyFlyParameters::IsAtKeyFrames method IBMDSwitcherKeyFlyParameters::GetKeyFrameParameters method IBMDSwitcherKeyFlyParameters::IsRunning method IBMDSwitcherKeyFlyParameters::AddCallback method IBMDSwitcherKeyFlyParameters::RemoveCallback method IBMDSwitcherKeyFlyParametersCallback Interface IBMDSwitcherKeyFlyParametersCallback::Notify method IBMDSwitcherKeyFlyKeyFrameParameters Interface IBMDSwitcherKeyFlyKeyFrameParameters::GetSizeX method. 386 387 388 389 390 392 392 393 394 395 396 397 398 399 400 401 402 403 403 404 404 405 405 406 407 408 409 410 411 412 413 414 415 416 419. Software Developers Kit. 16.
(17) Table of Contents 5.2.14.2 5.2.14.3 5.2.14.4 5.2.14.5 5.2.14.6 5.2.14.7 5.2.14.8 5.2.14.9 5.2.14.10 5.2.14.11 5.2.14.12 5.2.14.13 5.2.14.14 5.2.14.15 5.2.14.16 5.2.14.17 5.2.14.18 5.2.14.19 5.2.14.20 5.2.14.21 5.2.14.22 5.2.14.23 5.2.14.24 5.2.14.25 5.2.14.26 5.2.14.27 5.2.14.28 5.2.14.29 5.2.14.30 5.2.14.31 5.2.14.32 5.2.14.33 5.2.14.34 5.2.14.35 5.2.14.36. IBMDSwitcherKeyFlyKeyFrameParameters::SetSizeX method IBMDSwitcherKeyFlyKeyFrameParameters::GetSizeY method IBMDSwitcherKeyFlyKeyFrameParameters::SetSizeY method IBMDSwitcherKeyFlyKeyFrameParameters::GetPositionX method IBMDSwitcherKeyFlyKeyFrameParameters::SetPositionX method IBMDSwitcherKeyFlyKeyFrameParameters::GetPositionY method IBMDSwitcherKeyFlyKeyFrameParameters::SetPositionY method IBMDSwitcherKeyFlyKeyFrameParameters::GetRotation method IBMDSwitcherKeyFlyKeyFrameParameters::SetRotation method IBMDSwitcherKeyFlyKeyFrameParameters::GetBorderWidthOut method IBMDSwitcherKeyFlyKeyFrameParameters::SetBorderWidthOut method IBMDSwitcherKeyFlyKeyFrameParameters::GetBorderWidthIn method IBMDSwitcherKeyFlyKeyFrameParameters::SetBorderWidthIn method IBMDSwitcherKeyFlyKeyFrameParameters::GetBorderSoftnessOut method IBMDSwitcherKeyFlyKeyFrameParameters::SetBorderSoftnessOut method IBMDSwitcherKeyFlyKeyFrameParameters::GetBorderSoftnessIn method IBMDSwitcherKeyFlyKeyFrameParameters::SetBorderSoftnessIn method IBMDSwitcherKeyFlyKeyFrameParameters::GetBorderBevelSoftness method IBMDSwitcherKeyFlyKeyFrameParameters::SetBorderBevelSoftness method IBMDSwitcherKeyFlyKeyFrameParameters::GetBorderBevelPosition method IBMDSwitcherKeyFlyKeyFrameParameters::SetBorderBevelPosition method IBMDSwitcherKeyFlyKeyFrameParameters::GetBorderOpacity method IBMDSwitcherKeyFlyKeyFrameParameters::SetBorderOpacity method IBMDSwitcherKeyFlyKeyFrameParameters::GetBorderHue method IBMDSwitcherKeyFlyKeyFrameParameters::SetBorderHue method IBMDSwitcherKeyFlyKeyFrameParameters::GetBorderSaturation method IBMDSwitcherKeyFlyKeyFrameParameters::SetBorderSaturation method IBMDSwitcherKeyFlyKeyFrameParameters::GetBorderLuma method IBMDSwitcherKeyFlyKeyFrameParameters::SetBorderLuma method IBMDSwitcherKeyFlyKeyFrameParameters::GetBorderLightSourceDirection method IBMDSwitcherKeyFlyKeyFrameParameters::SetBorderLightSourceDirection method IBMDSwitcherKeyFlyKeyFrameParameters::GetBorderLightSourceAltitude method IBMDSwitcherKeyFlyKeyFrameParameters::SetBorderLightSourceAltitude method IBMDSwitcherKeyFlyKeyFrameParameters::GetMaskTop method IBMDSwitcherKeyFlyKeyFrameParameters::SetMaskTop method. 419 420 420 421 421 422 422 423 423 424 424 425 425 426 426 427 427 428 428 429 429 430 430 431 431 432 432 433 433 434 435 436 436 437 437. Software Developers Kit. 17.
(18) Table of Contents 5.2.14.37 5.2.14.38 5.2.14.39 5.2.14.40 5.2.14.41 5.2.14.42 5.2.14.43 5.2.14.44 5.2.15 5.2.15.1 5.2.16 5.2.16.1 5.2.17 5.2.17.1 5.2.17.2 5.2.17.3 5.2.17.4 5.2.17.5 5.2.17.6 5.2.17.7 5.2.17.8 5.2.17.9 5.2.17.10 5.2.17.11 5.2.17.12 5.2.17.13 5.2.17.14 5.2.17.15 5.2.17.16 5.2.17.17 5.2.17.18 5.2.17.19 5.2.17.20 5.2.17.21 5.2.17.22. IBMDSwitcherKeyFlyKeyFrameParameters::GetMaskBottom method IBMDSwitcherKeyFlyKeyFrameParameters::SetMaskBottom method IBMDSwitcherKeyFlyKeyFrameParameters::GetMaskLeft method IBMDSwitcherKeyFlyKeyFrameParameters::SetMaskLeft method IBMDSwitcherKeyFlyKeyFrameParameters::GetMaskRight method IBMDSwitcherKeyFlyKeyFrameParameters::SetMaskRight method IBMDSwitcherKeyFlyKeyFrameParameters::AddCallback method IBMDSwitcherKeyFlyKeyFrameParameters::RemoveCallback method IBMDSwitcherKeyFlyKeyFrameParametersCallback Interface IBMDSwitcherKeyFlyKeyFrameParametersCallback::Notify method IBMDSwitcherDownstreamKeyIterator Interface IBMDSwitcherDownstreamKeyIterator::Next method IBMDSwitcherDownstreamKey Interface IBMDSwitcherDownstreamKey::GetInputCut method IBMDSwitcherDownstreamKey::SetInputCut method IBMDSwitcherDownstreamKey::GetInputFill method IBMDSwitcherDownstreamKey::SetInputFill method IBMDSwitcherDownstreamKey::GetFillInputAvailabilityMask method IBMDSwitcherDownstreamKey::GetCutInputAvailabilityMask method IBMDSwitcherDownstreamKey::GetTie method IBMDSwitcherDownstreamKey::SetTie method IBMDSwitcherDownstreamKey::GetRate method IBMDSwitcherDownstreamKey::SetRate method IBMDSwitcherDownstreamKey::GetOnAir method IBMDSwitcherDownstreamKey::SetOnAir method IBMDSwitcherDownstreamKey::PerformAutoTransition method IBMDSwitcherDownstreamKey::IsTransitioning method IBMDSwitcherDownstreamKey::IsAutoTransitioning method IBMDSwitcherDownstreamKey::GetFramesRemaining method IBMDSwitcherDownstreamKey::GetPreMultiplied method IBMDSwitcherDownstreamKey::SetPreMultiplied method IBMDSwitcherDownstreamKey::GetClip method IBMDSwitcherDownstreamKey::SetClip method IBMDSwitcherDownstreamKey::GetGain method IBMDSwitcherDownstreamKey::SetGain method. 438 438 439 439 440 440 441 442 443 444 445 446 447 449 450 451 452 453 454 455 455 456 457 458 458 459 459 460 460 461 462 463 463 464 464. Software Developers Kit. 18.
(19) Table of Contents 5.2.17.23 5.2.17.24 5.2.17.25 5.2.17.26 5.2.17.27 5.2.17.28 5.2.17.29 5.2.17.30 5.2.17.31 5.2.17.32 5.2.17.33 5.2.17.34 5.2.17.35 5.2.17.36 5.2.17.37 5.2.18 5.2.18.1. IBMDSwitcherDownstreamKey::GetInverse method IBMDSwitcherDownstreamKey::SetInverse method IBMDSwitcherDownstreamKey::GetMasked method IBMDSwitcherDownstreamKey::SetMasked method IBMDSwitcherDownstreamKey::GetMaskTop method IBMDSwitcherDownstreamKey::SetMaskTop method IBMDSwitcherDownstreamKey::GetMaskBottom method IBMDSwitcherDownstreamKey::SetMaskBottom method IBMDSwitcherDownstreamKey::GetMaskLeft method IBMDSwitcherDownstreamKey::SetMaskLeft method IBMDSwitcherDownstreamKey::GetMaskRight method IBMDSwitcherDownstreamKey::SetMaskRight method IBMDSwitcherDownstreamKey::ResetMask method IBMDSwitcherDownstreamKey::AddCallback method IBMDSwitcherDownstreamKey::RemoveCallback method IBMDSwitcherDownstreamKeyCallback Interface IBMDSwitcherDownstreamKeyCallback::Notify . 6 SuperSource 6 SuperSource 6.1 SuperSource Data Types 6.1.1 SuperSource Box Event Type 6.1.2 SuperSource Input Event Type 6.1.3 SuperSource Art Option 6.2 Interface Reference 6.2.1 IBMDSwitcherInputSuperSource Interface 6.2.1.1 IBMDSwitcherInputSuperSource::GetInputCut method 6.2.1.2 IBMDSwitcherInputSuperSource::SetInputCut method 6.2.1.3 IBMDSwitcherInputSuperSource::GetInputFill method 6.2.1.4 IBMDSwitcherInputSuperSource::SetInputFill method 6.2.1.5 IBMDSwitcherInputSuperSource::GetFillInputAvailabilityMask method 6.2.1.6 IBMDSwitcherInputSuperSource::GetCutInputAvailabilityMask method 6.2.1.7 IBMDSwitcherInputSuperSource::GetArtOption method 6.2.1.8 IBMDSwitcherInputSuperSource::SetArtOption method. 465 465 466 466 467 467 468 468 469 469 470 470 471 472 473 474 475. 476 476 476 476 477 478 479 479 482 483 484 485 486 487 488 489. Software Developers Kit. 19.
(20) Table of Contents 6.2.1.9 6.2.1.10 6.2.1.11 6.2.1.12 6.2.1.13 6.2.1.14 6.2.1.15 6.2.1.16 6.2.1.17 6.2.1.18 6.2.1.19 6.2.1.20 6.2.1.21 6.2.1.22 6.2.1.23 6.2.1.24 6.2.1.25 6.2.1.26 6.2.1.27 6.2.1.28 6.2.1.29 6.2.1.30 6.2.1.31 6.2.1.32 6.2.1.33 6.2.1.34 6.2.1.35 6.2.1.36 6.2.1.37 6.2.1.38 6.2.1.39 6.2.1.40 6.2.1.41 6.2.1.42 6.2.1.43. IBMDSwitcherInputSuperSource::GetPreMultiplied method IBMDSwitcherInputSuperSource::SetPreMultiplied method IBMDSwitcherInputSuperSource::GetClip method IBMDSwitcherInputSuperSource::SetClip method IBMDSwitcherInputSuperSource::GetGain method IBMDSwitcherInputSuperSource::SetGain method IBMDSwitcherInputSuperSource::GetInverse method IBMDSwitcherInputSuperSource::SetInverse method IBMDSwitcherInputSuperSource::GetBorderEnabled method IBMDSwitcherInputSuperSource::SetBorderEnabled method IBMDSwitcherInputSuperSource::GetBorderBevel method IBMDSwitcherInputSuperSource::SetBorderBevel method IBMDSwitcherInputSuperSource::GetBorderWidthOut method IBMDSwitcherInputSuperSource::SetBorderWidthOut method IBMDSwitcherInputSuperSource::GetBorderWidthIn method IBMDSwitcherInputSuperSource::SetBorderWidthIn method IBMDSwitcherInputSuperSource::GetBorderSoftnessOut method IBMDSwitcherInputSuperSource::SetBorderSoftnessOut method IBMDSwitcherInputSuperSource::GetBorderSoftnessIn method IBMDSwitcherInputSuperSource::SetBorderSoftnessIn method IBMDSwitcherInputSuperSource::GetBorderBevelSoftness method IBMDSwitcherInputSuperSource::SetBorderBevelSoftness method IBMDSwitcherInputSuperSource::GetBorderBevelPosition method IBMDSwitcherInputSuperSource::SetBorderBevelPosition method IBMDSwitcherInputSuperSource::GetBorderHue method IBMDSwitcherInputSuperSource::SetBorderHue method IBMDSwitcherInputSuperSource::GetBorderSaturation method IBMDSwitcherInputSuperSource::SetBorderSaturation method IBMDSwitcherInputSuperSource::GetBorderLuma method IBMDSwitcherInputSuperSource::SetBorderLuma method IBMDSwitcherInputSuperSource::GetBorderLightSourceDirection method IBMDSwitcherInputSuperSource::SetBorderLightSourceDirection method IBMDSwitcherInputSuperSource::GetBorderLightSourceAltitude method IBMDSwitcherInputSuperSource::SetBorderLightSourceAltitude method IBMDSwitcherInputSuperSource::AddCallback method. 490 491 492 492 493 493 494 494 495 495 496 497 498 498 499 499 500 500 501 501 502 502 503 503 504 504 505 505 506 506 507 507 508 508 509. Software Developers Kit. 20.
(21) Table of Contents 6.2.1.44 6.2.2 6.2.2.1 6.2.3 6.2.3.1 6.2.4 6.2.4.1 6.2.4.2 6.2.4.3 6.2.4.4 6.2.4.5 6.2.4.6 6.2.4.7 6.2.4.8 6.2.4.9 6.2.4.10 6.2.4.11 6.2.4.12 6.2.4.13 6.2.4.14 6.2.4.15 6.2.4.16 6.2.4.17 6.2.4.18 6.2.4.19 6.2.4.20 6.2.4.21 6.2.4.22 6.2.4.23 6.2.4.24 6.2.5 6.2.5.1. IBMDSwitcherInputSuperSource::RemoveCallback method IBMDSwitcherInputSuperSourceCallback Interface IBMDSwitcherInputSuperSourceCallback::Notify method IBMDSwitcherSuperSourceBoxIterator Interface IBMDSwitcherSuperSourceBoxIterator::Next method IBMDSwitcherSuperSourceBox Interface IBMDSwitcherSuperSourceBox::GetEnabled method IBMDSwitcherSuperSourceBox::SetEnabled method IBMDSwitcherSuperSourceBox::GetInputSource method IBMDSwitcherSuperSourceBox::SetInputSource method IBMDSwitcherSuperSourceBox::GetPositionX method IBMDSwitcherSuperSourceBox::SetPositionX method IBMDSwitcherSuperSourceBox::GetPositionY method IBMDSwitcherSuperSourceBox::SetPositionY method IBMDSwitcherSuperSourceBox::GetSize method IBMDSwitcherSuperSourceBox::SetSize method IBMDSwitcherSuperSourceBox::GetCropped method IBMDSwitcherSuperSourceBox::SetCropped method IBMDSwitcherSuperSourceBox::GetCropTop method IBMDSwitcherSuperSourceBox::SetCropTop method IBMDSwitcherSuperSourceBox::GetCropBottom method IBMDSwitcherSuperSourceBox::SetCropBottom method IBMDSwitcherSuperSourceBox::GetCropLeft method IBMDSwitcherSuperSourceBox::SetCropLeft method IBMDSwitcherSuperSourceBox::GetCropRight method IBMDSwitcherSuperSourceBox::SetCropRight method IBMDSwitcherSuperSourceBox::ResetCrop method IBMDSwitcherSuperSourceBox::GetInputAvailabilityMask method IBMDSwitcherSuperSourceBox::AddCallback method IBMDSwitcherSuperSourceBox::RemoveCallback method IBMDSwitcherSuperSourceBoxCallback Interface IBMDSwitcherSuperSourceBoxCallback::Notify method . 510 511 512 513 514 515 517 518 519 520 521 521 522 522 523 523 524 524 525 525 526 526 527 527 528 528 529 530 531 532 533 534. Software Developers Kit. 21.
(22) Table of Contents 7. Audio Mixing 7 7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.1.6 7.2 7.2.1 7.2.1.1 7.2.1.2 7.2.1.3 7.2.1.4 7.2.1.5 7.2.1.6 7.2.1.7 7.2.1.8 7.2.1.9 7.2.1.10 7.2.2 7.2.2.1 7.2.2.2 7.2.3 7.2.3.1 7.2.3.2 7.2.4 7.2.4.1 7.2.4.2 7.2.4.3 7.2.4.4 7.2.4.5 7.2.4.6. Audio Mixing Audio Mixing Data Types Audio Mixer Event Type Audio Input Identifier Audio Input Type Audio Mix Option Audio Input Event Type Audio Monitor Output Event Type Interface Reference IBMDSwitcherAudioMixer Interface IBMDSwitcherAudioMixer::GetProgramOutGain method IBMDSwitcherAudioMixer::SetProgramOutGain method IBMDSwitcherAudioMixer::GetProgramOutBalance method IBMDSwitcherAudioMixer::SetProgramOutBalance method IBMDSwitcherAudioMixer::SetAllLevelNotificationsEnable method IBMDSwitcherAudioMixer::ResetProgramOutLevelNotificationPeaks method IBMDSwitcherAudioMixer::ResetAllLevelNotificationPeaks method IBMDSwitcherAudioMixer::AddCallback method IBMDSwitcherAudioMixer::RemoveCallback method IBMDSwitcherAudioMixer::CreateIterator method IBMDSwitcherAudioMixerCallback Interface IBMDSwitcherAudioMixerCallback::Notify method IBMDSwitcherAudioMixerCallback::ProgramOutLevelNotification method IBMDSwitcherAudioInputIterator Interface IBMDSwitcherAudioInputIterator::Next method IBMDSwitcherAudioInputIterator::GetById method IBMDSwitcherAudioInput Interface IBMDSwitcherAudioInput::GetType method IBMDSwitcherAudioInput::GetCurrentExternalPortType method IBMDSwitcherAudioInput::GetMixOption method IBMDSwitcherAudioInput::SetMixOption method IBMDSwitcherAudioInput::GetGain method IBMDSwitcherAudioInput::SetGain method. 535 535 535 535 535 535 535 536 536 537 537 538 538 539 539 540 541 541 542 543 544 545 546 547 549 550 551 552 553 554 555 556 557 557. Software Developers Kit. 22.
(23) Table of Contents 7.2.4.7 7.2.4.8 7.2.4.9 7.2.4.10 7.2.4.11 7.2.4.12 7.2.4.13 7.2.5 7.2.5.1 7.2.5.2 7.2.6 7.2.6.1 7.2.7 7.2.7.1 7.2.7.2 7.2.7.3 7.2.7.4 7.2.7.5 7.2.7.6 7.2.7.7 7.2.7.8 7.2.7.9 7.2.7.10 7.2.7.11 7.2.7.12 7.2.7.13 7.2.7.14 7.2.7.15 7.2.7.16 7.2.7.17 7.2.8 7.2.8.1 7.2.8.2. IBMDSwitcherAudioInput::GetBalance method IBMDSwitcherAudioInput::SetBalance method IBMDSwitcherAudioInput::IsMixedIn method IBMDSwitcherAudioInput::GetAudioInputId method IBMDSwitcherAudioInput::ResetLevelNotificationPeaks method IBMDSwitcherAudioInput::AddCallback method IBMDSwitcherAudioInput::RemoveCallback method IBMDSwitcherAudioInputCallback Interface IBMDSwitcherAudioInputCallback::Notify method IBMDSwitcherAudioInputCallback::LevelNotification method IBMDSwitcherAudioMonitorOutputIterator Interface IBMDSwitcherAudioMonitorOutputIterator::Next method IBMDSwitcherAudioMonitorOutput Interface IBMDSwitcherAudioMonitorOutput::GetMonitorEnable method IBMDSwitcherAudioMonitorOutput::SetMonitorEnable method IBMDSwitcherAudioMonitorOutput::GetMute method IBMDSwitcherAudioMonitorOutput::SetMute method IBMDSwitcherAudioMonitorOutput::GetGain method IBMDSwitcherAudioMonitorOutput::SetGain method IBMDSwitcherAudioMonitorOutput::GetSolo method IBMDSwitcherAudioMonitorOutput::SetSolo method IBMDSwitcherAudioMonitorOutput::GetSoloInput method IBMDSwitcherAudioMonitorOutput::SetSoloInput method IBMDSwitcherAudioMonitorOutput::GetDim method IBMDSwitcherAudioMonitorOutput::SetDim method IBMDSwitcherAudioMonitorOutput::GetDimLevel method IBMDSwitcherAudioMonitorOutput::SetDimLevel method IBMDSwitcherAudioMonitorOutput::ResetLevelNotificationPeaks method IBMDSwitcherAudioMonitorOutput::AddCallback method IBMDSwitcherAudioMonitorOutput::RemoveCallback method IBMDSwitcherAudioMonitorOutputCallback Interface IBMDSwitcherAudioMonitorOutputCallback::Notify method IBMDSwitcherAudioMonitorOutputCallback::LevelNotification method . 558 559 560 561 561 562 563 564 565 566 568 569 570 572 573 574 574 575 575 576 576 577 578 579 579 580 580 581 582 583 584 585 586. Software Developers Kit. 23.
(24) 1 Introduction. 1. SECTION. Introduction 1.1 Welcome Thanks for downloading the Blackmagic Design Switcher Software Developers Kit (SDK).. 1.2 Overview The Switcher SDK provides a stable, cross- platform interface to a Blackmagic Design Switcher product line. The SDK provides both low-level control of hardware and high-level interfaces to allow developers to easily perform common tasks. The Switcher SDK consists of a set of interface descriptions & sample applications which demonstrate the use of the features of the Switcher hardware. The details of the SDK are described in this document. Some Switcher capabilities, such as uncompressed USB 3 video capture and H.264 video streaming, must be accessed using the separate DeckLink SDK. The Switcher SDK supports Microsoft Windows and Mac OS X. You can download the Switcher SDK and DeckLink SDK from www.blackmagicdesign.com/support. Software Developers Kit. 24.
(25) 1. SECTION. API Design. 1.3. API Design 1.3.1 Overview The libraries supporting the Blackmagic SDK are shipped as part of the product installers for each supported product line. Applications built against the interfaces shipped in the SDK will dynamically link against the library installed on the end-user’s system.. 1.3.2. Object Model The SDK interface is modeled on Microsoft’s Component Object Model (COM). On Microsoft Windows platforms, it is provided as a native COM interface registered with the operating system. On other platforms application code is provided to allow the same COM style interface to be used. The COM model provides a paradigm for creating flexible and extensible interfaces without imposing much overhead or baggage.. Object Interfaces 1.3.3 The Switcher API provides programmatic access to all current Blackmagic Design ATEM Switchers. The Switcher API provides high-level interfaces for configuring switcher inputs and performing switcher operations such as making a transition. Some switcher devices delivering uncompressed video over USB 3 or H.264 video streams over USB 2, but this capability must be accessed using the DeckLink API. Refer to the documentation for the DeckLink SDK at www.blackmagicdesign.com/support. Functionality within the API is accessed via “object interfaces”. Each object in the system may inherit from and be accessed via a number of object interfaces. Typically the developer is able to interact with object interfaces and leave the underlying objects to manage themselves.. SDK Software Developers Kit. 25.
(26) 1. SECTION. API Design Each object interface class has a Globally Unique ID (GUID) called an “Interface ID”. On platforms with native COM support, an IID may be used to obtain a handle to an exported interface object from the OS, which is effectively an entry point to an installed API. Each interface may have related interfaces that are accessed by providing an IID to an existing object interface (see IUnknown::QueryInterface). This mechanism allows new interfaces to be added to the API without breaking API or ABI compatibility.. Reference Counting 1.3.4 The API uses reference counting to manage the life cycle of object interfaces. The developer may need to add or remove references on object interfaces (see IUnknown::AddRef and IUnknown::Release) to influence their life cycle as appropriate in the application.. Interface Stability 1.3.5 The SDK provides a set of stable interfaces for accessing Blackmagic Design hardware. Whilst the published interfaces will remain stable, developers need to be aware of some issues they may encounter as new products, features and interfaces become available.. 1.3.5.1. New Interfaces Major pieces of new functionality may be added to the SDK as a whole new object interface. Already released applications will not be affected by the additional functionality. Developers making use of the new functionality should be sure to check the return of CoCreateInstance and/or QueryInterface as these interfaces will not be available on users systems which are running an older release of the Blackmagic software. Developers can choose to either reduce the functionality of their application when an interface is not available, or to notify the user that they must install a later version of the Blackmagic software.. SDK Software Developers Kit. 26.
(27) 1. SECTION. API Design. Updated Interfaces 1.3.5.2 As new functionality is added to the SDK, some existing interfaces may need to be modified or extended. To maintain compatibility with released software, the original interface will be deprecated but will remain available and maintain its unique identifier (IID). The replacement interface will have a new identifier and remain as similar to the original as possible.. Deprecated Interfaces 1.3.5.3 Interfaces which have been replaced with an updated version, or are no longer recommended for use are “deprecated”. Deprecated interfaces are moved out of the main interface description files into an interface description file named according to the release in which the interface was deprecated. Deprecated interfaces are also renamed with a suffix indicating the release prior to the one in which they were deprecated. It is recommended that developers update their applications to use the most recent SDK interfaces when they release a new version of their applications. As an interim measure, developers may include the deprecated interface descriptions, and updating the names of the interfaces in their application to access the original interface functionality.. Removed interfaces 1.3.5.4 Interfaces that have been deprecated for some time may eventually be removed in a major driver update if they become impractical to support.. SDK Software Developers Kit. 27.
(28) 1. SECTION. API Design 1.4 Interface Reference Every object interface subclasses the IUnknown interface.. 1.4.1 IUnknown Interface Each API interface is a subclass of the standard COM base class – IUnknown. The IUnknown object interface provides reference counting and the ability to look up related interfaces by interface ID. The interface ID mechanism allows interfaces to be added to the API without impacting existing applications. Public Member Functions Method. Description. QueryInterface. Provides access to supported child interfaces of the object.. AddRef. Increments the reference count of the object.. Release. Decrements the reference count of the object. When the final reference is removed, the object is freed.. SDK Software Developers Kit. 28.
(29) 1. SECTION. API Design. 1.4.1.1. IUnknown::QueryInterface method The QueryInterface method looks up a related interface of an object interface. Syntax HRESULT . QueryInterface(REFIID id, void **outputInterface);. Parameters Name. Direction Description. id. in. Interface ID of interface to lookup. output Interface. out. New object interface or NULL on failure.. Return Values Value. Description. E_NOINTERFACE. Interface was not found. S_OK. Success. SDK Software Developers Kit. 29.
(30) 1. SECTION. API Design. 1.4.1.2. IUnknown::AddRef method The AddRef method increments the reference count for an object interface. Syntax ULONG . AddRef();. Return Values Value. Description. Count. New reference count – for debug purposes only.. 1.4.1.3 IUnknown::Release method The Release method decrements the reference count for an object interface. When the last reference is removed from an object, the object will be destroyed. Syntax ULONG . Release();. Return Values Value. Description. Count. New reference count – for debug purposes only.. SDK Software Developers Kit. 30.
(31) 1. SECTION. API Design. Using the Switcher API in a project 1.5 The supplied sample applications provide examples of how to include the Switcher API in a project on each supported platform. To use the Switcher API in your project, one or more files need to be included: Windows Switchers X.Y\Win\Include\BMDSwitcherAPI.idl Mac OS X Switchers X.Y/Mac/Include/BMDSwitcherAPI.h Switchers X.Y/Mac/Include/BMDSwitcherAPIDispatch.cpp. SDK Software Developers Kit. 31.
(32) 1. SECTION. API Design. Basic Types 1.5.1 boolean boolean is represented differently on each platform by using its system type: Windows Mac OS X . BOOL bool. string Strings are represented differently on each platform, using the most appropriate system type: Windows Mac OS X . BSTR CFStringRef. int64_t The signed 64 bit integer type is represented differently on each platform, using the most appropriate system type: Windows Mac OS X . LONGLONG int64_t. int32_t The signed 32 bit integer type is represented differently on each platform, using the most appropriate system type: Windows Mac OS X . long int32_t. SDK Software Developers Kit. 32.
(33) 1. SECTION. API Design uint32_t The unsigned 32 bit integer type is represented differently on each platform, using the most appropriate system type:. Windows Mac OS X . unsigned long uint32_t. Accessing Switcher devices 1.5.2 Switcher devices are accessed via the IBMDSwitcherDiscovery interface. How a reference to an IBMDSwitcherDiscovery is obtained varies between platforms depending on their level of support for COM:. 1.5.2.1 Windows The main entry point to the Switcher API is the CBMDSwitcherDiscovery class. This class should be obtained from COM using CoCreateInstance: BMDSwitcherDiscovery* switcherDiscovery = NULL; CoCreateInstance(CLSID_CBMDSwitcherDiscovery, NULL, CLSCTX_ALL,. IID_IBMDSwitcherDiscovery, (void**)&switcherDiscovery)); On success, CoCreateInstance returns an HRESULT of S_OK and switcherDiscovery points to a new IBMDSwitcherDiscovery object interface.. 1.5.2.2. Mac OS X On Mac OS X a C++ entry point is provided to access an IBMDSwitcherDiscovery interface: IBMDSwitcherDiscovery* switcherDiscovery = CreateBMDSwitcherDiscoveryInstance(); On success, switcherDiscovery will point to a new IBMDSwitcherDiscovery object interface otherwise it will be set to NULL.. SDK Software Developers Kit. 33.
(34) 2. Basic Switcher Control. 2. SECTION. Basic Switcher Control 2 Basic Switcher Control The Switcher API provides a framework for controlling ATEM switcher devices. The API enables operations such as configuring switcher inputs, performing a transition and making a cut.. Switcher Configuration and Transitions 2.1.1 An application for controlling a switcher may perform the following steps: • Use IBMDSwitcherDiscovery::ConnectTo to connect to a switcher device and obtain an IBMDSwitcher object interface • Use IBMDSwitcher::CreateIterator to get an IBMDSwitcherInputIterator object interface • For each IBMDSwitcherInput returned by IBMDSwitcherInputIterator::Next retrieve the input’s unique Id using IBMDSwitcherInput::GetInputId and retrieve other properties of the input, such as the input’s name, using IBMDSwitcherInput::GetString or IBMDSwitcherInput::GetInt • Use IBMDSwitcher::CreateIterator to get an IBMDSwitcherMixEffectBlockIterator object interface • Obtain an IBMDSwitcherMixEffectBlock object interface using IBMDSwitcherMixEffectBlockIterator::Next • Use IBMDSwitcherMixEffectBlock::SetInt to configure the Program and Preview inputs to the mix effect block by assigning the input Ids returned by IBMDSwitcherInput::GetInputId • Perform a transition between Program and Preview inputs by calling IBMDSwitcherMixEffectBlock::PerformTransition • Install a callback using IBMDSwitcherMixEffectBlock::AddCallback and receive IBMDSwitcherMixEffectBlockCallback::PropertyChanged callbacks to determine progress through the transition and when the transition is complete. SDK Software Developers Kit. 34.
(35) 2. SECTION. Basic Switcher Control. 2.1.2. Switcher Interface Diagram. IBMDSwitcher IBMDSwitcherInput. Camera 1. IBMDSwitcherMixEffectBlock. PROGRAM. Color bars Black Transition/ Cut. FTB. PROGRAM OUTPUT. PREVIEW. IBMDSwitcherDiscovery. SDK Software Developers Kit. 35.
(36) 2. SECTION. Basic Switcher Control 2.2. Switcher Data Types. 2.2.1 Basic Switcher Data Types BMDSwitcherInputId BMDSwitcherInputId is a signed 64 bit integer type and used as a unique Id for each switcher input.. 2.2.2 Switcher Event Type BMDSwitcherEventType enumerates the possible event types for IBMDSwitcher. bmdSwitcherEventTypeVideoModeChanged The video standard changed. bmdSwitcherEventTypeDownConverterModeChanged . The down conversion mode changed.. bmdSwitcherEventTypePowerStatusChanged The power status changed. bmdSwitcherEventTypeDisconnected The switcher disconnected.. 2.2.3 Switcher Power Status BMDSwitcherPowerStatus enumerates the possible power status flags. This type is used by the IBMDSwitcher object interface. bmdSwitcherPowerStatusSupply1 Supply 1 has power. bmdSwitcherPowerStatusSupply2 Supply 2 has power.. SDK Software Developers Kit. 36.
(37) 2. SECTION. Basic Switcher Control. 2.2.4. Switcher Video Mode BMDSwitcherVideoMode enumerates the video standards employed by the switcher. bmdSwitcherVideoMode525i5994NTSC 525 pixels high, interlaced at 59.94Hz (NTSC). bmdSwitcherVideoMode625i50PAL 625 pixels high, interlaced at 50Hz (PAL). bmdSwitcherVideoMode525i5994Anamorphic 525 pixels high, interlaced at 59.94Hz (anamorphic 16:9 widescreen). bmdSwitcherVideoMode625i50Anamorphic 625 pixels high, interlaced at 50Hz (anamorphic 16:9 widescreen). bmdSwitcherVideoMode720p50 720 pixels high, progressively scanned at 50Hz. bmdSwitcherVideoMode720p5994 720 pixels high, progressively scanned at 59.94Hz. bmdSwitcherVideoMode1080i50 1080 pixels high, interlaced at 50Hz. bmdSwitcherVideoMode1080i5994 1080 pixels high, interlaced at 59.94Hz. bmdSwitcherVideoMode1080p2398 1080 pixels high, progressively scanned at 23.98Hz. bmdSwitcherVideoMode1080p24 1080 pixels high, progressively scanned at 24Hz. bmdSwitcherVideoMode1080p25 1080 pixels high, progressively scanned at 25Hz. bmdSwitcherVideoMode1080p2997 1080 pixels high, progressively scanned at 29.97Hz. bmdSwitcherVideoMode1080p50 1080 pixels high, progressively scanned at 50Hz. bmdSwitcherVideoMode1080p5994 1080 pixels high, progressively scanned at 59.94Hz. bmdSwitcherVideoMode4KHDp2398 . 2160 pixels high, 3840 pixels wide, progressively scanned at 23.98Hz.. bmdSwitcherVideoMode4KHDp24 2160 pixels high, 3840 pixels wide, progressively scanned at 24Hz. bmdSwitcherVideoMode4KHDp25 2160 pixels high, 3840 pixels wide, progressively scanned at 25Hz. bmdSwitcherVideoMode4KHDp2997 2160 pixels high, 3840 pixels wide, progressively scanned at 29.97Hz.. SDK Software Developers Kit. 37.
(38) 2. SECTION. Basic Switcher Control. 2.2.5 Switcher Down Converter Modes BMDSwitcherDownConverterMode enumerates the possible modes for down converting between broadcast standards. bmdSwitcherDownConverterModeCentreCut Centre cut conversion. bmdSwitcherDownConverterModeLetterbox Letter box conversion. bmdSwitcherDownConverterModeAnamorphic Anamorphic conversion.. 2.2.6 Switcher Input Properties BMDSwitcherInputPropertyId enumerates the possible properties of a switcher Input. bmdSwitcherInputPropertyIdPortType Input port type as a BMDSwitcherPortType. bmdSwitcherInputPropertyIdInputAvailability Input availability as a BMDSwitcherInputAvailability. bmdSwitcherInputPropertyIdShortName Short name describing switcher input as a string limited to 4 characters. bmdSwitcherInputPropertyIdLongName Long name describing switcher input as a string limited to 20 characters. bmdSwitcherInputPropertyIdIsProgramTallied Flag that indicates whether the input is currently program tallied. bmdSwitcherInputPropertyIdIsPreviewTallied Flag that indicates whether the input is currently preview tallied. bmdSwitcherInputPropertyIdAvailableExternalPortTypes Available external port types as a bit mask of BMDSwitcherExternalPortType. bmdSwitcherInputPropertyIdCurrentExternalPortType . Selected external port type as BMDSwitcherExternalPortType.. SDK Software Developers Kit. 38.
(39) 2. SECTION. Basic Switcher Control. 2.2.7 Switcher External Port Types BMDSwitcherExternalPortType enumerates the different kinds of external port type for an input. This enumeration represents a bitset since an input port may support more than one connection type. bmdSwitcherExternalPortTypeSDI SDI connection. bmdSwitcherExternalPortTypeHDMI . HDMI connection.. bmdSwitcherExternalPortTypeComponent Component connection. bmdSwitcherExternalPortTypeComposite Composite connection, only available in SD video modes. bmdSwitcherExternalPortTypeSVideo SVideo connection, only available in SD video modes. bmdSwitcherExternalPortTypeXLR XLR audio connection. bmdSwitcherExternalPortTypeAESEBU AES EBU audio connection. bmdSwitcherExternalPortTypeRCA RCA audio connection. bmdSwitcherExternalPortTypeInternal This is an internal input port.. 2.2.8 Switcher Port Types BMDSwitcherPortType enumerates the possible switcher input port types available for switching. bmdSwitcherPortTypeExternal The port is an external port with a physical connector. bmdSwitcherPortTypeBlack . . The port is a black video generator port.. bmdSwitcherPortTypeColorBars The port is a colorbars generator port. bmdSwitcherPortTypeColorGenerator The port is a color generator port. bmdSwitcherPortTypeMediaPlayerFill . . The port is a media player fill port.. bmdSwitcherPortTypeMediaPlayerCut The port is a media player cut port. bmdSwitcherPortTypeSuperSource The port is a super source port. bmdSwitcherPortTypeMixEffectBlockOutput The port is a mix effect block output port. bmdSwitcherPortTypeAuxOutput The port is an auxiliary output port.. SDK Software Developers Kit. 39.
(40) 2. SECTION. Basic Switcher Control. 2.2.9 Switcher Input Availability BMDSwitcherInputAvailability enumerates the different kinds of input availability for a port. This enumeration represents a bitset since an input can have multiple availabilities. bmdSwitcherInputAvailabilityMixEffectBlock0 . The input is available to be used by mix effect block 0.. bmdSwitcherInputAvailabilityMixEffectBlock1 The input is available to be used by mix effect block 1. bmdSwitcherInputAvailabilityAuxOutputs The input is available to be used by aux outputs. bmdSwitcherInputAvailabilityMultiView The input can be routed to a MultiView window. bmdSwitcherInputAvailabilitySuperSourceArt The input is available to be used for SuperSource Art. bmdSwitcherInputAvailabilitySuperSourceBox . The input is available to be used within a SuperSource Box.. bmdSwitcherInputAvailabilityInputCut . The input is available to be used as a cut.. 2.2.10 Switcher Mix Effect Block Properties BMDSwitcherMixEffectBlockPropertyId enumerates the possible properties of a Mix Effect Block. bmdSwitcherMixEffectBlockPropertyIdProgramInput . The program input as a BMDSwitcherInputId.. bmdSwitcherMixEffectBlockPropertyIdPreviewInput . The preview input as a BMDSwitcherInputId.. bmdSwitcherMixEffectBlockPropertyIdTransitionPosition . Float value between 0 and 1 representing the progress through a transition where 0 is the start of a transition and 1 is the end.. bmdSwitcherMixEffectBlockPropertyIdTransitionFramesRemaining. Number of frames remaining in a transition as an integer.. bmdSwitcherMixEffectBlockPropertyIdInTransition . State of mix effect block being in a transition as a boolean.. bmdSwitcherMixEffectBlockPropertyIdFadeToBlackFramesRemaining Number of frames remaining in a fade to black as an integer. bmdSwitcherMixEffectBlockPropertyIdInFadeToBlack . State of mix effect block being in a fade to black as a boolean.. bmdSwitcherMixEffectBlockPropertyIdPreviewLive . Boolean value which is true when preview is live.. bmdSwitcherMixEffectBlockPropertyIdPreviewTransition Boolean value which is true when preview transition is active. bmdSwitcherMixEffectBlockPropertyIdInputAvailabilityMask The corresponding BMDSwitcherInputAvailability bit value for this mix effect block. SDK Software Developers Kit. 40.
(41) 2. SECTION. Basic Switcher Control bmdSwitcherMixEffectBlockPropertyIdFadeToBlackRate . The fade to black rate in frames.. bmdSwitcherMixEffectBlockPropertyIdFadeToBlackFullyBlack bmdSwitcherMixEffectBlockPropertyIdFadeToBlackInTransition . Boolean value which is true when fade to black is fully black. Boolean value which is true when fade to black is transitioning.. 2.2.11 Switcher Connection Errors BMDSwitcherConnectToFailure enumerates the possible errors that can occur when connecting to a switcher. bmdSwitcherConnectToFailureNoResponse The Switcher did not respond after a connection attempt was made. bmdSwitcherConnectToFailureIncompatibleFirmware The software on the Switcher is incompatible with the current version of the Switcher SDK. bmdSwitcherConnectToFailureCorruptData Corrupt data was received during a connection attempt. bmdSwitcherConnectToFailureStateSync State synchronisation failed during a connection attempt. bmdSwitcherConnectToFailureStateSyncTimedOut . State synchronisation timed out during a connection attempt.. 2.2.12 Switcher MultiView Layouts BMDSwitcherMultiViewLayout enumerates the possible layout formats for MultiView. bmdSwitcherMultiViewLayoutProgramTop Program and preview reside in upper section of the screen, windows reside below. bmdSwitcherMultiViewLayoutProgramBottom Program and preview reside in lower section of the screen, windows reside above. bmdSwitcherMultiViewLayoutProgramLeft Program and preview reside on left hand side, windows reside on the right. bmdSwitcherMultiViewLayoutProgramRight Program and preview reside on right hand side, windows reside on the left.. 2.2.13 Switcher Color Events BMDSwitcherInputColorEventType enumerates the possible event types for IBMDSwitcherInputColorCallback. bmdSwitcherInputColorEventTypeHueChanged The hue changed. bmdSwitcherInputColorEventTypeSaturationChanged . The saturation changed.. bmdSwitcherInputColorEventTypeLumaChanged The luma changed. SDK Software Developers Kit. 41.
(42) 2. SECTION. Basic Switcher Control. 2.2.14 Switcher Aux Events BMDSwitcherInputAuxEventType enumerates the possible event types for IBMDSwitcherInputAuxCallback. bmdSwitcherInputAuxEventTypeInputSourceChanged . The input source changed.. 2.2.15 Switcher MultiView Events BMDSwitcherMultiViewEventType enumerates the possible event types for IBMDSwitcherMultiViewCallback. bmdSwitcherMultiViewEventTypeLayoutChanged The layout changed. bmdSwitcherMultiViewEventTypeWindowChanged . Routing to a MultiView window has changed.. SDK Software Developers Kit. 42.
(43) 2. SECTION. Basic Switcher Control. 2.3 Interface Reference 2.3.1 IBMDSwitcherDiscovery Interface The IBMDSwitcherDiscovery object interface is used to connect to a physical switcher device. A reference to an IBMDSwitcherDiscovery object interface may be obtained from CoCreateInstance on platforms with native COM support or from CreateBMDSwitcherDiscoveryInstance on other platforms. Public Member Functions Method. Description. ConnectTo. Connect to a switcher. SDK Software Developers Kit. 43.
(44) 2. SECTION. Basic Switcher Control. 2.3.1.1 IBMDSwitcherDiscovery::ConnectTo method The ConnectTo method connects to the specified switcher and returns an IBMDSwitcher object interface for the switcher. Note: ConnectTo performs a synchronous network connection. This may take several seconds depending upon hostname resolution and network response times. Syntax HRESULT ConnectTo (string deviceAddress, IBMDSwitcher** switcherDevice, BMDSwitcherConnectToFailure* failReason); Parameters Name. Direction Description. deviceAddress. in. Network hostname or IP address of switcher to connect to. switcherDevice. out. IBMDSwitcher object interface for the connected switcher. failReason. out. Reason for connection failure as a BMDSwitcherConnectToFailure value. Return Values Value. Description. E_FAIL. Failure. S_OK. Success. E_POINTER. The switcherDevice or failReason parameter is invalid.. SDK Software Developers Kit. 44.
(45) 2. SECTION. Basic Switcher Control. 2.3.2 IBMDSwitcher Interface The IBMDSwitcher object interface represents a physical switcher device. Related Interfaces Interface. Interface ID. Description. IBMDSwitcherDiscovery. IID_IBMDSwitcherDiscovery. An IBMDSwitcher object will be returned after a successful call to the IBMDSwitcherDiscovery::ConnectTo method. Public Member Functions Method. Description. GetProductName. Get the product name of the switcher.. GetVideoMode. Get the current video standard applied across the switcher.. SetVideoMode. Set the video standard applied across the switcher.. GetDownConverterMode. Get the conversion mode applied when down converting between broadcast standards.. SetDownConverterMode. Set the conversion mode applied when down converting between broadcast standards.. GetPowerStatus. Gets the power status of the switcher.. DoesSupportVideoMode. Determines if a video standard is supported by the switcher.. CreateIterator. Create an iterator.. AddCallback. Add a callback to receive switcher events.. RemoveCallback. Remove a callback.. SDK Software Developers Kit. 45.
(46) 2. SECTION. Basic Switcher Control. 2.3.2.1 IBMDSwitcher::GetProductName method The GetProductName method gets the product name of the switcher. Syntax HRESULT . GetProductName (string* productName);. Parameters Name. Direction Description. productName. out. The product name of the switcher.. Return Values Value. Description. S_OK. Success. E_POINTER. The productName parameter is invalid.. 2.3.2.2 IBMDSwitcher::GetVideoMode method The GetVideoMode method gets the current video standard applied across the switcher. Syntax HRESULT . GetVideoMode (BMDSwitcherVideoMode* videoMode);. Parameters Name. Direction Description. videoMode. out. The current video standard applied across the switcher.. Return Values Value. Description. S_OK. Success. E_POINTER. The videoMode parameter is invalid.. SDK Software Developers Kit. 46.
(47) 2. SECTION. Basic Switcher Control. 2.3.2.3 IBMDSwitcher::SetVideoMode method The SetVideoMode method sets the video standard applied across the switcher. Syntax HRESULT . SetVideoMode (BMDSwitcherVideoMode videoMode);. Parameters Name. Direction Description. videoMode. in. The video standard applied across the switcher.. Return Values Value. Description. S_OK. Success. E_INVALIDARG. The videoMode parameter is invalid.. SDK Software Developers Kit. 47.
(48) 2. SECTION. Basic Switcher Control. 2.3.2.4 IBMDSwitcher::GetDownConverterMode method The GetDownConverterMode method gets the conversion mode applied when down converting between broadcast standards. Syntax HRESULT GetDownConverterMode (BMDSwitcherDownConverterMode* downConverterMode); Parameters Name. Direction Description. downConverterMode. out. The conversion mode. Return Values Value. Description. S_OK. Success. E_POINTER. The downConverterMode parameter is invalid.. SDK Software Developers Kit. 48.
(49) 2. SECTION. Basic Switcher Control. 2.3.2.5 IBMDSwitcher::SetDownConverterMode method The SetDownConverterMode method sets the conversion mode applied when down converting between broadcast standards. Syntax HRESULT SetDownConverterMode (BMDSwitcherDownConverterMode downConverterMode); Parameters Name. Direction Description. downConverterMode. in. The conversion mode. Return Values Value. Description. S_OK. Success. E_INVALIDARG. The downConverterMode parameter is invalid.. SDK Software Developers Kit. 49.
(50) 2. SECTION. Basic Switcher Control. 2.3.2.6 IBMDSwitcher::GetPowerStatus method The GetPowerStatus method gets the connected power status, useful for models supporting multiple power sources. Syntax HRESULT . GetPowerStatus (BMDSwitcherPowerStatus* powerStatus);. Parameters Name. Direction Description. powerStatus. out. The power status. Return Values Value. Description. S_OK. Success. E_POINTER. The powerStatus parameter is invalid.. SDK Software Developers Kit. 50.
(51) 2. SECTION. Basic Switcher Control. 2.3.2.7 IBMDSwitcher::DoesSupportVideoMode method The DoesSupportVideoMode method determines if a video standard is supported by the switcher. Syntax HRESULT GetString DoesSupportVideoMode (BMDSwitcherVideoMode videoMode, boolean* supported); Parameters Name. Direction Description. videoMode. in. The video mode. supported. out. Boolean value that is true if the video mode is supported.. Return Values Value. Description. S_OK. Success. E_POINTER. The supported parameter is invalid.. SDK Software Developers Kit. 51.
(52) 2. SECTION. Basic Switcher Control. 2.3.2.8 IBMDSwitcher::CreateIterator method The CreateIterator method creates an iterator object interface for the specified interface ID. Syntax HRESULT . CreateIterator (REFIID iid, LPVOID* ppv);. Parameters Name. Direction Description. iid. in. Iterator Interface ID to create an iterator for.. ppv. in. Pointer to return interface object.. Return Values Value. Description. S_OK. Success. E_POINTER. The ppv parameter is invalid. E_OUTOFMEMORY. Insufficient memory to create interface object. E_NOINTERFACE. Interface was not found. SDK Software Developers Kit. 52.
(53) 2. SECTION. Basic Switcher Control. 2.3.2.9 IBMDSwitcher::AddCallback method The AddCallback method configures a callback to be called when events occur for an IBMDSwitcher object. Pass an object implementing the IBMDSwitcherCallback interface to receive callbacks. Adding a new callback will not affect previously added callbacks. Syntax HRESULT . AddCallback (IBMDSwitcherCallback* callback);. Parameters Name. Direction Description. callback. in. Callback object implementing the IBMDSwitcherCallback object interface.. Return Values Value. Description. S_OK. Success. E_INVALIDARG. The callback parameter is invalid.. SDK Software Developers Kit. 53.
(54) 2. SECTION. Basic Switcher Control. 2.3.2.10 IBMDSwitcher::RemoveCallback method The RemoveCallback method removes a previously installed callback. Syntax HRESULT . RemoveCallback (IBMDSwitcherCallback* callback);. Parameters Name. Direction Description. callback. in. Callback object implementing the IBMDSwitcherCallback object interface.. Return Values Value. Description. S_OK. Success. E_INVALIDARG. The callback parameter is invalid.. SDK Software Developers Kit. 54.
(55) 2. SECTION. Basic Switcher Control. 2.3.3 IBMDSwitcherCallback Interface The IBMDSwitcherCallback object interface is a callback class containing methods that are called when an event occurs on an IBMDSwitcher object. Like all callback methods, these callback methods may be called from another thread. Related Interfaces Interface. Interface ID. Description. IBMDSwitcher. IID_IBMDSwitcher. An IBMDSwitcherCallback object interface is installed with IBMDSwitcher::AddCallback and removed with IBMDSwitcher::RemoveCallback. Public Member Functions Method. Description. Notify. Called when an event occurs.. SDK Software Developers Kit. 55.
(56) 2. SECTION. Basic Switcher Control. 2.3.3.1 IBMDSwitcherCallback::Notify method The Notify is called when IBMDSwitcher events occur, such as property changes. This method is called from a separate thread created by the switcher SDK so care should be exercised when interacting with other threads. Callbacks should be processed as quickly as possible to avoid delaying other callbacks or affecting the connection to the switcher. The return value (required by COM) is ignored by the caller. Syntax HRESULT . Notify (BMDSwitcherEventType eventType);. Parameters Name. Direction Description. eventType. in. BMDSwitcherEventType that describes the type of event that has occurred.. Return Values Value. Description. S_OK. Success. E_FAIL. Failure. SDK Software Developers Kit. 56.
Related documents