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® 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
