Hi,

On Wed, Mar 24, 2010 at 3:47 PM, Romain Beauxis <[email protected]> wrote:
> s = add([blank(),s])
> The first line will add a blank source to s. The behaviour of the add operator
> is to relay tracks and metadata from the first source only. Hence, the
> resulting source will have only one track and no metadata.
> [...]
> There might be an operator for removing track markers, but I can find it now..

This is probably not the best way to merge tracks (remove track
limits). As you point out it makes the source infallible, playing
silence when there's no track. Also, it divides the volume by two (but
setting normalize=false will fix that) and removes metadata (but
changing the order of s and blank() will fix that.

Another possibility is to use cross:
def merge_tracks(s)
  cross(duration=0., fun (a,b)->sequence(merge=true,[a,b]), s)
end

It's less costly than performing additions. However it requires that s
is in a separate clock, which is actually useless since we use
duration=0.

To conclude, a dedicated operator which just merges tracks, with no
other unwanted effect, wouldn't be stupid. But I'm not sure that it's
the good solution to the problem initially raised in this thread.

Cheers,
-- 
David

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Savonet-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/savonet-users

Reply via email to