private static MediaPlayerState BuildOne(IBMDSwitcherMediaPlayer props, AtemStateBuilderSettings updateSettings, bool hasClips)
        {
            var state = new MediaPlayerState();

            if (hasClips)
            {
                state.ClipStatus = new MediaPlayerState.ClipStatusState();
            }

            props.GetSource(out _BMDSwitcherMediaPlayerSourceType type, out uint index);
            state.Source.SourceType  = AtemEnumMaps.MediaPlayerSourceMap.FindByValue(type);
            state.Source.SourceIndex = index;

            if (state.ClipStatus != null)
            {
                props.GetPlaying(out int playing);
                state.ClipStatus.Playing = playing != 0;
                props.GetLoop(out int loop);
                state.ClipStatus.Loop = loop != 0;

                if (updateSettings.TrackMediaClipFrames)
                {
                    props.GetAtBeginning(out int atBegining);
                    state.ClipStatus.AtBeginning = atBegining != 0;
                    props.GetClipFrame(out uint clipFrame);
                    state.ClipStatus.ClipFrame = clipFrame;
                }
            }

            return(state);
        }
Esempio n. 2
0
        public MediaPlayer(IBMDSwitcherMediaPlayer player, uint index)
        {
            _BMDSwitcherMediaPlayerSourceType type;

            player.GetSource(out type, out this.Still);
            if (type == _BMDSwitcherMediaPlayerSourceType.bmdSwitcherMediaPlayerSourceTypeStill)
            {

            }
        }
Esempio n. 3
0
 public void SetFirstMediaPlayerSource(uint index)
 {
     try
     {
         IBMDSwitcherMediaPlayer mediaPlayer = GetPlayer();
         mediaPlayer.SetSource(_BMDSwitcherMediaPlayerSourceType.bmdSwitcherMediaPlayerSourceTypeStill, index);
     }
     catch (Exception ex)
     {
         throw new SwitcherLibException(ex.Message, ex);
     }
 }
Esempio n. 4
0
        public uint GetFirstMediaPlayerSource()
        {
            try
            {
                IBMDSwitcherMediaPlayer mediaPlayer = GetPlayer();

                uint index;
                _BMDSwitcherMediaPlayerSourceType t;
                mediaPlayer.GetSource(out t, out index);
                return(index);
            }
            catch (Exception ex)
            {
                throw new SwitcherLibException(ex.Message, ex);
            }
        }
 internal SwitcherMediaPlayerCallback(IBMDSwitcherMediaPlayer mediaplayer, int index)
 {
     this._indexnr    = index;
     this.MediaPlayer = mediaplayer;
 }