From: Romain B. <to...@ra...> - 2013-08-11 20:34:01
|
Hi Bernd,2013/8/11 Bernd Naumann <ber...@go...> > > Hallo again, > I have two questions and after two days of googleing I thing I'm going nuts ;_; > > Question #1: How can I achieve that the current track from a playlist is skiped when I 'switch'/fallback to a live stream? > Here is my current LS config: > > 2 myplaylist = playlist(mode="random", reload=3600, "/var/lib/mpd/playlists/8bitpeoples.m3u") > 6 idle_radio = myplaylist > 11 live = input.http("http://localhost:8000/live.mp3") > 12 > 13 def to_live(idle_radio, live) > 14 idle_radio = fade.final(idle_radio) > 15 live = fade.initial(live) > 16 add([idle_radio, live]) > 17 end > 18 > 19 def to_idle_radio(live, idle_radio) > 22 idle_radio = fade.initial(idle_radio) > 23 add([live, idle_radio]) > 24 end > 25 > 27 radio = fallback(track_sensitive=false, > 28 transitions = [to_live, to_idle_radio], [live, skip_blank(idle_radio), security]) > 29 > 32 output.icecast( > 33 %mp3(bitrate=128), > 34 fallible = true, > 35 mount = "/mp3_high.mp3", > 36 host = "localhost", port = 8000, password = "***", > 37 name = "mp3 high quality", description = "", genre = "experimental", public = false, > 38 url = "***:8000/mp3_high.mp3", > 39 radio) > > The smooth fadeout of the current track and fadein to the live source works pretty well, but when the live source goes off, I start in the middle of the old playlist track, which is a normal like I've read. I found the fallback.skip operator but I don't understand how to implement it in my current config. If I add `source.skip(ilde_radio)` to `def to_idle_radio` LS skips ALL tracks after going from 'live' back to 'idle_radio' :/ Hmnm... I have no idea why all tracks would be skipped. Here are a couple of things to consider tho: * First, I'd suggest calling source.skip during the transition to live as this may give the playlist a chance to prepare a new track for the next transition, while skipping a track during a transition may result in audio glitches and temporary unavailability of the source. I think that is the reason for the security jingle that you hear. * Then, as mentioned by Ashworth Payne and as you already seen, the first source in the add() should be the target source, in order to pass metadata and track markers of the new source. Romain |