Martin,
If you look at the documentation for on_blank (
http://liquidsoap.info/doc-dev/reference.html#on_blank), you can set the
on_blank(max_blank=40.0, handler, phono)
Note that max_blank takes a float, or you need the period.
You can also specify an on_noise=dostartup
So, what I would do is have the 'handler' check a Boolean to make sure the
song has started, and only shutdown if it has.
Then in the dostartup function, I would change the Boolean so that when
'handler' is called the next time (which would be after the end of the
song), it would issue the shutdown.
Check some of the examples on how to get and set a variable within
functions.
Nick
On Tue, Dec 5, 2017 at 5:22 AM, Martin Knapp <[email protected]> wrote:
> Hi,
> it works! 30 seconds after finishing the playback the Raspi shuts down -
> thanks again, Nick!
> I imagine that 30 sec. is the default value. It's a little short, however,
> when it comes to jumping of the sofa, running to the turntable and put
> another record to play ;)
> I've read that with Liquidsoap's blank operators you can fine-tune the
> length and threshold parameters.
> I have been trying to do so with on_blank, following the samples for
> skip_blank etc.:
>
> source = on_blank(handler,length=120.,phono)
>
> The result is that Liquidsoap doesn't start any longer.
>
> Hence my questions (it seems that bthere is no documentation on the
> on_blank params?):
> 1. How can I define the minimum length a blank must have in order to be
> recognized as such?
> 2. How can I avoid that the shutdown script is triggered after starting
> the Raspi and before any record has been played, e.g. in cases that it
> takes longer to find the record, clean it etc.?
>
> In other words: The perfect setup for this vinyl streamer would be:
> - Start the Raspi
> - Liquidsoap is waiting (indefinitely) for the first record to be played
> - Liquidsoap triggers the shutdown script after the amount of time defined
> for on_blank recognition.
> Thanks & best regards
> Martin
>
>
> Am 04.12.2017 um 12:35 schrieb Nicholas Vrtis:
>
> It looks like you are trying to output the source 'phono', but it is the
> source 'source' that has the 'on_blank'.
> It might be helpful to see the log to see what it happening, and to put a
> print in the on blank handler to make sure it is actually being triggered.
>
> Nick
>
> On Mon, Dec 4, 2017 at 4:36 AM, Federico Allegretti <[email protected]>
> wrote:
>
>> And how do you resolve?
>>
>> Il 01/dic/2017 01:15 PM, "Martin Knapp" <[email protected]> ha
>> scritto:
>>
>>> Hi,
>>> Please apologize if I bring my question (below) up again, It seems that
>>> I just can't resolve the on_blank issue by myself. I would be very grateful
>>> for being pointed to some additional information and/or examples (if they
>>> exist).
>>> Regards
>>> Martin
>>>
>>> Am 23.11.2017 um 21:19 schrieb Martin Knapp:
>>>
>>> Good morning everybody,
>>> in the Slimdevices forums (LMS, squeezelite etc.) we've been looking for
>>> a way to shut down a Raspberry Pi automatically after playing some music
>>> when no sound is detected on the sound card any longer. This can be helpful
>>> in our cases where we are recording or streaming "vinyl" from vintage
>>> turntables into a multiroom enabled system like LMS.
>>> For creating and transmitting the vinyl stream (FLAC), I use Liquidsoap
>>> and Icecast. That works pretty fine, and I'm very thankful for having
>>> discovered Liquidsoap.
>>> My recipe is:
>>>
>>> #!/usr/bin/liquidsoap
>>> # set the path and permissions for the logfile
>>> set("log.file.path","/var/log/liquidsoap/phono.log")
>>> set("log.file.perms",777)
>>> #set("log.unix_timestamps",true)
>>> #input from soundcard
>>> phono = input.alsa(bufferize=true,fallible=false,device="hw:0")
>>> #stream it to local icecast, default port and password
>>> output.icecast(%ogg(%flac(samplerate=44100,channels=2,compression=5,bits_per_sample=16)),
>>> mount="/phono", name="Phono", format="audio/ogg", description="Turntable
>>> FLAC", url="http://192.168.178.200”"
>>> <http://192.168.178.200”>, genre = "Misc", phono)
>>>
>>> Now we have been looking at the on_blank operator described in
>>> http://liquidsoap.fm/doc-dev/blank.html, which seems to be able to do
>>> the job of shutting down the Pi after finishing the playback of a vinyl
>>> record. I created a shut down script (shut_on_blank.sh, owner: root) and
>>> tried to insert:
>>>
>>> def handler()
>>> system("/etc/liquidsoap/shut_on_blank.sh")
>>> end
>>> source = on_blank(handler,phono)
>>>
>>> into the .liq file above, but the result was that the entire stream
>>> generation didn't work any longer.
>>>
>>> What am I doing wrong?
>>>
>>> The second question that arose was whether the length of the blank to be
>>> detected as such can be configured with on_blank, too - as it seems to be
>>> possible with max_blank= for strip_blank. When searching through the
>>> mailing list, I also found a post saying that the default threshold for
>>> blank detection is -40db, and that it can be adjusted - but not
>>> how/where. It seems that we weren't able to find further information on
>>> this in the docs.
>>>
>>> Thanks for your help & best regards
>>> Martin
>>>
>>>
>>> ------------------------------------------------------------
>>> ------------------
>>> Check out the vibrant tech community on one of the world's most
>>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>> _______________________________________________
>>> Savonet-users mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/savonet-users
>>>
>>>
>> ------------------------------------------------------------
>> ------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> _______________________________________________
>> Savonet-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/savonet-users
>>
>>
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>
>
>
> _______________________________________________
> Savonet-users mailing
> [email protected]https://lists.sourceforge.net/lists/listinfo/savonet-users
>
>
>
> ------------------------------------------------------------
> ------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Savonet-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/savonet-users
>
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Savonet-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/savonet-users