Ejemplo n.º 1
0
        private void OpenPianoRoll(OpenFileDialog browseDialog)
        {
            MIDIParser midiParse = new MIDIParser(File.ReadAllBytes(browseDialog.FileName));

            midiParse.fileName = browseDialog.SafeFileName;

            midiParse.ParseFile();
            NoteParser noteParse = new NoteParser(midiParse);

            noteParse.ParseEvents();

            if (pianoRoll == null)
            {
                pianoRoll = new PianoRollView(midiParse, noteParse);
                cntPianoRoll.DataContext = pianoRoll;
            }
            else
            {
                pianoRoll.Reset(midiParse, noteParse);
            }
        }
Ejemplo n.º 2
0
 public NoteParser(MIDIParser midiParseIn)
 {
     midiEvents = midiParseIn.midiEvents;
     notes      = new List <Note>();
 }
Ejemplo n.º 3
0
        // Calculates the BPM from a byte array.
        private float CalculateBPM(byte[] tempoArray)
        {
            uint tempo = MIDIParser.FixedLengthArrayToUInt(tempoArray);

            return(MICROSECONDS_PER_MINUTE / tempo);
        }