public void handle(MidiContext context, MidiEvent midiEvent) { this.context = context; this.musicSheet = context.MusicSheet; var channelMessage = midiEvent.MidiMessage as ChannelMessage; if (channelMessage.Command.ToString().Equals("NoteOn")) { ProcessNote(midiEvent); } }
public void handle(MidiContext context, MidiEvent midiEvent) { var metaMessage = midiEvent.MidiMessage as MetaMessage; var type = metaMessage.MetaType; IMetaTypeHandler handler = new MetaTypeHandlerFactory().Get(type.ToString()); if (handler != null) { handler.handle(context, midiEvent); } }
public void handle(MidiContext context, MidiEvent midiEvent) { IMidiMessage midiMessage = midiEvent.MidiMessage; var metaMessage = midiMessage as MetaMessage; byte[] bytes = metaMessage.GetBytes(); int tempo = (bytes[0] & 0xff) << 16 | (bytes[1] & 0xff) << 8 | (bytes[2] & 0xff); int _bpm = 60000000 / tempo; Tempo tempoObject = new Tempo(_bpm, 4); context.MusicSheet.AddMusicSymbol(tempoObject); }
public void handle(MidiContext context, MidiEvent midiEvent) { IMidiMessage midiMessage = midiEvent.MidiMessage; var metaMessage = midiMessage as MetaMessage; int[] timeSignature = new int[2]; byte[] timeSignatureBytes = metaMessage.GetBytes(); context._beatNote = timeSignatureBytes[0]; context._beatsPerBar = (int)(1 / Math.Pow(timeSignatureBytes[1], -2)); timeSignature[0] = timeSignatureBytes[0]; timeSignature[1] = (int)(1 / Math.Pow(timeSignatureBytes[1], -2)); context.CurrentTimeSignature = new Models.TimeSignature(timeSignature); context.MusicSheet.AddMusicSymbol(context.CurrentTimeSignature); }
public void handle(MidiContext context, MidiEvent midiEvent) { if (context.previousNoteAbsoluteTicks > 0) { } }