From: David B. <dav...@en...> - 2008-05-23 21:36:37
|
Hi Benoit, hi list, I feel bad that I'm only looking seriously at this transition problem now. I opened a ticket (http://savonet.rastageeks.org/ticket/127) in order to address it before the release but I just realized that it isn't a bug at all. The sad thing is that Romain already pointed out the problem correctly in his comment, but I wasn't sharp enough to understand it when I read.... I'll stop apologizing, and explain -- the good point is that liq wasn't bugged. My proposition was the following: > def start(a,b) > sequence([jingle,b]) > end > playlists = switch(track_sensitive=false, transitions=[start,start], > [({0s-29s}, electro, > ({30s-59s}, reggae]) Here, the two intervals 0s-29s and 30s-59s do not overlap. When you write 0s-29s it actually exclude the 29th second. So there is a one second gap before 30s-59s is valid. What happens during this gap ? Neither of the children sources can be streamed. So the switch becomes unavailable. And the transition is unused: transitions are from one source to another, not from one source to unavailability. This unavailaility is handle by the operators above it, depending on what they are. Then the switch becomes available again, and the above operator starts relaying it again. But still no transition. In my case there was an mksafe() above the switch, adding some blank during the one second gap, which I wasn't noticing... Instead you can wrap the switch in the following variation that plays a beep when its source is not available, that's now very noticeable: beep_on_empty = fun (s) -> fallback(track_sensitive=false,[s,sine(880.)]) Anyway, with the correct intervals as in Romain's example (0s-30s and 30s-60s) the transition does occur and the effect is the one I expected, and the one you asked for. Sorry for the delay, David |