Some little questions about using Airtime
  • Hi all !

    I just started to use Airtime for an independent radio project. I love the concept, the interface is very intuitive and simple to use, I think this is the best thing I could use for my project. I tried various thing like Rivendell, or Liquidsoap standalone, but Airtime looks really like the final solution. So big thanks to the team !

    I would like to have some simple information on various things :

    - Is there any possibilities to schedule directly a audio file ?

    - Is there a way to add automatically playlists to a show ? Like for example if every Friday night I have a show diffusing the "Electronica" playlist (that I'm modifying every week or month by adding new sounds and deleting older ones), I need to manually add this playlist to each show. It would be great to be able to stick a audio file, or in my case a playlist to a show repeated each week (and for sure the modifications made to that playlist would be automatically reported into the show).

    - Is there a way to tell a playlist/smart playlist that a same file can't be broadcasted 2 times in a row (with something like a 1h interval) ?

    - Is it possible to get a yearly/monthly(/or custom date) CSV or XLS log with all the tracks broadcasted during the desired date (and various information like for example the number of time a certain track have have been broadcasted).

    Thanks a lot !
    Post edited by Rojiraan at 2017-03-09 13:55:14
  • 4 Comments sorted by
  • Vote Up1Vote Down Voisses TechVoisses Tech
    Posts: 1,419Member
    Rojiraan said:

    Hi all !

    I just started to use Airtime for an independent radio project. I love the concept, the interface is very intuitive and simple to use, I think this is the best thing I could use for my project. I tried various thing like Rivendell, or Liquidsoap standalone, but Airtime looks really like the final solution. So big thanks to the team !



    Great ,I also think this program is a developers dream but like everything it has its good time and bad.
    You won't find much of team here now answering and helping.
    If you are running a station for profit or similar ,I recommend you look at airtime pro
    its is the commercial arm of airtime and you will find most of your answer  there and if I am right,I think they will be willing to customize and meet your needs.

    If you are like me searching for the quest of knowledge,then read on.
    I will try to include a few screen shots of the ways I customize  my open source version of 2.5.1.6

    - Is there any possibilities to schedule directly a audio file ?


    - Is there a way to add automatically playlists to a show ? Like for
    example if every Friday night I have a show diffusing the "Electronica"
    playlist (that I'm modifying every week or month by adding new sounds
    and deleting older ones), I need to manually add this playlist to each
    show. It would be great to be able to stick a audio file, or in my case a
    playlist to a show repeated each week (and for sure the modifications
    made to that playlist would be automatically reported into the show).

    These question seems a bit vague but I guess in PRO - Yes but in OPENSOURCE (maybe).

    Let me explain,since the core-engine is liqudsoap Airtime (all version) use request.queue meaning that you have to place your music in a queue in advance which is pull at the appropriate , but  "Liquidsoap provides several operators for playing requests: single, playlist and playlist.safe, request.dynamic, request.queue and request.equeue. In a few cases (single with a local file, or playlist.safe) a request operator will know that it can always get a ready request instantaneously. "

    If you use any of the other playing request method I highlight in the statement above then your sky is the limit
     As you can see from my playlist attached that I have my playlist create in the interface.This create a playist in the backend and I use this to feed a request dynamics,meaning i can add a song, remove a song,change the playlist or do anything I want like adding the song to play next ,removing it on the fly,place it the bottom.similarly I can do with playlist.
    Examples of these can be found in my rambles about dealing with silence or autodj


    - Is there a way to tell a playlist/smart playlist that a same file
    can't be broadcasted 2 times in a row (with something like a 1h
    interval) ?

    I think so,I actually use the scheduler and smart list sparingly

    - Is it possible to get a yearly/monthly(/or custom date) CSV or XLS log with all the tracks broadcasted during the desired date (and various information like for example the number of time a certain track have have been broadcasted).


    If you are looking at my screenshots,you will see that my menu selections are customized but I know for a fact that you can make customized reports in many different formats or use the ones already provided.Mine is under  HISTORY

    I am working on making the jquery like the pro and for the autodj songs playin to show up in the current etc. I also want to make a public demo on  how I customize mine.

    Doctrine migration next

    ALL I AM SAYING YOU CAN ALL MOST CUSTOMIZE AIRTIME IN ANY WAY YOU WANT ,THANKS TO ZEND FRAMEWORK AND LIQUIDSOAP
    1280 x 1024 - 80K
    1280 x 1024 - 86K
    1280 x 1024 - 84K
    Post edited by Voisses Tech at 2017-03-10 19:21:10
    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.
  • Hi Voisses, thank you very much for your answer and sorry for the answer time. I tried to get more information about these things on my free time these days, I also found some of your interesting posts during my researches, so big thanks for the help !
    As this project is a non-commercial one, at least for now, I will try to stay with the open source version. During my researches I also localized the Airtime core files, the ls_script.liq file, etc... The only problem is that I don't have much skills into Liquidsoap programming :p

    • Thanks for the information about the playlists. I must say that this sounds a bit complex for now, I'll try to look further into your posts (maybe if you have one in particular in head, do you think you can share it ? If yes, big thanks again !). I also found people asking for the same thing, like here : https://forum.sourcefabric.org/discussion/16921/creating-a-real-smart-block/p1

      I know that when I was using Liquidsoap in standalone, setting a playlist to run at a certain time was simple to do, with something like :
      #!/usr/bin/liquidsoap
      # Log dir

      set("log.file.path","/home/radiotest/Documents/MYRADIO/log/basic-radio.log")

      # If something goes wrong, we'll play this
      security = single("/home/radiotest/Documents/MYRADIO/crashtest.mp3")

      # Music
      GLOBALMIX = playlist("/home/radiotest/Documents/MYRADIO/globalmixplaylist.m3u")
      # Music number 2
      GLOBALMIX2nd = playlist("/home/radiotest/Documents/MYRADIO/globalmixplaylist2nd.m3u")


      # Start building the feed with music
      radio = fallback([
      switch([({ 18h-18h02 }, GLOBALMIX),
      ({ 18h03-18h05 }, GLOBALMIX2nd)])
      ])


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

      # Transition
      radio = crossfade(start_next=1.,fade_out=2.,fade_in=2.,radio)

       # Stream it out
      output.icecast(%mp3(bitrate=128),
        host = "localhost", port = 8000,
        password = "admin", mount = "MYRADIO.mp3",
        radio)
      Do you think that I could do something similar despite the fact that Liquidsoap is tied to the Airtime software ? Does ls_script.liq is the file to edit ? I imagine that in this case I shouldn't program Airtime shows in the same schedule than my "hacked" playlists or serious bugs could happen...
      I think in this way it would be easier for me to configure automatic playlists, modifying as I want my M3U files (one for each playlist, for sure). But in this case, do the tracks metadatas will always appear inside the Airtime "Current" box (which means reported inside Icecast) ?

    • About the repeated tracks problem, I saw that I wasn't the only one either with this question in head : https://forum.sourcefabric.org/discussion/14690/using-smart-block-playlist/p1 (but the solution brought by Stathis Simos seems to not be the one for me, as he seems to have created something to avoid repeated tracks between shows, not inside them (if I'm correct)).
      I also saw that there's a possibility to use a Liquidsoap parameter called "check_next". It seems to be the perfect solution for me, because this means that if I continue with my precedent theory of the "hacked" playlists (or "forced" maybe, use the term you want :p ), it would be way easier to integrate this simple parameter inside my radio. What do you think ? Is it feasible ?

    • Thanks for the information about the History tab. In fact I didn't really get into this tab before writing my previous message. Inside it, I realized that the "File Summary" tab had the perfect information for me. It's just too bad that there is no way to export a XLS/CSV file. But, well, a simple copy/paste should do the trick for me.
      By the way, If I'm using the playlist trick mentioned above, do you also think that the track played with these "hacked/forced" playlists will be listed inside the History tab ?

    Thanks again for the help !

    Post edited by Rojiraan at 2017-03-20 21:20:47
  • Please delete this post, I don't know why but my previous message have been sent 2 times. Sorry for the inconvenience.
    Post edited by Rojiraan at 2017-03-20 14:27:55
  • Vote Up0Vote Down Voisses TechVoisses Tech
    Posts: 1,419Member
    You know I never saw that parameter
    Just bookmarked it

     Make playlist not pick the same file twice in a row (check_next)
    https://github.com/savonet/liquidsoap/issues/197

    I will have a look at it

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

    Airtime uses request.queue where by you have to queue the songs before hand to get them to play

    The disadvantage with this method is that once the songs start to play ,your only option to affect it is to discard it from the queue

    If you want to have full  control over your song then use request dynamics.

    In my posts here I suggest using playlist,but if you read up on request.you will love it.

    I use it with python.

     

    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.