From: Simone D. M. <sim...@gm...> - 2015-03-30 08:10:49
|
Hello, What does this error mean? This is an error that I continue receiving on my log from months, and I think from friday things become unmanageable. In other words, I run the script, after some minutes, or hours, it depends it is random, but all become simply silence. The script is running but no activity is logged, there is the mountpoint /stream with no song and as I say before, what you can listen is simply silence. The last entry in the log is the error in the subject. So now I take a simplest script, with no live, no recordings, only music and playlist. The script runs but anyway I continue having following errors: 2015/03/30 09:45:38 [buffer_19085:3] Warning: #get called when not #is_ready! This is normal if an operator using this source has been unused while the source has gone unavailable. If unsure about this warning, you are very welcome to report it and ask for clarifications. I can't understand how it is possible since all the music is stored on the hard disk and I'm using only playlist. I past here my script, the simplest script I have, because I think I should start solving problems from few elements. Please can you review it? Thank you! *** #!/usr/bin/liquidsoap set ("log.file.path","/home/radio/music.log") #customized crossfade function def smart_crossfade (~start_next=5.,~fade_in=1.,~fade_out=3., ~default=(fun (a,b) -> sequence([a, b])), ~high=-15., ~medium=-32., ~margin=4., ~width=2.,~conservative=false,s) fade.out = fade.out(type="sin",duration=fade_out) fade.in = fade.in(type="sin",duration=fade_in) add = fun (a,b) -> add(normalize=false,[b, a]) log = log(label="smart_crossfade") def transition(a,b,ma,mb,sa,sb) list.iter(fun(x)-> log(level=4,"Before: #{x}"),ma) list.iter(fun(x)-> log(level=4,"After : #{x}"),mb) if ma["source"] == "jingle" or mb["source"] == "jingle" then # log("Old or new file is a jingle: sequenced transition.") sequence([sa, sb]) elsif # If A and B are not too loud and close, fully cross-fade them. a <= medium and b <= medium and abs(a - b) <= margin then # log("Old <= medium, new <= medium and |old-new| <= margin.") # log("Old and new source are not too loud and close.") # log("Transition: crossed, fade-in, fade-out.") add(fade.out(sa),fade.in(sb)) elsif # If B is significantly louder than A, only fade-out A. # We don't want to fade almost silent things, ask for >medium. b >= a + margin and a >= medium and b <= high then # log("new >= old + margin, old >= medium and new <= high.") # log("New source is significantly louder than old one.") # log("Transition: crossed, fade-out.") add(fade.out(sa),sb) elsif # Opposite as the previous one. a >= b + margin and b >= medium and a <= high then # log("old >= new + margin, new >= medium and old <= high") # log("Old source is significantly louder than new one.") # log("Transition: crossed, fade-in.") add(sa,fade.in(sb)) elsif # Do not fade if it's already very low. b >= a + margin and a <= medium and b <= high then # log("new >= old + margin, old <= medium and new <= high.") # log("Do not fade if it's already very low.") # log("Transition: crossed, no fade.") add(sa,sb) # What to do with a loud end and a quiet beginning ? # A good idea is to use a jingle to separate the two tracks, # but that's another story. else # Otherwise, A and B are just too loud to overlap nicely, # or the difference between them is too large and overlapping would # completely mask one of them. # log("No transition: using default.") default(sa, sb) end end smart_cross(width=width, duration=start_next, conservative=conservative, transition,s) end #time signals definitions senzajingleotto = single('/home/radio/timer/senzajingle_segnale_orario_ore_8.mp3') senzajinglenove = single('/home/radio/timer/senzajingle_segnale_orario_ore_9.mp3') senzajingledieci = single('/home/radio/timer/senzajingle_segnale_orario_ore_10.mp3') senzajingleundici = single('/home/radio/timer/senzajingle_segnale_orario_ore_11.mp3') senzajingledodici = single('/home/radio/timer/senzajingle_segnale_orario_ore_12.mp3') senzajingletredici = single('/home/radio/timer/senzajingle_segnale_orario_ore_13.mp3') senzajinglequattordici = single('/home/radio/timer/senzajingle_segnale_orario_ore_14.mp3') senzajinglequindici = single('/home/radio/timer/senzajingle_segnale_orario_ore_15.mp3') senzajinglesedici = single('/home/radio/timer/senzajingle_segnale_orario_ore_16.mp3') senzajinglediciassette = single('/home/radio/timer/senzajingle_segnale_orario_ore_17.mp3') senzajinglediciotto = single('/home/radio/timer/senzajingle_segnale_orario_ore_18.mp3') senzajinglediciannove = single('/home/radio/timer/senzajingle_segnale_orario_ore_19.mp3') senzajingleventi = single('/home/radio/timer/senzajingle_segnale_orario_ore_20.mp3') senzajingleventuno = single('/home/radio/timer/senzajingle_segnale_orario_ore_21.mp3') #playlist paths and secure source definitions PROGRAMMA_ITALIA_JINGLE = single('/home/radio/jingle_programmi/modello_italia.mp3') security = single("/var/www/nvapple.it/suono.mp3") ITALIAN_MUSIC_PLS = "/home/radio/music/italiane" HITS_PLS ="/home/radio/music/gold" ANNI90_PLS = "/home/radio/music/dance90s" STRANIERA_PLS ="/home/radio/music/straniera" MODERN_PLS ="/home/radio/modern.m3u" ANNI60_PLS = "/home/radio/music/60s" ANNI70_PLS = "/home/radio/music/70s" ANNI80_PLS = "/home/radio/music/80s" LIVE_EMOTION_PLS = "/home/radio/music/live" TALENTONE_MUSIC_PLS = "/home/radio/music/talentone" JINGLES_PLS = '/home/radio/jingle' TALENTONE_JINGLE = single('/home/radio/jingle_programmi/talentone.mp3') #some playlists NO_STOP = random([playlist(reload=7200,ITALIAN_MUSIC_PLS),playlist(reload = 7200,HITS_PLS),playlist(reload = 7200, STRANIERA_PLS),playlist(reload = 7200,ANNI60_PLS),playlist(reload = 7200, ANNI70_PLS),playlist(reload=7200,ANNI80_PLS),playlist(reload=7200,ANNI90_PLS)]) ANNI80_90 = random([playlist(reload = 7200,ANNI90_PLS),playlist(reload = 7200,STRANIERA_PLS)]) #main source definition default=fallback(track_sensitive = false, [ switch([ ({8h05s-10h}, fallback([delay(1200., PROGRAMMA_ITALIA_JINGLE),playlist(reload = 7200,ITALIAN_MUSIC_PLS)])), ({10h05s-11h}, playlist(reload = 7200,MODERN_PLS)), ({11h05s-12h}, playlist(reload = 7200,HITS_PLS)), ({12h05s-14h}, NO_STOP), ({14h05s-16h}, playlist(reload = 7200,MODERN_PLS)), ({16h05s-18h}, ANNI80_90), ({18h05s-19h}, playlist(reload = 7200,MODERN_PLS)), ({19h05s-20h},playlist(reload = 7200,LIVE_EMOTION_PLS)), ({20h05s-21h}, sequence([TALENTONE_JINGLE,playlist(reload = 7200,TALENTONE_MUSIC_PLS)])), ({21h05s-22h},playlist( reload = 7200,HITS_PLS)), ({22h-8h}, NO_STOP), ]) ]) #put all sources together to complete the radio streaming radio = fallback(track_sensitive = false,[request.queue(id="request"),smart_crossfade(eat_blank(max_blank=2.,rotate(weights=[1,2],[playlist(reload = 7200,mode = 'randomize', JINGLES_PLS),default]))), security]) radio = smooth_add(normal=radio, special =switch([({8h0m0s}, senzajingleotto), ({9h0m0s}, senzajinglenove), ({10h0m0s}, senzajingledieci), ({11h0m0s}, senzajingleundici), ({12h0m0s}, senzajingledodici), ({13h0m0s}, senzajingletredici), ({14h0m0s}, senzajinglequattordici), ({15h0m0s}, senzajinglequindici), ({16h0m0s}, senzajinglesedici), ({17h0m0s}, senzajinglediciassette), ({18h0m0s}, senzajinglediciotto), ({19h0m0s}, senzajinglediciannove), ({20h0m0s}, senzajingleventi), ({21h0m0s}, senzajingleventuno)])) normalization added here radio = rewrite_metadata([("title",'"$(title) - test metadata"')], radio) radio = normalize(radio) #enable icecast streaming output.icecast(%mp3( samplerate=44100, stereo=true, bitrate=128), mount="/stream", name="NvRadio only music", host="127.0.0.1", port=8000, password="xxx", genre="Mixed,Various,Other", url="http://www.nvapple.it/", description = "Solo musica !!", public=false,radio) |