Ah sorry, forgot to specifically answer your question. Basically valueAt() of song-global automation pattern will only return what is set inside this automation pattern. If the user has connected other automation patterns, values from there won't be reflected in the song-global automation pattern (but sent to the model upon playback (via AutomationTrack::play(...)->AutomationPattern::processMidiTime(...)) so you would have to make deeper changes in order to get the desired functionality working.
Proposal for a generic implementation: duplicate AutomationPattern::isAutomated() to AutomationPattern::patternsForModel() (or similiar name) which returns a list of all AutomationPattern (pointers) to which the given AutomatableModel is connected to. Then you can traverse this list, elaborate the position of the individual AutomationPatterns and using these information retrieve and calculate the actual value. I'm however unsure where to implement this functionality, i.e. float AutomatableModel::globalAutomationValueAt( const MidiTime& ) or float AutomationPattern::globalValueAt( const AutomatableModel *, const MidiTime& ). HTH Toby ------------------------------------------------------------------------------ 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
