Rémi Bernon (@rbernon) commented about dlls/dmime/midi.c:
FIXME("MIDI event status %#02x, time +%lu, not supported\n", event->status, delta_time);
}
return S_OK;
}
-HRESULT midi_parser_next_track(struct midi_parser *parser, IDirectMusicTrack **out_track, MUSIC_TIME *out_length) +static HRESULT midi_parser_handle_program_change(struct midi_parser *parser, struct midi_event *event) +{
- HRESULT hr;
- DMUS_IO_INSTRUMENT instrument;
- instrument.dwPChannel = event->status & 0xf;
- instrument.dwFlags = DMUS_IO_INST_PATCH;
- instrument.dwPatch = event->data[0];
- if (parser->band_time != parser->time)
- {
Does it make any difference if you create one band for every event or one band for every event with the same time and add multiple instruments?
It seems to me that unless later proven that we need to do otherwise, you could just create a band on every event and then wouldn't need to keep last band and band time in the parser.