On Sunday 28 Sep 2003 10:49 pm, Guillaume Laurent wrote: > I was wondering if it would work for the sequencer to recompute the > events play time by dividing by the "mapped" tempo (the tempo which > was used to compute the event's time) and multiplying by the user > requested tempo (the tempo currently set by the user) ?
Not really. There is no "tempo currently set by the user", although there's no reason we couldn't also have a tempo scaling factor (somewhat like the MIDI file timebase) that the user could slide up and down to change the relationship between nominal and played tempo. Instead, tempo is something that covers a particular region of musical time. Remember that tempo can change any number of times in a composition. If we have tempo A from the start to bar six, then tempo B for ten more bars, then tempo D for the rest, and the user inserts a change to tempo C four bars after tempo B, how would you suggest the sequencer should trivially remap its performance times? The new tempo won't affect anything before its insertion point, and will affect times many tempo changes after its insertion point in rather non-obvious ways. To do the sort of thing you're suggesting, the sequencer _could_ store MappedEvent times as timeT and maintain a separate tempo map (duplicate of the Composition's map) which it uses to calculate to RealTimes itself. That would certainly make adding and removing tempo changes a more efficient operation, but it would also add an overhead to playback and other RealTime-related operations, and it would be more complicated to code. Chris ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Rosegarden-devel mailing list [EMAIL PROTECTED] - use the link below to unsubscribe https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
