× Warning! This forum is in archival status. New contributions may not work.
What to modify in LS script if I need approach this:
  • 1. Airtime uses scheduled shows in calendar and plays accordingly to schedule;
    2. Master source: has its own scheduled show from Mixxx instance;
    3. Show source: has its own scheduled show form another Mixxx instance.

    I am looking to get an ability automatically add (ideally via LS scrip) following:
    = at top of hours: news-block-clock (2-3 minutes max)
    = randomly 1:6 jingles/station-id (few seconds max)

    So, those rules should be applied on Airtime level. And not dependent on what it currently playing either from master, show, or calendar sources.

    Is it possible? I saw Voisses said "all is possible"

    Also, if by some reasons: a master, or show sources are silent (e.g. end of play list at Mixxx side) then Airtime should pickup scheduled show from calendar if it is there, but I rely on calendar as priority number one and it should always scheduled ahead

    Thanks for any advices.
    Alex.

    Added: I saw a lot of "LS offers" done by Voisses Tech, if you got some time please answer on this... just really need to understand an idea...
    Post edited by Alex Gainulin at 2015-04-09 11:37:57
    www.actionsch.com - Bringing talents in life!
    + Action Radio School +
  • 37 Comments sorted by
  • So Here is where I am  with this

    I like airtime,not passionate  about it but offers help in liquidsoap scripts to make Airtime functional at the time I am using it.

    This should not divert from my fundamental purpose of using one of the greatest web radio automation software.

    What you asked for can be done by
    1.  just linking one of the playlist utils in the library. and two lines of code
    2. it can be done as is with Airtime now but more laborious and manually
    3. If the focus was on Airtime,then someone would see how easy it is to drop an identifier column in the database,then do a query and run a request from that.

    On the point of #3,It can be conquered with making Airtime have temporary cache or store of the request,then automatically pull the request on the specified time similar to a scheduled event code.

    Sound confusing but more jargon related

    Just copy and paste and you are done.

    Looking at 2.5.2, Someone either hate the previous coders,the code ,Airtime or maybe "Me".

    If you write almost any liquidsoap hack,you almost guarantee to lock up your box and create a "sonami" (with all respect) of "we must catch up" involving glitches and skips in audio.

    "The darn code has been stripped and running around with bare-bottoms"

    So for those reason,I would say stick to what you have right now,because if you make too much mods

    "You will be charged for running around with bare-bottom codes and prosecuted (jailed)for indecent exposer of codes" :-O

    \:D/
    Post edited by Voisses Tech at 2015-04-10 22:30:12
    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.
  • Thanks, Voisess. This " given lights" looks like a plan. I will try to grab my left free brains and apply toward Airtime enhancement.
    It was happened I port it for Centos, so will see if something I can do else. BTW I plan to port 2.5.2 this summer.
    One question: I saw few examples, where someone has used a divert of stream from station's icecast output back to LS, what was a purpose of that?

    Thanks for your reply!
    www.actionsch.com - Bringing talents in life!
    + Action Radio School +
  • @Alex Gainulin says

    "Thanks, Voisess. This " given lights" looks like a plan"


    Glad You saw my point.
    Basically I am saying to anyone who read this,is that there are easy ways

    1. add columns or information from the database
    2. to pull data from the database through query
    3. cache the information
    4. have liquidsoap ,then request and play that cache information at the time through a switch

    Here is the advantages

    • less footprint on liquidsoap so less lock ups  or  freeze of your Airtime  Automation .Afterall "they" have start skinning the codes already ,that is removing much of what seemed to work
    • you developed your own custom script where if something change you can fix easily

    If you have difficulty with this suggestion

    @Alex Gainulin further said

    One question: I saw few examples, where someone has used a divert of stream from station's icecast output back to LS, what was a purpose of that? 

    You mean like I did here

    https://forum.sourcefabric.org/discussion/15904/input-mic-and-mixer-using-alsa-something-that-will-work-using-airtime-script-modified

    Where I use a separate live (icecast) mount to send the line (mic) input !

    I did that because at that time I found that the best way to put a line (mic) in was to use a stream override similar to what mixxx would do.

    This was just a suggestion and I found that if you can modified the Mixxx skin you do not have to do that,and it makes life 100% easier

    You do not have to trouble any core in either Airtime or Mixxx and it works seemlessly without the need for encoders and you have a snappy look

    check out daniel's modified skin here https://github.com/danielhjames/MixxxSkins

    and the tutorial here

    http://mixxx.org/wiki/doku.php/creating_skins

    customize it and guess what it allows line -in

    Then for all your outside /remote broadcast let them use it.

    Most people suggest modify the LS code for line input.But if you like headaches this is a nice approach.

    If you want something that works on windows,linux or any other Os along with any dj controller and guess what reads for devices like IPOD etc. then get over and start doing some skin

    @Alex Gainulin final suggestions said
    It was happened I port it for Centos, so will see if something I can do else. BTW I plan to port 2.5.2 this summer. 

    Not a fan of Fedora or Red Hat.My first experiences with Novell in those days when I was an administrator left a bad taste.I think Those days IBM and the others who were the forerunner of Unix systems wanted us to hate unix and its fork Linux.Thanks to Linus T. for changing that perception

    I found there repositories to be so complicated,too minimalistic and the commands so what complicated.

    I like "sudo apt-get install whatever" though a bit wordy than "yum install whatever". The Only Yum I want to do is some food =))

    Which reminds me I am hungry,so  see you soon

    Post edited by Voisses Tech at 2015-04-11 10:09:05
    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.
  • Why create extra work? What's wrong with Debian? What does Cent do that Debian can't?
  • Nothing wrong, but company policy... so nothing I can do just adapt...
    www.actionsch.com - Bringing talents in life!
    + Action Radio School +
  • My home automation system is on  Centos,Gosh I cry when I have to troubleshoot anything on it,.

    Alex Can you tell me how to kill the root login,but give another user similar privilege.?


    I know how to Add user but I do not want root on it similar to debian.

    Every time I tried that I have to re-install

    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 Voisess,

    Sorry - spring vacation time... ;0o
    Well, sudo is what you are asking? Just modify by visudo permissions for any user you wish.
    e.g.
    john    ALL=(ALL) /bin/kill, /bin/ps -- able run only kill and ps
    alex    ALL=(ALL) ALL -- can act as root.

    Is that you are asking? If not - you can mailme - againu {spam@spam} yahoo ! com.

    My further (auto DJ question): when create a playlist in Airtime, how to make sure the list will be played randomly each time I schedule it. Say today and tomorrow the order will be really different. I know I have to have redundant songs in that block, that is overlap the play time duration.

    www.actionsch.com - Bringing talents in life!
    + Action Radio School +
  • Ok I will play with the Centos server this week.

    I am chicken but with a cat attitude (with all respect to the animals) so once it look to hard I will run,but do not my curiousity will not allow me to come sniffing.

    So Lets look at a playlist mode - what it does - disadvantage

    Normal  - They will be a strict list of songs played in the same order each time - best for News or that type - this  like Repeat but in the exact order

    Randomize - Create a list and select one from the List- Less likely one song will play multiple time but not guarantee  (Shuffle but Play Normal)


    Random - Select one song from direction and play - more likely that one song will play more than once (Shuffle continuously each time for selection)

    So the main one you are looking for is maybe Randomize.

    remember if you use a Straight directory to create your playlist they are no way ( well I do  not know)you can tell what is going to play under a normal or randomized playlist but if you create a playlist like a m3u or pls you can do it more predictable

    Like this

    directory way

    myplaylist = playlist(mode="normal","~/radio/music")


    Playlist way

    myplaylist = playlist(mode="normal","~/radio/music.m3u")

    both will play music from the music directory except that the playlist way will only
    play what is on that list.
    So if you had .wav or .ogg and mp3 in a directory,under normal conditions the directory way
    will play them all whilst the playlist will play only that on the list
    change the mode to randomize at it will shuffle each time specified in the reload parameters like say 3600(60sec x 60min) that is every hour so for a day you need 60 x 60 x 24 I think thats 72000 sec.

    There are many ways to shuffle the list

    just create a normal mode then use a cronjob and

    • bash script
    • python
    • perl

    search for shuffle playlist


    look at what @Bashtee Radio did with a lovely write up  here https://forum.sourcefabric.org/discussion/16909/autodj-sweetest-seen-fake-or-real-for-a-good-deal-free-free-no-unexpected-autoplay

    The one thing I do not like is that I think Airtime have a script that already does the import
    so here is somehing that could help with also legal requirements

    Lets say I had 5 artist  or directory I want to pay over a 1 hour segment with no more that 2 songs from each directory then a jingles

    1.create playlist 1 to 5
    2.use rotate operator like this

    music = rotate(weights = [2,2,2,2,2,1],[play1,play2,play3,play4,play5,jingles])

    I found this script which index directories and print a list I am looking to make this useful soon if I can



    Voisses
    Post edited by Voisses Tech at 2015-04-14 13:26:12
    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 very much for your time.
    Yeah, I understood the idea, which was generate immediately several approaches in my head.
    I am talking abt use a cron to recreate with all possible features like randomized, etc.
    But (as always) , here is my frustration with Airtime- all playlists are" food" for LS, and not for Airtime UI... Just FYI- prior Airtime I used LS with icecast... so you may see my standpoint. ..
    So, immediate question - what you guys normally doing with scheduling? Just show?
    My humbly vision at this moment:

    1. Use playlists feeding LS. - it will cover all silent Airtime inputs.

    2. Use autoDJ via LS and feed with jingles.
    - it will rich the flow
    3. Schedule top hours news-block, station-id
    - it will just justify Airtime UI
    4. Use remote Mixxx to run a live show, which should be creative- include all inserts- jingles, station IDs, commercials, etc.


    All above looks really dilettante, but that is what I see so far... how deep I am wrong?



    Thanks,
    Alex.
    Post edited by Alex Gainulin at 2015-04-15 10:14:18
    www.actionsch.com - Bringing talents in life!
    + Action Radio School +
  • So I share your sentiments and here is where I think the ball game got confused

    1. All indications point to the fact that the initial developers were never contemplating building a standalone system,that is a system where one size fits all.So Airtime(formerly Campster) was envisioned we build the database schema you build the tables and generate the queries.So I recently saw one of the fixed that something like a sorting of newest and oldest column was added and I said What?. I just put in a start date and end date for jingles column based on @Bashtee_Radio expire jingles script.it took me two hours initial because I was careful.a subsequent modification took 20 - 30minutes. Not that I think everybody should be curious as me as I think if you not willing to experiment then you will net be able to enjoy the joy of any software.Its what makes today kids seem like genius. As stated in previous hangouts,There are some stations which the silence may need and that is why I wrote this work around https://forum.sourcefabric.org/discussion/16909/autodj-sweetest-seen-fake-or-real-for-a-good-deal-free-free-no-unexpected-autoplay Keep the silence but clobber it by your custom level (db) and whatever  length of time(sec) you want. Keep in mind that Airtime can never anticipate every scenario.It is why like Shoutcast provides the server ,you find the player and parser.I want Dnsgaurdian on my firewall,my provider does not do so I have to install it.I blame people like myself because of course I should have a public github and you could pull from it like @eric_purgh does and then I blame Airtime also because so much is change at the core github,I no longer count on it unless I like headache.Do like NPR where each worker (developer) has their own github a pull or merged can be made after a board review.( I maybe wrong but thats what I am told)
    2. My Sports Radio (CBS) bigup! has 24 hour host ,The Jingles are set and occurs at set time so I can take toilet breaks,it there is an off the cuff,the Announcers make these.but any autodj would be annoying on that station 24 hours talk,so auto dj can be easily implement through like Mixxx and believe me I rather see a plugin model ,than it becomes core to Airtime.Look at the many senarios I gave of autodj here https://forum.sourcefabric.org/discussion/15701/fallover-101-how-to-make-all-scripts-worked-easy-steps-to-build-your-scripts-fixed-silence,yet there is always someone asking for something unique.Imagine Canonical or Debian  writing you next bash script. You can implement your own.Most people take it for granted but Centovast and the many others write their own and trust me I hate the stations who Use Sam's here for Autodj,they either have 2 songs of a particular genre then a next two from another and so on and so I am left asking when they are in Autodj.What is your audience.?
    3.  I always deliberate not write a TOH for anyone because I always thing Airtime Has the best handling of it.There is even a blog allude by @Micz_Flor  to that effect. With @Bashtee_Radio jingles expiration script there is so may open for it.I use mine in two way,when I pull down the news or recording I can have them deleted and as I wrote above,i have include 3 additional column and trust me it takes me nearer to how I envision radio 
    4. That's just what you should be Doing.Using some form or client encoder to go to Airtime.i always advocate that for everyone even in client -server model everyone should know processing is done at the client level and request are made from the servers,Why in the hell most people want the Airtime to be Dj,workstation and mediaplayer all at the same time.Airtime can be use for seperate roles.
    So finally,in order to sum it up Airtime can never meet all the expectation gaps.
    If the team focus on the core and leave customization to the forum,then they can meet 80%-90% expectation so here are some good approach

    @john_chewters                  post for interface  and useful web interface
    @bill_burton                        for Tunein App
    @eric_pugh                        for many customization of the core
    @Bashtee_Radio                 for some wonderful utilities Jingles expiration and playlist
    @Philippe_Demartin        for the best css customization
    @Voisses                          for the most nuisances ( a touch of everything including ignorance)[yours truly]

    or just hack over to the Airtime Hack https://forum.sourcefabric.org/categories/airtime-hacks and airtime development https://forum.sourcefabric.org/categories/airtime-development Sections

    If you cannot build something that anywhere you implement it people marvels and want airtime,Then customization is not for you.(n


    Post edited by Voisses Tech at 2015-04-15 12:22:38
    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.
  • Voissess, THANK YOU!
    Your advise is in use ;)
    During "implementation" I got a question:
    /srv/airtime/stor/organize/ - is it used by Airtime itself somehow? I did massive uploading, but was not noticed anything in there, only in /srv/airtime/stor/imported/
    If it is not used, what the idea was for it?

    Also, in /srv/airtime/stor/imported/ still folders(empty) after delete an actual files from Airtime UI.
    is it OK to delete it manually?

    Another question: in /srv/airtime/stor/imported/ folder most of songs entered as "1" - I am not sure why.
    Anyone can explain? Those numbers are related to what?

    Thanks!
    Post edited by Alex Gainulin at 2015-05-14 18:06:04
    www.actionsch.com - Bringing talents in life!
    + Action Radio School +
  • Vote Up0Vote Down Voisses TechVoisses Tech
    Posts: 1,423Member
    So to Sumarised

    • Organized Folders are like temporary dropbox
    Here are the explanations
    Just to mention that the script which handles media files  storage is  /usr/lib/airtime/utils/airtime-import/airtime-import.py

    /srv/airtime/stor/organize/ - is it used by Airtime itself somehow? I did massive uploading, but was not noticed anything in there, only in /srv/airtime/stor/imported/
    If it is not used, what the idea was for it?


    condition - I am using the default folders  to explained ,that is /srv

    The  organized storage (some software call it dropbox)  is where media files  are temporarily moved to be processed ( that  is identified,integerity checked,tagged and a decision whether to store the media files) before they are transferred to the main storage (/srv/airtime/stor/imported/)
    If Airtime cannot process the file it will be moved to the problem storage area.This indicates that if you are not seeing your files,which were properly tagged by you, in the library you should check this folder first

    To see the effect of this
    1. place some files put about 20,enough time to do the next step, in add media player folder   and click add
    2. Open the folder  /srv/airtime/stor/organize/
    and you will see the effect

    Also, in /srv/airtime/stor/imported/ still folders(empty) after delete an actual files from Airtime UI.
    is it OK to delete it manually?


    It is safe to leave them alone if you remove the files from the GUI under library and yet you see the folder empty under the main storage.
    If you re - add these files and most of the parameters(like artist and bit-rate) remain the same it will put it back in this folder


    Checked if the files are in problem folders if you try to import and when you look you are not seeing them in the library .
    However you should not be manually deleting files from the main storage(imported) until you have removed them from the library, This is why you actually have to change permissions to delete the files.
    Like I always say to anyone,if you have to become administrator or root to do any task,then you must know exactly what you are doing.
    I can never the hell see why windows asked you to becomeadminstrator to install a file only that it turns out to be a virus.My only conclusions is that they used it as a concept rather than as reality.
    Files stored here are files information stored in the databased and any edit or deletion will only cause the databased to go batty.somewhat like a corrupted database.


    Always do edits and deletion from the library.If its massive edits(like tagging) remove the file edit it and then re -add it.
    Remember any changes will/might affect your existing (not new ) playlist see http://sourcefabric.booktype.pro/airtime-25-for-broadcasters/media-folders/


    Another question: in /srv/airtime/stor/imported/ folder most of songs entered as "1" - I am not sure why.
    Anyone can explain? Those numbers are related to what?

    Folders are indexed and stored in the music directories (cc_music_dirs) according to id.
    1 is the first folder or main folder and is done at first setup

    If you should even change this folder in media folders at a later stage,it will still have an index of 1 ,only the directory name will change.
    Hence the first directorectory you put in the watched folders would be 2 then 3 and so on

    So to make it clear.Airtime used numerical index to store information in the database.

    As I said to everyone,if you want to have directories to manually configure then you should store them as watch folders.
    Airtime is a Professional system and carries many analytical reporting to meet regulations.
    Your Media files should be properly prepared before ingestion.

    You should not have in your library
    Unknown Artist -Track 1

    You should Have

    The Dancing Band - Get up When you feel like Dancing

    then you can use some gui like ex-Falso to rename your file The Dancing Band - Get up When you feel like Dancing.mp3

    Hence you will see its redundant to have a file location columm in your library.

    It might not seem practially for people who have like say 6000 media files but if youtake say your first 100 files properly them it will give you 100 (songs) X 3min =300 minutes (5hours) of rotation.
    Placed the other  5900 in watched folders and as you properly tag them move them to the main storage

    Now if you are lazy like me which will only do it every day the next day you will have 5 additional hours of Rotation ,plus 100 new songs to place in rotation. and even sound different to users and available for random selection.
    Therefore if you do this for say 60 days you will have all your media files properly tagged and ready for any Api like Itunes etc.

    Happy Streaming with Airtime

    Post edited by Voisses Tech at 2015-05-15 11:20:03
    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.
  • Voisess, I really appreciate all your detailed explanation! THANKS a lot!
    I discovered that you told - yes that is right!

    Now, I'm faced with really stupid question: the LS script (say 'autoDJ') that is designed for run radio 24 hrs x 7 days, by any chance is linked to Airtime play-engine? If yes, what variable name should be defined for it?
    At current step I got the error "the variable 'radio'... is not used anywhere in its scope"
    If it is really should not be used, then I presume I have to send that variable to output.icecast() with different mount_point right?
    If I am mistaken, please correct me on this.
    So, Airtime-stream with its mount_point will show that Airtime is offline all the time until it will be again used either by master source or schedule - right?
    Honestly, I thought the autoDJ-script output will be eventually pointed to the configured Airtime steam... kind of integrity. I wish to get it if possible you know... ;)
    www.actionsch.com - Bringing talents in life!
    + Action Radio School +
  • Vote Up0Vote Down Voisses TechVoisses Tech
    Posts: 1,423Member
    Now, I'm faced with really stupid question: the LS script (say 'autoDJ') that is designed for run radio 24 hrs x 7 days,

    Nope .Airtime is what is  to be used to run a radio station 24/7.Autodj is just use for the time when nothing is schedule.Most internet based stations used just a 24/7 schedule playlist,I always say,majority of persons who do this could be better off with any media player (itunes amarok etc.) .if is something professional,then you should have a program personnel who will schedule your shows or if you are alone then either
    • schedule hourly show blocks
    • repeat them
    • and optionally you can also linked them but if you want to change any contents,you must change the contents before schedule start.Allcontents from a previous show plus any changes you make will be available for the next show
    • if for any reason you want to change a show that has started already,you must cancled the show and re-enter a new show.Key is you cannot delete the show in now playing it must be cancelled in the calendar.I love this aspect cause it prevents the database from being corrupted

    Or just schedule a 24hour block ,linked and repeat and fill it with contents and that is your Auto Dj.


    Now let me say this clearly

    It you cancelled a show at 12:30 that is to run from 12.00 - 1.00. your next show has to end at 1.00pm

    If you want to run your show now to 1.05pm,then you must also cancelled the show scheduled to start at 1.00 and then you can set the previous show to 1.05  and the subsequent  show to start at 1.05

    Failure to cancelled the subequent show will result in an error that shows cannot overlapp and you will be in the forum asking for help.

    If that sounds confusing it ought to be cause it just require a little reasoning and reading it more than once




    Post edited by Voisses Tech at 2015-05-26 20:40:23
    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.
  • Dear Voisses, I am sorry, that is really clear for me. I know Airtime is eventually designed to be use f by several programming team. Right, and the way you described is absolutely right and make sense in terms of scheduling, blocks, overlapping, etc.
    My question was not against Airtime, just a different point.
    Is my assumption that any LS related "patches" will be pointed to icecast as the target, without involvement of Airtime? So end users will not be able to listen a station say online without repoint the player to diff mount_ point, port? Just tell me yes or no.

    Thank you in advance,
    Alex.
    www.actionsch.com - Bringing talents in life!
    + Action Radio School +
  • Vote Up0Vote Down Voisses TechVoisses Tech
    Posts: 1,423Member
    by any chance is linked to Airtime play-engine? If yes, what variable name should be defined for it?

    Ambigious question!

    Airtime play-engine is liquidsoap,so yes
    Does it pull the data and then put in the database andd anaylised it ,then the answer is no

    After hearing this question asked multiple time I decided to have a look at the flow of Airtime to  understand the "hola la la" some people makes of it.

    and guess what. its easy to integrate.

    In  about two weeks i will post my first video on how easy it is that eggs will be splatter on many faces.

    • I create the autodj straight in the playlist and then all hell will broke lose.
    • I will be laughing at all the fake autodj comments.

    LET ME SAY THIS

    AUTODJ SCRIPT WAS NEVER CREATED BY ME.

    I USED WHAT OTHER PEOPLE HAD AND MADE IT APPLICABLE ACCORDING TO ALL THE CHANGES FROM LIQUIDSOAP 1.0.1 AND SUBSEQUENT VERSIONS WITH APPLICABLE VERSIONS IN AIRTIME FROM 2.2 AND SUBSEQUENT ONES.

    IT IS SUPPOSE TO DEEPEN YOUR IMAGINATION ANDD BE CREATIVE,WHAT MIGHT APPLIES FOR YOU MAY NOT FOR OTHERS AND TO BE HONEST,I CREDIT @BASHTEE RADIO FOR HIS SPIN ON IT.

    SO ALL DOUBTERS AND NAME CALLERS STAY TUNED.








    Post edited by Voisses Tech at 2015-05-26 21:00:34
    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.
  • Vote Up0Vote Down Voisses TechVoisses Tech
    Posts: 1,423Member
    Now lets imagine the "ON AIR " Light in a studio situation.

    When someone is in the booth and is djing,singing or playing the some music the ON AIR lights is on.
    when they step out although music is still playing the OFF AIR is on.

    Learn something.
    The ON AIR should only be on when there are active personnel ,not just because music is playing

    Ps.
    No question is ever stupid
    its Actions which are stupid
    and of course some people are really just plain stupid (and that's  being politically correct)
    IMHO.
    Post edited by Voisses Tech at 2015-05-26 21:08:05
    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 see the pointer. Well, such clear notes basically answered all my asked and unasked questions... will need to "overslept with it" to see tomorrow's "go" .
    Agreed completely with ON AIR sign.

    So maybe icecast kind of loadbalancer can be helpful for my imagination : )
    www.actionsch.com - Bringing talents in life!
    + Action Radio School +
  • Vote Up0Vote Down Voisses TechVoisses Tech
    Posts: 1,423Member
    Is my assumption that any LS related "patches" will be pointed to icecast as the target, without involvement of Airtime?

    So end users will not be able to listen a station say online without repoint the player to diff mount_ point, port? Just tell me yes or no.

    Yes and No

    Airtime team and liquidsoap team used to worked hand in and hand

    i am only speculating here.I have no facts and no inside information but i notice there are some suttle changes in the team.
    in fact Airtime even held the more up to date repository,today that is not the case.

    So now here to the meet of the matter.

    I deliberately  try to hold my scripts as a plug -in module, so that at a later point I could just add a mount and I am on the way.

    so this is my conjecture,have
    confident that the Team will make the best decision and that you will not havve to worry about anything as it relates to icecast.

    amidst the noise,2.5.2 is not something to based that assurance on,but I know the hard working tem will come up with a nice 3.0

    Post edited by Voisses Tech at 2015-05-26 21:21:06
    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.
  • Wow, 3.0!! That is really a balsamic to my wounds: ) gonna wait for it to try!

    BTW, is Pro also got the same Action's as free one?

    www.actionsch.com - Bringing talents in life!
    + Action Radio School +
  • Vote Up0Vote Down Voisses TechVoisses Tech
    Posts: 1,423Member
    Yeap

    And do look at what York University in England is doing

    shout the Team over there

    I am doing some CPE (Continuing Professional Ed) so when I am finished next week I build the video.

    I am a private person so bdo not expect my voice or to see me

    but As I am so darn ugly,I have a Lot to hide

    Have a laugh and give your faces a rest,then shake hands with the one you love the best and pass on some roses
    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 am in the queue as one of your audience !

    Thanks for your words.
    Post edited by Alex Gainulin at 2015-05-26 21:33:38
    www.actionsch.com - Bringing talents in life!
    + Action Radio School +
  • Hi All,

    I got a question: I know Airtime has ability to build a Playlist via UI.
    Does the playlist is accessible/manageable outside of UI, say from/within Linux side?

    Thanks in advance,
    Alex.

    www.actionsch.com - Bringing talents in life!
    + Action Radio School +
  • Yes I have developed my autoDj around this and I hope to have a preview soon.
    U have move mine over to the Zend framework as it gives easier deployment
    Was out for a few weeks  but have a look at this

    https://forum.sourcefabric.org/discussion/16909/autodj-sweetest-seen-fake-or-real-for-a-good-deal-free-free-no-unexpected-autoplay

    pay attention to @Bashtee_Radio post

    You might want to
    look at this first and once you understand it the rest is simple
    https://forum.sourcefabric.org/discussion/17312/jingle-with-expiration-date

     
    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.
  • Voisses, you are STAR (*)!
    I got it... As shown in attached picture from DB  - highlighted area is list of songs in my test playlist, which I should periodically randomize 'position' column by script and save back in DB.
    So now, I am thinking to shuffle those file's related IDs.
    Will see what I can get.
    613 x 190 - 32K
    Post edited by Alex Gainulin at 2015-06-19 16:05:58
    www.actionsch.com - Bringing talents in life!
    + Action Radio School +
  • Hi Voisses,

    I am sure you know this thing: I am looking for a script's way to remove media file(s) from Airtime store.
    I know that 'airtime-import' script adds it, but maybe there is something that can remove it?

    Also, is there any advanced API guideline to manage Airtime behind a scene?

    Thanks,
    Alex
    Post edited by Alex Gainulin at 2015-06-26 10:41:47
    www.actionsch.com - Bringing talents in life!
    + Action Radio School +
  • I am sure you know this thing: I am looking for a script's way to remove media file(s) from Airtime store.
    I know that 'airtime-import' script adds it, but maybe there is something that can remove it?

    You just need to have knowledge of
    • Database
    • Zend framework (optional).You cannot do much with the Airtime like creating your own controller (that is creating actions which create your views and layout) from the zf tools because the  profile is missing from the directory but what I do is create my own project then I link it to the database .I include a picture its rough because i do not have the time but I keep mine as a plugin and I explain later.I could copy and paste a few things from the airtime layouts etc,but I do not think its good for learning also I want it so that if There are drastic changes to the core(Airtime) I am not dislocated

    Also, is there any advanced API guideline to manage Airtime behind a scene?

    The Apicontroller (/usr/share/airtime/application/controllers ) is the main one in the Airtime MVC.Well for 2.5.1.6 it offers to me little(IMHO) I could not do for myself.Basically it uses the liquidsoap json and parse it.I would use it for my public interface but

    • I need to parse(remove the ***) it before  it become meaningful
    • It does not do much for Master and if you mod the Ls_script
    •  so basically I just parse the json produce by the script I used in My tunein app and then I get all the data I want.so I can put my tunein script on a separate machine ( I learnt from using tunein directly making calls to your Airtime, if
      tunein site has a problem it can cause problem like making your stream
      run late ,like once they went down for 4 hours and my system locked up
      for that time) and I can get all the information whether its schedule,master or autodj,plus I just worked on a table format for what has played etc.
    • I looked at the possibility of putting my own function at the bottom of the Api but maybe someday  .
    I know they say there is a new Api but,we have behave so badly (https://forum.sourcefabric.org/discussion/17333/airtime-2-5-2-released ) that the usual method to give the community first peek is no longer the practice

    I will give you an intro of what I currently use below
      



    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 am not really a designer  so for give my looks of the interface below
    So the basics are

    I have 4 listen feed  that can go to the headphone monitors

    Feed 1 is My main
    Feed 2 is the station I simulcast
    I can listen and monitor when I am broadcasting
    the other 2 sections explain themselves

    then the what is playing I pull this  json

    The Controls
    Adj_sch  You will see the one saying auto_dj  (this is a toggle between autodj and schedule)
    Playlist   This is a list View of the playlists. All Playlist are created  in Airtime under the playlist layout.The basic two that must be there are channels1 and channel2 these are pulled by a script similar to @Bashtee_Radio suggestion. Channel 1 will play in normal mode and Channel 2 is played in randomised mode,If no playlist is selected  from this playlist it will default fallback to channel2(randomized).
    If you want channel1 just click on it and it switch to normal mode and songs in the exact order of the channel1 playlist is played in the exact order.note that the topbar highlighted (red for channel 2,yellow for channel 1)

    Key to note that playlist button will select any folder you chose ( I use a phplister) and create a playlist and save it at dynamic.m3u.if  you then select channel 1 it plays normal,if you chose 2 its randomised

    You can shuffle channel1 list by clicking the button in the Airtime interface but if it plays on channel 2 its automically randomise
     
    Record This button is to record a show at the time its click to start and the time its click to stop. after 3 hours an alert is seen and if you do no click ok the instance recording is stopped).My system automatically records and then archive  remotely for 42 days but is deleted locally every 10 days click on it it becomes red to shows its recording

    Mute is to mute the music if I am using the mic but I mostly us duck 1-10

    Duck 1-10 reduces the volume to a lower volume

    Next Song it swiches both channel

    Each channel carries the seek features in blocks of 3 (45seconds) for each channel

    I do this to show that you can control Airtime externally and that  all the features are there to make Airtime the best ever Radio Automation

    Even I was amazed at what liquidsoap and Airtime could do
    So definitely I will build a video as I said very soon to show it but I just little shame of the designed but I will soon do it.

    This is create to use via the web and that is why I did not use wxpython where you would have to install on all machine
    Its All Zend and Ls





    1024 x 768 - 55K
    Post edited by Voisses Tech at 2015-06-27 08:38:00
    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.
  • WOW, Voisses, that is owesome!
    You are really went into the liveAir controller. That is interesting. I will study this and see what I can build for myself. Thank you for the idea.

    These days I am working on some stuff that is really killing me yet, so I screwed my head already multiple time...
    Here is my current task: based on existing Airtime design I am looking the way to "aggressively" interrupt scheduled/aired show exactly at top-hour time - to insert "short news-digest" (either recorded or live) and then continue with scheduled show. Sounds like easy, but here is main problem: I agree to interrupt played song at any part, but NEED to continue after it from beginning NEW song...
    So far I got it by hardly scheduled blocks like below:

    scheduledPlaylist[HH:03 - hh:00] - interrupted by news-smartBlock[hh:00 - HH:03]

    When I use only LS I did it easy with a script.

    Do you know by any chance if there any other way (sort of script-way interacting with Airtime-DB, or so)?

    Thanks in advance,
    Alex.

    www.actionsch.com - Bringing talents in life!
    + Action Radio School +
  • So far I got it by hardly scheduled blocks like below:

    scheduledPlaylist[HH:03 - hh:00] - interrupted by news-smartBlock[hh:00 - HH:03]

    When I use only LS I did it easy with a script.

    Do you know by any chance if there any other way (sort of script-way interacting with Airtime-DB, or so)?

    I do not understand those statement .both seems to say the same thing unless you say that 

    when you use the ls script mods everything  is ok   but

    you want to pull the song information and make a playlist from it then use that playlist in the ls_script.

    That last statement sound redundant because that's exactly what the Airtime calendar does

    explain a little more to me please  but consider this.

    Airtime  uses the principle of  database collection

    it stores the song information (like title,artist,album etc.)
    it uses silian to  basically get track times and the python modules (like mutagen in up to 2.5 to tags)

    Playout etc are all handle by liquidsoap and then all songs played are updated to the database for play counts.
    basically ls is the man in the middle

    So with that give me some more information

    and here are my concerns
    why smartblocks and not a regular playlist? smartblocks are meant to basically selec
    t and shuffle songs based on a criteria.TOH are strict and just a normal playlist that is like the order Time News Sports and then Weather (TNSW)

    if you are going to us Ls,use playlist reloadable instead of a normal playlist.The difference is that playlist are just general it stops when interupted.Playlist reloadable on the other hand  it plays from song one to end and then reloads at the end .I guess playlist with normal mode does almost the same thing but I use reloadable for my TOH


    On the dia above I actual did that for a client as a rough and quick thing.I have since used the extra spaces in the airtime and make it more os a dashboard,

    For myself I use RLM on my Rivi and have some nice buttons to just hit.When I get home next week I will give you a snapshot

    Cheers
    VOISSES

    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 am sorry Voisses for the confusion...

    Attached picture shows what I am currently using in Airtime, but(!), again, my question is still about some "smart" way to enhance.

    For now, e.g. if I need to schedule a program in Airtime, say for one hour length, I have to do this:
    first of all, I will build a playlist in UI - just dragging songs into it I wish to be there.
    Then I need to mix it with jingles/stationId/commerce, etc. - so I can do it also via UI - just dragging files in.
    For the top hour(s) I can add prerecorded news block and drag it there. So program is ready.
    That is what we do now.

    But my wishes (I am automation process engineer ITIL) are really far... so I am thinking to automate this!
    Here is my thought (partially I know how to do some parts, partially I do not have any clue as yet... )
    So here is what I'd like to achieve:

    In Airtime UI create all empty playlists associated with aired run-time (such as 00H-02H, 02H-05H, etc.)
    At particular time, system cron runs script(s) that will do:

    1) generate a playlist-content based on Aired-Program scenario (length, genre, mood, artist, album, etc.);
    2) mix this playlist-content with jingles/stationId (in pattern say 1:4 or other) and (if applicable) mix with commerce ads;
    3) at the beginning of playlist add a dummy-file (actually the station promotion - it will be played-out if actual news-block is missed) with fixed run-time (say 3 mins) - to reserve a space for dynamic top-news block;
    4) insert/update Airtime DB with this playlist-content (hope it will properly appear in UI's playlist)
    5)* closely by the next top-hour, we must have recorded news-block (done either by local/field journalist, or studio crew) and dropped in Airtime (here is few approaches I still see: dropped in watched directory, or uploaded via UI);
    6) now it is time to update DB's first file in playlist with the news-block.., but(!) before to thing further about it, here is my question(s):
       a) if Airtime uses different DB table for already running show? if so which one it is?
       b) if Airtime uses the same DB table (cc_playlistcontents) when is it locked out? if yes, when? exactly at time show runs or prior? I am wondering what is a safe time-frame when it could be modified in DB?

    Actually my previous question about API was related to this procedure: update DB table with content, clean-up DB table, etc.
    I know that SQL for those is quite simple to be used for, but if APIs already exists then it would be more appropriated to be used.

    Probably I need to create DEV env to play with those DB interactions. But if any "already done" stuff exists - I will be glad to try. Thanks!

    Alex.

    1028 x 589 - 120K
    Post edited by Alex Gainulin at 2015-07-08 11:30:11
    www.actionsch.com - Bringing talents in life!
    + Action Radio School +
  • Soon Give you my thoughts.
    Have a few


    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! I just modified my post a little...
    www.actionsch.com - Bringing talents in life!
    + Action Radio School +
  • Hi Voisses,

    Just really quick question.
    Roughly: if I'll drop cc_playlistcontents table only by specific playlist_id, and then add new content into - shall I do something special - say to inform Airtime about that changes? or Zenframework will inform it by itself?

    Thanks,
    Alex.
    www.actionsch.com - Bringing talents in life!
    + Action Radio School +
  • Zend Framework is basically alternative to using raw PHP. it comes already with a number of ruleset and layouts that makes coding any web interface easier.
    so the back-end is the database the front end is Zend.

    in fact PHP 7 will be all zend

    Nearly all the queries that has to do with the general playlist playout and even liquidsoap selection of the correct track depends on cc_playlistcontents table and playlist id.

    so when you create  a playlist it will be index as 1 then 2 then 3 and so on .this id will be the primary key

    So typically if you add or modify any column  you will want to look to change

     js
     js/airtime/
     js/datatables/
     
     Zend
     Application_Form
     Application_Model
     Views

    and maybe css

    hardly see why would want to do so when you could use almost any join criteria to extract what you want

    look at this

    http://www.postgresql.org/docs/9.3/static/queries-table-expressions.html
     
    Post edited by Voisses Tech at 2015-07-31 18:19: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.
  • Zend Framework is basically alternative to using raw PHP. it comes already with a number of ruleset and layouts that makes coding any web interface easier.
    so the back-end is the database the front end is Zend.

    in fact PHP 7 will be all zend

    Nearly all the queries that has to do with the general playlist playout and even liquidsoap selection of the correct track depends on cc_playlistcontents table and playlist id.

    so when you create  a playlist it will be index as 1 then 2 then 3 and so on .this id will be the primary key

    So typically if you add or modify any column  you will want to look to change

     js
     js/airtime/
     js/datatables/
     
     Zend
     Application_Form
     
     Application_Model

    hardly see wy would want to do so when you could use almost any join criteria to extract what you want

    look at this

    http://www.postgresql.org/docs/9.3/static/queries-table-expressions.html
     
    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,
    I do not mean to modify any DB column or DB structure/table, but try to approach these two scenarios:

    1) let's say "mix": actually just modify order of column "position" in cc_playlistcontents (selected by particular playlist_id) - see below screenshot. I think this one is not required to "inform" any component about the change. Am I wrong?

    2) "clean-up" content of cc_playlistcontents (selected by particular playlist_id) - actually replace (line-by-line) whole content with new one (see screenshot). This one is more complicated: (to simplify I need keep same id column, which is DB related indexes), rest is not too complicated - am I wrong?

    Basically, Airtime does all that by itself, when we use UI.
    For example: modify play list(add new songs, delete some, reorder songs in the playlist, etc.)
    Maybe just got those commands and use it?

    Thanks,
    Alex.
    918 x 118 - 33K
    442 x 263 - 36K
    Post edited by Alex Gainulin at 2015-08-03 15:49:15
    www.actionsch.com - Bringing talents in life!
    + Action Radio School +