/// <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; } }
/// <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(); }
/// <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(); }
/// <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; } }