I was wondering if someone could clarify how time is represented in the MidiBuffer class?
int getFirstEventTime () const throw ()
Returns the sample number of the first event in the buffer.
If I am making a Midi only application that does not use an Audio Device, what do I relate the “sample number” to? Also, in my app I am trying to record streams from separate Midi Devices, but they all relate to a specific performer (two ppl are hooked up to the same computer and I need to save their Midi Streams as Performer 1[device A, device B] and performer 2[device C, device F]). The midi data is predominantly CC information, which makes me think the connivence functions in MidiMessageSequence wouldn’t be right for this, and that I should stay with plain old MidiBuffer.
Up until now I’ve been packing the Midi Data into an XML file. Each Child Element contains Device_Name, CC_Number or Note_Number, Value, and TimeStamp. Since the TimeStamps seem to deal with milliseconds, I’m unsure how to handle the packed MidiBuffer for time using sample numbers?
I am doing some machine learning on the MidiData, so I need ways of evaluating time and values, and also grouping relevant streams together.
Thanks for any clarifications or thoughts