AutoDJ, Playlists, Forced Metadata Refresh, and other possible Noob questions.
  • Hi, we have recently been building out an airtime server, with hopes to create more for a growing platform.  We have run into a few hurdles, however.  We found this link AutoDJ Sweetest Vosses Tech and created and linked the folders with the correct scripts, and restarted liquidsoap, but it does not seem to be kicking in.  Which brings me to my next question: How and where are the playlist files saved on Airtime?  Our script looks like this 

    ######################################Start##################################

    # Music
    autodj = playlist("~/srv/playlists/autodj/*.mp3")

    # Some jingles
    jingles = playlist("~/srv/playlists/jingles/*.mp3")

    # If something goes wrong, we'll play this
    security = single("~/srv/playlists/autodj/*.mp3")

    # Start building the feed with music
    radio = autodj

    # Now add some jingles
    radio = random(weights = [1, 4],[jingles, radio])

    # And finally the security

    # this is added
    #please watch for the period behind the numbers below they are float

    default = fallback(track_sensitive=false,[strip_blank(max_blank=45.,threshold=-45.,default),radio])

    #########################################END#####################################

    Which connects to this:

    # AUTO DJ
    %include "autodj.liq"

    ref_off_air_meta = ref off_air_meta
    if !ref_off_air_meta == "" then
        ref_off_air_meta := "Airtime - offline"
    end
    #default = rewrite_metadata([("title", !ref_off_air_meta)], default)
    ignore(output.dummy(default, fallible=true))

    Which are both in /srv/backup/fallback, which we connected to /etc/liquidsoap per sudo ln -s /etc/liquidsoap/  /srv/airtime/backup/fallback/

    Because we dont know where playlists are created in the server, so we just made file folders as a cheap solution.  Does this script work with playlists made in the Airtime GUI?

    Next question is, not all mixes that are uploaded show the correct time.  Many show 30-40 minutes when they are in fact an hour.  Our manual fix is just to open metadata and save, but cant we either do a force refresh, or some kind of automatic metadata conversion upon ingest?

    Last question, anyone know why BUTT 0.1.14 doesnt work with 2.5.1?  Is there a patch for it?

    Thank you very much for any help that is provided.
  • 33 Comments sorted by
  • oh, last question is what is the correct script to force delete a scheduled song?
  • but it does not seem to be kicking in.

    What do you mean?

    Which brings me to my next question: How and where are the playlist files saved on Airtime?

    This carries a 45seconds @ 45db threshold hence it waits to kick in
    if you use change to  say 1 seconds @45db threshold then it will kick in immediately.The disadvantage of that is if you are streaming or playing a schedule and say there is silence it will kick in immediately which can be annnoying ,you want to wait xperiod of silence before the system chips in autodj
    You Create your Own playlist
    Airtime is a combination of  php,liquidsoap,apache ,python,zend Framework and a whole lot of deritatives
    Not just the GUI.so you can create your playlist style it whatever way you want,set a button on the form and just click it

    Post edited by Voisses Tech at 2016-01-09 13:31:48
    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • Because we dont know where playlists are created in the server, so we just made file folders as a cheap solution.  

    quoting here http://savonet.sourceforge.net/doc-svn/request_sources.html

    "In liquidsoap, files are accessed through requests, which combine the retrieval of a possibly remote file, and its decoding."

    further read

    "Liquidsoap provides several operators for playing requests: single, playlist and playlist.safe, request.dynamic, request.queue and request.equeue.'

    therefore

    (1) single, playlist and playlist.safe  the User have limited control  (use the mode as watch)
    (2) request.dynamic                     the User have control through scripting    
    (3) request.queue and request.equeue    the User have control through scripting  and telnet (Airtime Uses)

    so using (1) and (2) you can createa m3u,pls,txt or whatever listing (see http://savonet.sourceforge.net/doc-svn/playlist_parsers.html)

    and just to point out

    autodj = playlist("~/srv/playlists/autodj/*.mp3") is the simplest way of creating a playlist
    here is a better example


    autodj = playlist(mode="randomize",reload=3600,reload_mode="normal","~/srv/playlists/autodj/*.mp3")

    wiil reload your playlist every hour and play them random (the disadvantage of this reload mode you have to restart for any changes).

    autodj = playlist(mode="randomize",reload_mode="watch","~/srv/playlists/autodj/*.mp3")
    wiil reload your playlist every time it changes and play them random
    If you use normal it will play from the beginning

    the advantage of a playlist request based you do not need to do this
    ~/srv/playlists/autodj/*.mp3

    you could simple
    /srv/playlists/autodj/

    and it will play mp3,wav,mp4a and ogg from the directory

    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • Does this script work with playlists made in the Airtime GUI?

    As pointed out above Airtime use a request queue ,if you are greate with database then you can create the playlist from airtime and then chose whatever method you want.If you read the post you will see that @Bashtee is pulling the information from the Airtime database.

    I find it redundant to create a playlist that is ready to play(autodj) and then queue it .Queuing is for x time in the future.

    The biggest problem people have is they do not look at the name
    Liquidsoap like Liquid(Streaming)Soap instead of Barsoap.Once it start you have to stop it to make changes(lol)

    In future save the innuendo like "cheap solutions"  
    just style the show builder form and you are good to go
    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • oh, last question is what is the correct script to force delete a scheduled song?

    just click the trash can if its schedule as long as its not linked

    just delete it from Autodj if you have a m3u or pls
    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • Thank you so much for the quick reply Voisses Tech.

    We still cant seem to initiate the AutoDJ however.

    We even broke the link into the backup folder and moved to /etc/liquidsoap to test.

    This is our EXACT code:
    default = amplify(id="silence_src", 0.00001, noise())

    # AUTO DJ
    %include "autodj.liq"

    ref_off_air_meta = ref off_air_meta
    if !ref_off_air_meta == "" then
        ref_off_air_meta := "Airtime - offline"
    end
    #default = rewrite_metadata([("title", !ref_off_air_meta)], default)
    ignore(output.dummy(default, fallible=true))
    (inside ls_script.liq)

    and

    ######################################Start##################################
    #!/etc/liquidsoap
    # Log dir
    set("log.file.path","/tmp/basic-radio.log")

    # Music
    myplaylist = playlist("/srv/playlists/autodj/")

    # Some jingles
    jingles = playlist("/srv/playlists/jingles/")

    # If something goes wrong, we'll play this
    security = single("/srv/playlists/jingles/365.ogg")

    # Start building the feed with music

    radio = myplaylist

    # Now add some jingles
    radio = random(weights = [1, 4],[jingles, radio])

    # And finally the security
    radio = fallback(track_sensitive = false, [radio, security])

    #########################################END#####################################
    (inside autodj.liq)
    and we restart with sudo service liquidsoap restart

    and we keep getting this:
    Stopping liquidsoap channels: no script found in /etc/liquidsoap
    Starting liquidsoap channels: autodj.liq At line 23, character 7: The variable radio defined here is not used anywhere
      in its scope. Use ignore(...) instead of radio = ... if you meant
      to not use it. Otherwise, this may be a typo or a sign that your script
      does not do what you intend.
    ls_script.liq At line 6 char 37 - line 7 char 0: the variable off_air_meta used here
      has not been previously defined.
    OK

    which doesnt make any sense because there are scripts in there obviously, and this code is exactly from what we copied from the https://forum.sourcefabric.org/discussion/16909/autodj-sweetest-seen-fake-or-real-for-a-good-deal-free-free-no-unexpected-autoplay/pl

    So, we are relatively new to airtime and are certainly willing to admit we may have missed something, but we cant figure out what.

    Can you please help us?  Thank you!
  • #Lets restore you back to Original Positions
    do this at the terminal

    sudo su


    mv /usr/lib/airtime/pypo/bin/liquidsoap_scripts/ls_script.liq /usr/lib/airtime/pypo/bin/liquidsoap_scripts/ls_script.liq.old

    cd /usr/lib/airtime/pypo/bin/liquidsoap_scripts/

    wget https://github.com/sourcefabric/airtime/blob/2.5.x/python_apps/pypo/liquidsoap/ls_script.liq

    sudo /usr/lib/airtime/pypo/bin/airtime-liquidsoap  /usr/lib/airtime/pypo/bin/liquidsoap_scripts/ls_script.liq

    service airtime-liquidsoap restart

    sudo airtime-log -t liquidsoa
    p

    The last 3 steps are basically
    Test for Errors,restart and check the logs of the ls-script  by doing the following

    You should now have your original running Airtime but silent (if not you should stop and give whatever error you have)
    Post edited by Voisses Tech at 2016-01-12 19:49:41
    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • Now back the script up

    main backup

    cp /usr/lib/airtime/pypo/bin/liquidsoap_scripts/ls_script.liq /usr/lib/airtime/pypo/bin/liquidsoap_scripts/ls_script.liq.bak

    change backup
    I covered it here https://forum.sourcefabric.org/discussion/comment/33754#Comment_33754
    use it every time you make a change but name it properly

    cp /usr/lib/airtime/pypo/bin/liquidsoap_scripts/ls_script.liq /usr/lib/airtime/pypo/bin/liquidsoap_scripts/ls_script.liq.b4autodj.$(date "+%b_%d_%Y_%H.%M.%S")

    Post edited by Voisses Tech at 2016-01-12 19:46:35
    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • make a directory to hold your autodj (i am using /srv/backup/fallback)
    This is optional but as I said its easier to make changes in this file then have to be messing with the Ls_script evey time you wat to do anything

    mkdir -p /srv/backup/fallback

    Give it the correct permission
    chown pypo:pypo /srv/backup/fallback

    and at least executable permission
    chmod 775 -R /srv/backup/fallback

    link the autodj fallback to the Airtime script
    ln -s /srv/backup/fallback /usr/lib/airtime/pypo/bin/liquidsoap_scripts

    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • Lets Now amend the ls_script to hold the Auto dj


    If you on a desktop
    gedit /usr/lib/airtime/pypo/bin/liquidsoap_scripts/ls_script.liq

    if you on a server
    nano /usr/lib/airtime/pypo/bin/liquidsoap_scripts/ls_script.liq

    scroll down  to line 158 and comment the default line to look like this (you are doing this so that you can get the metadata of the songs instead of  the Ofline Metadata(Airtime Offline)

    #default = rewrite_metadata([("title", !ref_off_air_meta)], default)

    then include the autodj

    %include"fallback/autodj.liq"


    Close the lscript (ctrl+x)

    sudo touch /srv/backup/fallback/autodj.liq

    chmod 777 -R /srv/backup/fallback/autodj.liq


    Test for Errors,restart and check the logs of the ls-script  by doing the following
    sudo /usr/lib/airtime/pypo/bin/airtime-liquidsoap  /usr/lib/airtime/pypo/bin/liquidsoap_scripts/ls_script.liq

    service airtime-liquidsoap restart

    sudo airtime-log -t liquidsoap


    all should still be ok as you still have not actually created the autodj script,you just prepared the ls-script for autodj





    Post edited by Voisses Tech at 2016-01-12 19:55:47
    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • Now  create  you auto dj

    if you are on a desktop

    gedit  /srv/backup/fallback/autodj.liq

    and place this test script

    autodj=playlist(mode="randomize",reload_mode="watch","myplaylist")

    #autodj=mksafe(playlist(mode="randomize",reload_mode="watch","myplaylist")) # if it complains that autodj is falliable use this

    autodj=strip_blank(max_blank=30.,threshold=-45.,autodj)
    default = fallback(track_sensitive=false,[strip_blank(max_blank=30.,threshold=-45.,default),autodj])


    save and exit

    Test for Errors,restart and check the logs of the ls-script  by doing the following

    sudo /usr/lib/airtime/pypo/bin/airtime-liquidsoap  /usr/lib/airtime/pypo/bin/liquidsoap_scripts/ls_script.liq

    service airtime-liquidsoap restart

    sudo airtime-log -t liquidsoap

    if all is well you should see songs preparing ,decoding and playing

    add some songs to the new folder and look at the log.

    Go and experiment putting rotations.onfail etc.just search for my basic sript for suggestions or google is your bff.

    Post edited by Voisses Tech at 2016-01-12 20:16:59
    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • now I chose not to correct your script ,ecause of a numbers of error
    1. by placing this at the top of the script

      #!/etc/liquidsoap
      # Log dir
      set("log.file.path","/tmp/basic-radio.log")

      you are telling the script that the liquisoap executable is in /etc/liquidsoap,and to create a seperate log file

      the ls_script already include these.Its like you are running a new instance
    2. # Start building the feed with music

      radio = myplaylist
      #this line will give you an error liquidsoap  do not deals with assignment of variable,by using this,you are telling the the script that they are equal to each other.its only use once

      # Now add some jingles
      radio = random(weights = [1, 4],[jingles, radio])

      # And finally the security
      radio = fallback(track_sensitive = false, [radio, security])
    3. same with !ref_off_air_meta

    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • I did not test this but it all should woks

    The worst might be

    • The Permissions ,I use 775 because I want only the pypo to be able to write but others can read and execute. if you are having problems try first to chmod 777 and change the chown to nobody.BUT CHANGE THIS BACK WHEN YOU HAVE SORT IT OUT
    • Make sure your song directory have the right permissions,if possile use your $HOME/$USER/Directory
    • CHeck your scripts for errors before you restart it

    Good Luck and follow my changes.I d not use the same thing all the time I am ever improving 
    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • Can you show us an example of a working script you use?  We made those changes and get this now:
    ubuntu@streaming:~$ sudo service liquidsoap restart
    Stopping liquidsoap channels: no script found in /etc/liquidsoap
    Starting liquidsoap channels: autodj.liq At line 13, char 48: the variable radio used here has not been previously
      defined.
    ls_script.liq At /etc/liquidsoap/autodj.liq, line 13, char 48: the variable radio used here
      has not been previously defined.
    OK
    ubuntu@streaming:~$

    Script now looks like this:

    ######################################Start##################################

    # Music
    myplaylist = playlist("/srv/playlists/autodj/")

    # Some jingles
    jingles = playlist("/srv/playlists/jingles/")

    # If something goes wrong, we'll play this
    security = single("/srv/playlists/jingles/365.ogg")

    # Now add some jingles
    radio = random(weights = [1, 4],[jingles, radio])

    # And finally the security
    radio = fallback(track_sensitive = false, [radio, security])

    #########################################END#####################################

    and in ls_script.liq:
    default = amplify(id="silence_src", 0.00001, noise())

    # AUTO DJ
    %include "autodj.liq"

    if !ref_off_air_meta == "" then
        ref_off_air_meta := "Airtime - offline"
    end
    #default = rewrite_metadata([("title", !ref_off_air_meta)], default)
    ignore(output.dummy(default, fallible=true))

    Thank you again!
    Post edited by Scott Weber at 2016-01-12 22:06:18
  • You may want to delay your jingles and use rotate instead of random


    # Now add some jingles
    radio = rotate(weights = [1, 4],[delay(1.,jingles),myplaylist])

    #it should prevents two jingles from playing back to back
    #you were creating radio but it was doing nothing,notice,I give it the playlist you created(myplaylist)

    Change this line
    #radio = fallback(track_sensitive = false, [radio, security])

    default= fallback(track_sensitive = false, [radio, security])


    I have evolve  My script.
    pulls the playlist from the Artime GUI. All my playlist are created in there
    • it pulls the show times from the calendar
    • I have 1 main playout called autodj
    • my amendment to the Ls_script is the same but my autodj is different

    The flexibilty of liquidsoap is that you can customize it the way you
    want but here is many option I have used and tested before that worked

    Do this as a quick test

    https://forum.sourcefabric.org/discussion/16092/one-lineyes-one-line-modification-no-skills-neededbut-silence-defeated

    This is the basic (it maybe outdated ut useful information
    https://forum.sourcefabric.org/discussion/15701/fallover-101-how-to-make-all-scripts-worked-easy-steps-to-build-your-scripts-fixed-silence

    Do this after you are comfortable with your script or for production enviroment
    https://forum.sourcefabric.org/discussion/16091/fallover-101-how-to-make-all-scripts-worked-revisted-pt2-advance-reduce-effects-of-upgrade-brok



    Post edited by Voisses Tech at 2016-01-12 22:49:26
    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • Ok, I reset everything just like you said.  I am getting the scripts read in /etc/liquidsoap, but now i have several variable errors and a permissions error:
    ubuntu@streaming:/usr/lib/airtime/pypo/bin/liquidsoap_scripts$ sudo service liquidsoap restart
    Stopping liquidsoap channels: no script found in /etc/liquidsoap
    Starting liquidsoap channels: aac.liq At line 1, char 24-25: the variable bitrate used here has not been previously
      defined.
    aacplus.liq At line 1, char 24-25: the variable bitrate used here has not been previously
      defined.
    fdkaac.liq At line 1, char 24-25: the variable bitrate used here has not been previously
      defined.
    ls_lib.liq At line 8 char 33 - line 9 char 0: the variable dynamic_metadata_callback
      used here has not been previously defined.
    ls_script.liq /bin/sh: 1: /etc/liquidsoap/notify.sh: Permission denied
    mp3.liq Fatal error: exception Sys_error("/var/run/airtime-liquidsoap.pid: Permission denied")
    Raised by primitive operation at file "pervasives.ml", line 239, characters 21-47
    Called from file "pervasives.ml", line 242, characters 2-74
    At line 1, char 24-25: the variable bitrate used here has not been previously
      defined.
    ogg.liq At line 1, char 44-47: the variable icecast_vorbis_metadata used here
      has not been previously defined.
    opus.liq At line 1, char 24-25: the variable bitrate used here has not been previously
      defined.
    OK
    ubuntu@streaming:/usr/lib/airtime/pypo/bin/liquidsoap_scripts$

    I completely understand what to modify now after this, but I dont understand why its calling variables that are undefined, and this part:
    ls_script.liq /bin/sh: 1: /etc/liquidsoap/notify.sh: Permission denied
    mp3.liq Fatal error: exception Sys_error("/var/run/airtime-liquidsoap.pid: Permission denied")
    Raised by primitive operation at file "pervasives.ml", line 239, characters 21-47
    Called from file "pervasives.ml", line 242, characters 2-74

    is lost on me.  Do we have an out of date ls_script.liq?  Thank you again for your continued support
  • OK so here is the million dollar question

    What version f Airtime you are using it seems like 2.5.2

    If not then as you can see you have the utils file missing

    I woulds suggest  you purge and reinstall airtime

    sudo apt-get purge airtime
    sudo apt-get autoremove
    sudo apt-get install airtime

    I do not and have not install 2.5.2  because it states that configuration have to be done from the browser and therefore I might have difficulty installing on headless servers  
    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • no im using 2.5.1...we found it was more stable from research...is that what were doing wrong?
  • ok so we have the utils file missing?  So i suppose we can get that from the airtime tarball and use the original?
  • ok great do not use the tarball use from the repositories

    do not worry abut the missing utils.my motto is that if you fix one thing and then you have to fix multiple things as a result ,its best to start over
    purge and remove as I said

    sudo apt-get purge airtime

    will remove all the configuration files and airtime including the database and gives you a fresh start

    don't use

    sudo apt-get remove airtime



    setup up your hostname on your machine and test that you can surf to localhost

    like this

    http://sourcefabric.booktype.pro/airtime-25-for-broadcasters/automated-installation/

    sudo apt-get install nano  

    Then open the sources.list file with the command:


    sudo nano /etc/apt/sources.list

    To add the Sourcefabric repository to an Ubuntu trusty server, scroll to the end of the sources.list file and add the following line:
    deb http://apt.sourcefabric.org/ trusty main
    where trusty 14.04

    then follow the instruction

    I would advice you to make sure you install icecast2 then install airtime.

    when the installation is finished make sure you login and change the stream to
    mp3 .If you get a message that liquidsoap failed.
    I think this is a bug in he installation and sometimes everything works.other time it doesnot
    then follow my instructions


    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • look forward to hear from you
    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • All we did to install the scripts initially was copy the liquidsoap folder from /usr/lib/airtime/pypo/bin/liquidsoap_scripts to /etc/liquidsoap and try to run sudo service liquidsoap restart.  Before we reinstall, is this the correct way to set up the liquidsoap script folder initially, and then modify the scripts as needed for AutoDJ, etc?
  • "was copy the liquidsoap folder from /usr/lib/airtime/pypo/bin/liquidsoap_scripts to /etc/liquidsoap"

    you can try moving them back or creating symbolic links but

    This is the very reason why I suggest reinstall

    The /etc/liquidsoap folder  is use to run the liquidsoap application not the Airtime application .

    If you study the whole directory of Airtime the original designers try to keep Airtime  in its own directory structure.Then make symbolic links to whatever application it needs.
    When something breaks its easier to troubleshoot

    Looking at 2.5.2 , it appears

    1. force to use the Savonet version than a dedicated Airtime Liquidsoap (ver 1.1.11)
    2.Most things are moved to use distro Applications rather than the stable versions (like moving the lscripts to etc.
    3.Fore to use a web browser for configuration almost forgetting about headless servers.
    and the list goes on ,I thank the higher force for RIVI.


    If you know the concept of chrooting ,you run applications in its own container.
    It is what has kept Linux stable.

    Microsoft is just learning this and has been moving to that direction.


    Although I do not see much activity around liquidsoap ,just suppose the team decide to run liquidsoap in its own container ,not /etc/  in a future version of The distros
    We will be back like our tails chops off"


    Please if you do not want the headache just reinstall cause we would spending from now to eternity trying to fix a problem just to find new ones pop up.

    Good Luck
    VOISSES
    Post edited by Voisses Tech at 2016-01-14 00:09:37
    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • Ok thanks!  We are going to do a new install with 2.5.2.1.  Would this issues also be the reason we aren't saving recordings?  We just set our first recording for a live show, and when it was over, the recording was nowhere to be found
  • Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • it just require 4 things
    1.Amend your source list to include Artime repositories
    2.Purge and Autoremove 
    3.install Airtime
    4.Configure Airtime

    its like 5 -20 minutes tops
    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • so we tried doing that, then we had some issues with localhost and rabbitmq...have you experienced that with the installer package?
  • Yes I have seen that.
    go to the stream preference and make sure you select the mp3 stream and not ogg.
    there seems to be a problem with streaming output of OGG,but you really do not need to since only limited device uses ogg.chose MP3

    if that donot solve it then
    remove icecast and reinstall it 

    sudo apt-get purge icecast2
    sudo apt-get autoremove
    sudo apt-get install icecast2

    otherwise follow my tutorial here

    Post edited by Voisses Tech at 2016-01-21 07:49:36
    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • Great thank you so much. We have encountered a problem. we keep getting Cannot schedule overlapping shows even though there is nothing in the schedule that would be blocking certain times??? Do you know how to resolve this?
  • I didn't Touch any of the stuff or whisk up any brew,LOL.
    I however post the answer in the wrong thread

    Here it is at the bottom of this post
    https://forum.sourcefabric.org/discussion/17590/moving-a-show-with-content-in-2-5-1-does-not-move-the-content

    Guess I am just a little  weary
    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • I have this setup and works well, one thing that would be nice if possible is being able to auto start the failover from the start when changing from master/show.
    So when a live session ends, the failover starts from the begining of the file.
    Is there a way of triggering this?
  • For version 2.5.2.1, does it actually show 2.5.2.1 in the about section?  I know it's a silly question, but I really need to know.  Thanks
  •  @mrkrotos

    So much possibility here

    • lets say your source is radio and you want to move to a new song from the default noise

    default = fallback.skip(strip_blank(max_blank=45.,threshold=-45.,default),radio)

    tutorial here

    • with  jingles

    radio = falback.skip(jingles,radio)

    •  or if you want you can use a switch to which you can create a script or telnet manually like this

    #this is the basic of setting up a telnet command
    #toggle is the command aat telnet in format  [toggle <variable>]
    #play is the variable to play at telnet like [toggle play]
    #not play is to have it stop at telnet like [toggle not play]
    server.register("toggle",
      fun (_)-> begin
        play := not(!play)
        "OK"
      end)

    #radio =fallback(track_sensitive=false,[radio,sine()])#This Loud static noise

    or

    low_noise=amplify(id="silence_src", 0.00001, noise())
    radio =fallback(track_sensitive=false,[radio,low_noise])


    then just
    to play it
    telnet yourhost port toggle play

    to stop
     telnet yourhost port toggle stop
    manually or through a script
    Post edited by Voisses Tech at 2016-02-27 12:37:41
    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.