superSource set input

Ask software engineering and SDK questions for developers working on Mac OS X, Windows or Linux.
  • Author
  • Message
Offline

on4bhm1

  • Posts: 8
  • Joined: Tue Oct 22, 2024 5:51 pm
  • Real Name: Guy Roelant

superSource set input

PostTue Oct 22, 2024 5:56 pm

Hi All,

How can i set the channels on the input screen to channel 1,3,5,7

I have this code in vb.net:

Dim m_SS_0 As IBMDSwitcherSuperSourceBox
Dim m_SS_1 As IBMDSwitcherSuperSourceBox
Dim m_SS_2 As IBMDSwitcherSuperSourceBox
Dim m_SS_3 As IBMDSwitcherSuperSourceBox
Dim m_SS_4 As IBMDSwitcherSuperSourceBox
Dim inputIterator As IBMDSwitcherInputIterator = Nothing
Dim inputIteratorPtr As IntPtr
Dim inputIteratorIID As Guid = GetType(IBMDSwitcherInputIterator).GUID

m_switcher.CreateIterator(inputIteratorIID, inputIteratorPtr)
inputIterator = DirectCast(Marshal.GetObjectForIUnknown(inputIteratorPtr), IBMDSwitcherInputIterator)
If inputIterator IsNot Nothing Then
Dim inputin As IBMDSwitcherInput
inputIterator.[Next](inputin)
Dim SSCount As Integer = 0
While inputin IsNot Nothing
Dim inputPortType As BMDSwitcherAPI._BMDSwitcherPortType
inputin.GetPortType(inputPortType)
If inputPortType = BMDSwitcherAPI._BMDSwitcherPortType.bmdSwitcherPortTypeSuperSource Then

SSAux = DirectCast(inputin, IBMDSwitcherInputSuperSource)
Dim SS_boxiterator As IBMDSwitcherSuperSourceBoxIterator = Nothing
Dim inputIteratorBOXPtr As IntPtr
Dim inputIteratorBOXIID As Guid = GetType(IBMDSwitcherSuperSourceBoxIterator).GUID
SSAux.CreateIterator(inputIteratorBOXIID, inputIteratorBOXPtr)
SS_boxiterator = DirectCast(Marshal.GetObjectForIUnknown(inputIteratorBOXPtr), IBMDSwitcherSuperSourceBoxIterator)
Dim inputbox As IBMDSwitcherSuperSourceBox
SS_boxiterator.[Next](m_SS_0)
SS_boxiterator.[Next](m_SS_1)
SS_boxiterator.[Next](m_SS_2)
SS_boxiterator.[Next](m_SS_3)
SS_boxiterator.[Next](m_SS_4)
SSAux.GetInputFill(Super_source_input_BG)
SSAux.GetPreMultiplied(1)
SSAux.SetClip(2)
m_SS_0.GetInputSource(Super_source_input_S1)
m_SS_1.GetInputSource(Super_source_input_S2)
m_SS_2.GetInputSource(Super_source_input_S3)
m_SS_3.GetInputSource(Super_source_input_S4)
If Not IsNothing(m_mixEffectBlock1) Then
m_mixEffectBlock1.SetProgramInput(6000)
End If


End If
inputIterator.[Next](inputin)
End While
End If

it does nothing...

am i missing something?

tnx
Offline

Cameron Nichols

Blackmagic Design

  • Posts: 470
  • Joined: Mon Sep 04, 2017 4:05 am

Re: superSource set input

PostTue Oct 29, 2024 2:11 am

Hi Guy,

Thanks for sharing your code segment, I was able to set the SuperSource output with your code with the following changes (changing Get* methods to Set):
Code: Select all
                    SSAux.SetInputFill(Super_source_input_BG)
                    SSAux.SetPreMultiplied(1)
                    SSAux.SetClip(2)
                    m_SS_0.SetInputSource(Super_source_input_S1)
                    m_SS_1.SetInputSource(Super_source_input_S2)
                    m_SS_2.SetInputSource(Super_source_input_S3)
                    m_SS_3.SetInputSource(Super_source_input_S4)
Regards
Cameron
Offline

on4bhm1

  • Posts: 8
  • Joined: Tue Oct 22, 2024 5:51 pm
  • Real Name: Guy Roelant

Re: superSource set input

PostTue Oct 29, 2024 12:11 pm

OMG !!
this is working....!!!

what a stupid mistake...


How do i set the layout??

tnx
Offline

gustavo

  • Posts: 1
  • Joined: Tue Nov 04, 2025 3:58 pm
  • Real Name: gustavo pereyra

Re: superSource move xposition of box

PostTue Nov 04, 2025 4:06 pm

Hi, I'm trying to move a box from the ATEM Supersource. I've tried using the SDK, but it seems the SDR doesn't support Supersources. I tried using UDP ports, but I don't understand how to configure the "CSBP" blocks.

Return to Software Developers

Who is online

Users browsing this forum: No registered users and 36 guests