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

Reply via email to