Hello Nick!

YES! Thanks a lot! That was exactly what I was looking for.


I'll follow up with my finished script in a few days as others mithg find it instructive. :)


Just wanted to let you know things work fine now!

Best regards,

René




Am 24.10.2017 um 00:10 schrieb Nicholas Vrtis:
Hi Rene,

I think your problem is how to reference variables defined outside a function OCAML handles scope.

To increment a number inside a function should be done like that.

timesplayed = ref 1

def bumpcounter () =
   timesplayed := !timesplay + 1
end

Note the 'ref' when you define the variable in the main program

Then to use that variable inside the function, you need to prefix it with !

and to set it, you use := instead of just =

Hope this helps.

Nick

On Sun, Oct 22, 2017 at 11:55 AM, René Jaun <[email protected] <mailto:[email protected]>> wrote:

    Hello Everyone,

    Sorry for re-bothering you with this,

    But I'm still stuck at the problem I described a few months ago.

    Back then, I've been trying to set up a "song counter"

    (which would enable me to switch the source to unavailable after
    having played like 15 items from playlist / source).

    But whatever I tried, I could not get a simple thing like

    songsplayed = songsplayed+1


    to work.


    Now, I just discovered that in latest LiquidSoap, there is the
    "time" function, which I think might do the trick just fine.


    However, I don't get this one to work either.

    Could someone try helping me out once more?


    What I try to do:

    As soon as my live source goes offline, music should be played for
    about 15 minutes.

    After 15 minutes, the "music" should become unavailable and
    instead, a single file should be played (telling the listeners
    that no broadcast is going on).


    What I get:

    Currently, the line {time - musictime < 300} results in:

    this value (referring to: musictime) has type
    ()->float

    but it should be a subtype of
    something that is a number type

    These are the important lines:

    #The stream should start with music

    musictime = time


    #Transition to live source

    def GoLive (old, new) =

    source.skip(old)

    sequence([old,new])

    end


    #Transition away from live


    def ComeHome(old,new) =

    musictime = time

    sequence(old,, new)

    end


    #The soures

    offairloop = mksave(playlist("/home/pi/radio/loop"))

    themusic = playlist("/mnt/storage/radio/music")


    #The switch, where the magic is supposed to happen

    nonliveradio = switch (track_sensitive = true, [

    ({time - musictime < 300}, themusic),

    ({true}, offairloop)

    ])


    #Later, I'll add the live source, and do a fallback: When live
    goes off, switch to nonliveradio...

    #But that I think is not important just yet :-(


    So once more, I'd appreciate any pointers.

    Thanks so much!
    And best regards,
    René



    
------------------------------------------------------------------------------
    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]
    <mailto:[email protected]>
    https://lists.sourceforge.net/lists/listinfo/savonet-users
    <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

Reply via email to