Exemple #1
0
        /// <summary>
        /// Create midi message
        /// </summary>
        /// <param name="portID">port id</param>
        /// <param name="statusByte">status byte</param>
        /// <param name="data1">data 1</param>
        /// <param name="data2">data 2</param>
        public OscMidiMessage(byte portID, byte statusByte, byte data1, byte data2)
        {
            FullMessage = 0;
            Note        = OscMidiNote.C0;

            PortID     = portID;
            StatusByte = statusByte;
            Data1      = (byte)(data1 & 0x7F);
            Data2      = (byte)(data2 & 0x7F);
        }
Exemple #2
0
        /// <summary>
        /// Parse a midi message from a single 4 byte integer
        /// </summary>
        /// <param name="value">4 byte integer portID | (type | channel) | data1 | data2</param>
        public OscMidiMessage(uint value)
        {
            PortID     = 0;
            StatusByte = 0;
            Data1      = 0;
            Note       = OscMidiNote.C0;
            Data2      = 0;

            FullMessage = value;
        }
Exemple #3
0
        /// <summary>
        /// Create midi message
        /// </summary>
        /// <param name="portID">the id of the destination port</param>
        /// <param name="type">the type of message</param>
        /// <param name="channel">the channel</param>
        /// <param name="data1">data argument 1</param>
        /// <param name="data2">data argument 2</param>
        public OscMidiMessage(byte portID, OscMidiMessageType type, byte channel, byte data1, byte data2)
        {
            if (channel >= 16)
            {
                throw new ArgumentOutOfRangeException("channel");
            }

            FullMessage = 0;
            Note        = OscMidiNote.C0;

            PortID     = portID;
            StatusByte = (byte)((int)type | (int)channel);
            Data1      = (byte)(data1 & 0x7F);
            Data2      = (byte)(data2 & 0x7F);
        }