Пример #1
0
        public override object[] GetArgumentsByKeys(string[] keys)
        {
            if (keys.Length != Arguments.Length)
            {
                return(null);
            }

            if (!int.TryParse(keys[0], out int mixerId))
            {
                return(null);
            }
            if (!int.TryParse(keys[1], out int meBlockIndex))
            {
                return(null);
            }

            BmdMixer mixer = MixerDatabase.Instance.GetTById(mixerId) as BmdMixer;

            if (mixer == null)
            {
                return(null);
            }

            if ((meBlockIndex < 0) || (meBlockIndex > 3))
            {
                return(null);
            }

            return(new object[]
            {
                mixer,
                meBlockIndex
            });
        }
Пример #2
0
        protected override string getArgumentKey(int index, object value)
        {
            if (index == 0)
            {
                BmdMixer mixer = value as BmdMixer;
                if (mixer == null)
                {
                    return("-1");
                }
                return(mixer.ID.ToString());
            }

            if (index == 1)
            {
                if (value == null)
                {
                    return("-1");
                }
                if (!(value is int))
                {
                    return("-1");
                }
                return(value.ToString());
            }

            throw new ArgumentException();
        }
Пример #3
0
        public override void Run(object[] argumentValues)
        {
            if (argumentValues.Length != Arguments.Length)
            {
                return;
            }

            BmdMixer mixer = argumentValues[0] as BmdMixer;

            if (mixer == null)
            {
                return;
            }

            if (!int.TryParse(argumentValues[1]?.ToString(), out int meBlockIndex))
            {
                return;
            }

            if (!int.TryParse(argumentValues[2]?.ToString(), out int inputId))
            {
                return;
            }

            setSource(mixer, meBlockIndex, inputId);
        }
Пример #4
0
 private void connectionStateChangedHandler(BmdMixer mixer, bool oldState, bool newState)
 {
     if (InvokeRequired)
     {
         Invoke(new Action(() => connectionStateChangedHandler(mixer, oldState, newState)));
         return;
     }
     connectButton.Enabled    = !newState;
     disconnectButton.Enabled = newState;
 }
 protected override void setSource(BmdMixer mixer, int meBlockIndex, int inputId)
 {
     try
     {
         mixer.SetProgramSource(meBlockIndex, inputId);
     }
     catch
     {
         // Do something...
     }
 }
Пример #6
0
 protected override void transition(BmdMixer mixer, int meBlockIndex)
 {
     try
     {
         mixer.CutTransition(meBlockIndex);
     }
     catch
     {
         // Do something...
     }
 }
Пример #7
0
        protected override void validateFields()
        {
            base.validateFields();
            BmdMixer bmdMixer = (BmdMixer)EditedModel;

            if (bmdMixer == null)
            {
                return;
            }
            bmdMixer.ValidateIpAddress(ipAddressTextbox.Text);
        }
Пример #8
0
        protected override void writeFields()
        {
            base.writeFields();
            BmdMixer bmdMixer = (BmdMixer)EditedModel;

            if (bmdMixer == null)
            {
                return;
            }
            bmdMixer.IpAddress     = ipAddressTextbox.Text;
            bmdMixer.AutoReconnect = autoReconnectCheckbox.Checked;
        }
Пример #9
0
        protected override void _run(object[] argumentObjects)
        {
            BmdMixer mixer = argumentObjects[0] as BmdMixer;

            if (mixer == null)
            {
                return;
            }
            if (!int.TryParse(argumentObjects[1]?.ToString(), out int meBlockIndex))
            {
                return;
            }
            transition(mixer, meBlockIndex);
        }
Пример #10
0
        protected override void loadData()
        {
            base.loadData();
            BmdMixer bmdMixer = (BmdMixer)EditedModel;

            if (bmdMixer == null)
            {
                return;
            }
            ipAddressTextbox.Text            = bmdMixer.IpAddress;
            autoReconnectCheckbox.Checked    = bmdMixer.AutoReconnect;
            bmdMixer.ConnectionStateChanged += connectionStateChangedHandler;
            connectButton.Enabled            = !bmdMixer.ConnectionState;
            disconnectButton.Enabled         = bmdMixer.ConnectionState;
        }
        protected override void _run(object[] argumentValues)
        {
            BmdMixer mixer = argumentValues[0] as BmdMixer;

            if (mixer == null)
            {
                return;
            }
            if (!int.TryParse(argumentValues[1]?.ToString(), out int meBlockIndex))
            {
                return;
            }
            if (!int.TryParse(argumentValues[2]?.ToString(), out int inputId))
            {
                return;
            }
            setSource(mixer, meBlockIndex, inputId);
        }
 protected abstract void setSource(BmdMixer mixer, int meBlockIndex, int inputId);
Пример #13
0
 protected abstract void transition(BmdMixer mixer, int meBlockIndex);