private Piece LoadMidi(Sequence sequence) { // Create new piece var piece = new Piece(sequence.Division) { //TimeSignature = new TimeSignature(4, 4), //Tempo = new Tempo(4, 120), Clef = Enums.ClefType.G,// Clef treble Division = sequence.Division }; // Create midi strategie var midiStrategy = new MidiStrategy(piece); // Previous midi event MidiEvent previousMidiEvent = null; foreach (var track in sequence) { // Handle midi events foreach (var midiEvent in track.Iterator()) { midiStrategy.HandleMidiEvent(previousMidiEvent, midiEvent); previousMidiEvent = midiEvent; } } return(piece); }
public MarkerHandler(MidiStrategy midiStrategy, Piece piece) { _midiStrategy = midiStrategy; _piece = piece; _repeat = null; _midiStrategy.OpenBlocks = 0; }
public MidiChannelHandler(MidiStrategy midiStrategy, Piece piece) { _midiStrategy = midiStrategy; Piece = piece; _previousMidiKey = 60;// Central C _previousNoteAbsoluteTicks = 0; _notesOfBarReached = 0; }
public MetaChannelHandler(MidiStrategy midiStrategy) { _midiStrategy = midiStrategy; }