On 04/26/2014 12:37 AM, Tobias Doerffel wrote: > Hi, > > global automation patterns are placed in Song::globalAutomationTrack() > which is a hidden/internal automation track where all automation > patterns are placed at MidiTime( 0 ). This all is provided for > convenience as the user does not have to deal with managing and > connecting automation patterns if he just wants to control a knob/... > in the song-global domain. > > If the song-global automation pattern of a control (i.e. tempo) is not > empty and you manually assign another automation pattern it will be > the same as having two automation patterns connected, i.e. the > behaviour can be undefined if they overlap (which will certainly be > the case for song-global automation patterns). > > This is just what I remember from the implementation - correct me if I'm > wrong. >
This doesn't quite answer my question, or possibly I'm being stupid and not understanding things here... What I mean is, say I want to reliably know the tempo at Miditime x... can I just read the value in the song-global pattern at Miditime x and assume it's correct? If we assume the usual situation, where the song-global automation is empty (AFAIK most people don't really use these), and tempo is controlled with regular automation patterns... wouldn't reading only the song-global pattern then return the wrong value? Or are all regular automation patterns automatically connected to the song-global pattern? How is this handled at playback? When I press play, and the playhead moves over a (non-global) automation pattern connected to tempo... where does the playback routine read the tempo from? I'm asking these questions because I'm trying to figure out what exactly is needed to a) fix the time widget and b) make sampletracks tempo-aware so they can be played from the middle. To do both of these reliably, we need to be able to convert miditime to absolute time in a way that tempo automation is taken in account... ------------------------------------------------------------------------------ Start Your Social Network Today - Download eXo Platform Build your Enterprise Intranet with eXo Platform Software Java Based Open Source Intranet - Social, Extensible, Cloud Ready Get Started Now And Turn Your Intranet Into A Collaboration Platform http://p.sf.net/sfu/ExoPlatform _______________________________________________ LMMS-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/lmms-devel
