Hi David,
thanks for your thoughts. It brought me a step further.
> For the second one, I'd rather insert the single in a transition at
> the level of your switch (using the transitions parameter), something
> along the line of
> switch([rot,not_rot],transitions=fun(a,b)->sequence([a,s_intro,b]),whatever])
> where whatever could be fun(a,b)->sequence([a,b]).
To put the intro into a transition for the switch worked for me.
>> When s_seq becomes active (e.g. by a switch statement) s_intro is
>> played but at its end it is crossfaded into the first track of s_rot.
>> My assumption that the crossfading only applies to the transitions
>> between tracks of s_intro seems to be wrong. Any idea?
> Indeed, that's weird, smart_crossfade should only apply between tracks
> produced by the inner rotate(..), so roughly the tracks of s_rot. It
> should not apply between a track of s_intro and s_rot. Are you sure of
> what you heard? Could it come from some other part of your script?
You are right with your assumption: There was a smart_crossfade call
in another part of my script. After removing it the crossfade worked
as expected.
Continuing with my experiments I made some other observations for
which I don't have a solution by now. Let me first describe what I
want to implement.
I have several playlists (p1, p2, p3, ...) They are grouped into rotate calls:
p1 = playlist("..."), ..., p6 = playlist("...")
r1 = rotate(p1,p2,p3)
r2 = rotate(p4,p5,p6)
default = single("...")
j1 = single("...")
j2 = single("...")
What I want to implement is a schedule, so that the rotations are
switched at fixed times. The currently played track should be faded
out and an intro track is to be played preceding the new rotation scheme
s = switch(track-sensitive=false, transitions=
[ trans_to_r1, trans_to_r1,
trans_to_r2, trans_to_r2],
[
( { 0h-6h }, r1 ),
( { 12h-17h }, r1 ),
( { 6h-11h }, r2 ),
( { 18-23h }, r2 ),
])
s = fallback(track_sensitive=false, [s, default])
As I need the rotation switch on a exact time base I used
track_sensitive=false. But I had a problem with this: When rotation
scheme r1 becomes active the second time (assume we started the script
at midnight and we now have noon) trans_to_r1 is performed correctly
but the track of r1 that was played at 6h (when the switch to r2
occurred) is continued at exactly at the position when it was
interrupted. This is not what I expected. My hope was that it started
with a new track selected from r1.
Can it have to do with the transition definition I used?
def trans_to_r1
sequence([add(normalize=false, [blank(duration=7.), fade.final(a,
duration=7.)]), j1, b])
end
def trans_to_r2
sequence([add(normalize=false, [blank(duration=7.), fade.final(a,
duration=7.)]), j2, b])
end
I guess a simple "fade.final(a)" instead of the "add" construct should
also work for the fade-out.
BTW, can you explain the sequence's parameter "merge" in more detail.
I couldn't find any information in the documentation but assume it has
some
impact on metatag handling, etc.
Thanks for any ideas. I think they might be of general interest by
other users of Liquidsoap as well.
Andreas
------------------------------------------------------------------------------
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
_______________________________________________
Savonet-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/savonet-users