Skip to content

Events are not linked  #74

@Jugbot

Description

@Jugbot

In the latest version, duration is always zero. I have tried doing time analysis first.

smf::MidiFile midi_parser(in);
midi_parser.linkNotePairs();
midi_parser.doTimeAnalysis();

In the loop:

if (event.isNoteOn()) {
  double duration = event.getDurationInSeconds();
  double start = event.seconds;
  int pitch = event.getKeyNumber();
  log("NOTE ON %i, %f, %f", pitch, start, duration);
} else if (event.isNoteOff()) {
  log("NOTE OFF %i, %f", event.getKeyNumber(), event.seconds);
}

Sample output:
NOTE ON 49, 272.571792, 0.000000
NOTE ON 53, 272.571792, 0.000000
NOTE ON 56, 272.571792, 0.000000
NOTE OFF 49, 275.013760
NOTE OFF 53, 275.013760
NOTE OFF 56, 275.013760

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions