コード例 #1
0
        /// <summary>
        /// Initializes a new instance of the SysCommonMessage class with a
        /// system common message packed as an integer.
        /// </summary>
        /// <param name="message">
        /// The packed system common message to use for initialization.
        /// </param>
        public SysCommonMessage(int message)
        {
            // Enforce preconditions.
            if (!SysCommonMessage.IsSysCommonMessage(message))
            {
                throw new ArgumentException(
                          "Message is not a system common message.", "message");
            }

            //
            // Initialize properties.
            //

            Type  = (SysCommonType)ShortMessage.UnpackStatus(message);
            Data1 = ShortMessage.UnpackData1(message);
            Data2 = ShortMessage.UnpackData2(message);
        }
コード例 #2
0
ファイル: ChannelMessage.cs プロジェクト: Pyrdacor/AmiMus
        /// <summary>
        /// Initializes a new instance of the ChannelMessage class with a
        /// channel message packed into an integer.
        /// </summary>
        /// <param name="message">
        /// The packed channel message to use for initialization.
        /// </param>
        /// <exception cref="ArgumentException">
        /// Thrown if the message does not represent a channel message.
        /// </exception>
        public ChannelMessage(int message)
        {
            // Get status byte.
            int status = UnpackStatus(message);

            // Enforce preconditions.
            if (!ChannelMessage.IsChannelMessage(status))
            {
                throw new ArgumentException("Message is not a channel message.",
                                            "message");
            }

            //
            // Initialize properties.
            //

            Command     = (ChannelCommand)(message & ~CommandMask);
            MidiChannel = message & ~ChannelMask;
            SetData1(ShortMessage.UnpackData1(message));
            SetData2(ShortMessage.UnpackData2(message));
        }