Example #1
0
 /// <summary>
 /// Visit meta messages.
 /// </summary>
 /// <param name="message">
 /// The message to visit.
 /// </param>
 public override void Visit(MetaMessage message)
 {
     // If this is a tempo change message, change the tempo of the tick
     // generator.
     if (message.Type == MetaType.Tempo)
     {
         TempoChange change = new TempoChange(message);
         //tickGen.Tempo = change.Tempo;
         tickGen.Tempo = 60000000f / change.Tempo;
     }
 }
Example #2
0
        /// <summary>
        /// Update playback settings based on the stored set of MIDI messages.
        /// </summary>
        public void Chase()
        {
            if (channelPressureMessage != null)
            {
                midiSender.Send(channelPressureMessage);
            }

            if (polyPressureMessage != null)
            {
                midiSender.Send(polyPressureMessage);
            }

            if (programChangeMessage != null)
            {
                midiSender.Send(programChangeMessage);
            }

            if (pitchBendMessage != null)
            {
                midiSender.Send(pitchBendMessage);
            }

            for (int i = 0; i < controllers.Length; i++)
            {
                if (controllers[i] != null)
                {
                    midiSender.Send((ChannelMessage)controllers[i]);
                }
            }

            if (tempoChangeMessage != null)
            {
                TempoChange tChange = new TempoChange(tempoChangeMessage);

                tickGenerator.Tempo = 60000000f / tChange.Tempo;
            }

            Initialize();
        }
Example #3
0
        /// <summary>
        /// Update playback settings based on the stored set of MIDI messages.
        /// </summary>
        public void Chase()
        {
            if(channelPressureMessage != null)
                midiSender.Send(channelPressureMessage);

            if(polyPressureMessage != null)
                midiSender.Send(polyPressureMessage);

            if(programChangeMessage != null)
                midiSender.Send(programChangeMessage);

            if(pitchBendMessage != null)
                midiSender.Send(pitchBendMessage);

            for(int i = 0; i < controllers.Length; i++)
            {
                if(controllers[i] != null)
                    midiSender.Send((ChannelMessage)controllers[i]);
            }

            if(tempoChangeMessage != null)
            {
                TempoChange tChange = new TempoChange(tempoChangeMessage);

                tickGenerator.Tempo = 60000000f/tChange.Tempo;
            }

            Initialize();
        }
Example #4
0
 /// <summary>
 /// Visit meta messages.
 /// </summary>
 /// <param name="message">
 /// The message to visit.
 /// </param>
 public override void Visit(MetaMessage message)
 {
     // If this is a tempo change message, change the tempo of the tick
     // generator.
     if(message.Type == MetaType.Tempo)
     {
         TempoChange change = new TempoChange(message);
         //tickGen.Tempo = change.Tempo;
         tickGen.Tempo = 60000000f/change.Tempo;
     }
 }