> One can imagine using GMPI to implement a MIDI only plugin. It seems that > MIDI data should be processed solely in musical time. With knowledge of tempo and friends, you HAVE knowledge of musical time. > The host could convert musical events to a sample timeline, but what if we > adopt a note event structure that has an implicit duration? Then the > note-off time (in the future) become corrupt if the tempo changes between Let's not do that - as I mentioned in my other post - there is no future beyond this processing block. By the time a processing block begins, all events for that block are delivered. The sequencer will send you a note_off when it is ready. > MIDI quantizers and arpeggiators fall into this category. It's not only > about being able to deal with tempo changes, its about being able to > position musical (output) data on the song's timeline without worrying the > position might change later. Keep your beliefs about the future internal. An arpegiator knows that the next note must be played in (for example) 1 beat. Store the tick position of it internally. If you're an arpegiator, you are also tracking tempo and meter and play position. If any of those change, you have to adjust your notion of the future, but that is OK. When the process() block comes up which includes the tick you want, send your event. Maybe I am missing something? ---------------------------------------------------------------------- Generalized Music Plugin Interface (GMPI) public discussion list Participation in this list is contingent upon your abiding by the following rules: Please stay on topic. You are responsible for your own words. Please respect your fellow subscribers. Please do not redistribute anyone else's words without their permission. Archive: //www.freelists.org/archives/gmpi Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe