Hi Romaric,

I assume you have something like a fallback([http,queue]). You can
setup your fade using the switch's "transitions" parameter (you should
be able to find examples to start with). If you don't want it all the
time, make the function read a reference to know whether it should be
a fade or a simple sequence. Finally, you can use another switch to
interactively make your queue active: something like
switch([{!ok},queue]) and a telnet command for toggling the ok
reference.

The problem with this approach: the switch back to HTTP will occur
when ok becomes false or the queue finishes its tracks, at which point
there is nothing to fade out.

You can try to do the fade-in as part of the switching transition, and
the fade-out simply at the level of the queue stream, i.e. wrap the
queue in fade.out(...). The difficulty now is to control the fade out
duration, set it to zero for "internal" tracks and non-zero only for
the last one. It's a bit tricky because the duration can currently
only be accessed through the metadata (and, iirc, only at the
beginning of the track). Intuitively, one workaround would be to merge
the tracks but merging doesn't work well with remaining time
estimations...

Finally, let me mention mix(..) which is a pretty flexible mixing
table. It might be an option if you're not looking for too much
automation. It's controllable via telnet (for example, liGuidsoap
implements fade-in/out on top of it, but it's requested manually).

If you're using SVN and the above isn't satisfying, we could perhaps
hand-craft something using source.dynamic().

These are all preliminary answers. Tell me which ways seems to make
sense for you, what is acceptable or not, and we can try to design a
good solution.

Cheers,
-- 
David

------------------------------------------------------------------------------
_______________________________________________
Savonet-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/savonet-users

Reply via email to