Some clarification (hopefully) on my previous mail:
The parent should trigger the child and not vice versa (as it seems to
be in current state). Why? The parent is the only one knowing what
input-sources it needs and when it needs them, so in some slightly
oversimplified pseudo-code this would be something like this:
doProcess()
{
for( int n=0; n<senders.size(); ++n )
{
if( !sender[n].isReady() )
{
// recursively go through all childs, calculating their result
sender[n].doProcess();
}
// OK, this child is done, so mix it into our own output
mix( _buf, sender[n].buf, amt );
}
// If the track-output is a sender, too, this is all needed to be done.
// If the track-output is not handled as a source we need to handle
// all track-outputs directly sending to us separately here...
//
//for( int n=0; n<sources.size(); ++n )
//{
// mix( _buf, source[n].buf, amt );
//}
}
Any comments?
cu
Stefan
------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
lucky parental unit. See the prize list and enter to win:
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
LMMS-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/lmms-devel