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

Reply via email to