// Make construction private so that a system realtime message cannot
        // be constructed directly.
        private SysRealtimeMessage(SysRealtimeType type)
        {
            msg = (int)type;

            #region Ensure

            Debug.Assert(SysRealtimeType == type);

            #endregion
        }
        public MidiEvent(int absoluteTicks, IMidiMessage message)
        {
            MessageType = message.MessageType;
            MessageData = Int32.MinValue;
            byteData    = null;

            this.AbsoluteTicks = absoluteTicks;

            Deleted = false;

            Data2    = Data1 = Int32.MinValue;
            MetaType = Midi.MetaType.Unknown;
            Command  = ChannelCommand.Invalid;

            if (MessageType == Midi.MessageType.Channel)
            {
                SetChanMessageData((message as ChannelMessage).Message);
            }
            else if (MessageType == Midi.MessageType.Meta)
            {
                var msg = (message as MetaMessage);
                this.byteData = msg.GetBytes();
                this.MetaType = msg.MetaType;
                Text          = msg.Text ?? "";
            }
            else if (MessageType == Midi.MessageType.SystemRealtime)
            {
                this.realtimeType = (message as SysRealtimeMessage).SysRealtimeType;
                Text = GetText();
            }
            else if (MessageType == Midi.MessageType.SystemExclusive)
            {
                var sysEx = message as Midi.SysExMessage;

                this.MessageData = sysEx.Status;

                byteData = message.GetBytes();
                Text     = GetText();
            }
            else
            {
                MessageData = (message as ShortMessage).Message;
                Data1       = ShortMessage.UnpackData1(MessageData);
                Data2       = ShortMessage.UnpackData2(MessageData);
                byteData    = message.GetBytes();
                Text        = GetText();
            }
        }
        public static SysRealtimeMessage FromType(SysRealtimeType type)
        {
            SysRealtimeMessage e = null;

            switch (type)
            {
            case SysRealtimeType.ActiveSense:
                e = SysRealtimeMessage.ActiveSenseMessage;
                break;

            case SysRealtimeType.Clock:
                e = SysRealtimeMessage.ClockMessage;
                break;

            case SysRealtimeType.Continue:
                e = SysRealtimeMessage.ContinueMessage;
                break;

            case SysRealtimeType.Reset:
                e = SysRealtimeMessage.ResetMessage;
                break;

            case SysRealtimeType.Start:
                e = SysRealtimeMessage.StartMessage;
                break;

            case SysRealtimeType.Stop:
                e = SysRealtimeMessage.StopMessage;
                break;

            case SysRealtimeType.Tick:
                e = SysRealtimeMessage.TickMessage;
                break;
            }
            return(e);
        }
        public static SysRealtimeMessage FromType(SysRealtimeType type)
        {
            SysRealtimeMessage e = null;
            switch (type)
            {
                case SysRealtimeType.ActiveSense:
                    e = SysRealtimeMessage.ActiveSenseMessage;
                    break;

                case SysRealtimeType.Clock:
                    e = SysRealtimeMessage.ClockMessage;
                    break;

                case SysRealtimeType.Continue:
                    e = SysRealtimeMessage.ContinueMessage;
                    break;

                case SysRealtimeType.Reset:
                    e = SysRealtimeMessage.ResetMessage;
                    break;

                case SysRealtimeType.Start:
                    e = SysRealtimeMessage.StartMessage;
                    break;

                case SysRealtimeType.Stop:
                    e = SysRealtimeMessage.StopMessage;
                    break;

                case SysRealtimeType.Tick:
                    e = SysRealtimeMessage.TickMessage;
                    break;
            }
            return e;
        }
        // Make construction private so that a system realtime message cannot
        // be constructed directly.
        private SysRealtimeMessage(SysRealtimeType type)
        {
            msg = (int)type;

            #region Ensure

            Debug.Assert(SysRealtimeType == type);

            #endregion
        }
Пример #6
0
 /// <summary>
 /// Initializes a new instance of the SysRealtimeMessage class.
 /// </summary>
 /// <param name="type">
 /// The type of system realtime message.
 /// </param>
 public SysRealtimeMessage(SysRealtimeType type)
 {
     Type = type;
 }
Пример #7
0
 /// <summary>
 /// Initializes a new instance of the SysRealtimeMessage class.
 /// </summary>
 /// <param name="type">
 /// The type of system realtime message.
 /// </param>
 public SysRealtimeMessage(SysRealtimeType type)
 {
     Type = type;
 }