# Update the song now playing on a station
GET http://air.radiotime.com/Playing.ashx?partnerId=<id>&partnerKey=<key>&id=<stationid>&title=Bad+Romance&artist=Lady+Gaga
Always remember in programming "There is no one way to slew a Giant" ,You can write your own and itr might work for you and not others.
But Your url output you print above carries a number of errors indicating that your script is not encoding properly and is different from my script (I highlight the errors)
http://air.radiotime.com/Playing.ashx?partnerId=xxxxxxx&partnerKey=xxxxxxxxid=xxxxxxx&artist=&title=Excision+&+Savvy+-+Sleepless+(Xilent+Remix)&album=&com
merical=
My script is a suggestion,one of which I have 99.9% confident in
But if you solely use the calendar or with a mod script ,I outline the Santa Claus fixed above
There are many ways to do the script
@John_Chewter way is here https://forum.sourcefabric.org/discussion/16848/tunein-updater-code-for-talk-shows-etc-updates-with-show-info-tested-on-2-5-1
@Yannick way is here https://forum.sourcefabric.org/discussion/17003/another-approach-to-tunein-icecast-playlist
And you are Bill's
Use whichever suits you best.
My only wish is that the team at Sourcefabric would adopt one of them and bring it to WAF and stability and just abondon that concept fixing things which by the next distro will break.
People are just yearning to have some of there expectations met and if you have even "one half bake cake you can eat."
Notice I am full of parables and metaphor,Although I might starve,my next job in the other life will be a Guess what "Comedian"
VOISSES
AFAIK Metadata forwarding from input-stream is already ticketed.Helmut Müller said:BIG THANK YOU!
This works very well. But when a DJ is connected it doesn't work. I think we need to get the metadata from the input stream. Has anyone an idea how to read the meta?
I fixed a similar tunein script for centova users... I'll be taking a look at this for ya guys for 2.5
/usr/lib/airtime/pypo/bin/liquidsoap_scripts# sudo service airtime-liquidsoap start-with-monit
Starting Liquidsoap Playout Engine: At line 56, char 16: the variable On_metadata used here has not been
previously defined.
Done.
/usr/lib/airtime/pypo/bin/liquidsoap_scripts# service airtime-liquidsoap restart
Restarting Liquidsoap Playout Engine: ('Error loading config file: %s', error(111, 'Connection refused'))
^[[AAt line 56, char 13: the variable On_track used here has not been previously
defined.
Done.
Now the only way i cam get liquidsoap to run is by commenting out line 56 :-(
Any help would be greatly appreciated.
Thanks in advance.
Lee
However if the Tune in radio iPhone & android app, sonos tunein radio app, BMW tune in radio app are used then the metadata is displayed, does any one know why their web site seems to behave differently to the apps.Lee
Also -- does it work with the 2.5.2 builds? Will 2.6 likely break it?
Artist, Title, and Album are submitted to tunein.com as that's all their API supports.Can anyone confirm whether or not this does in fact send album metadata along with track and artist?
Bill -- what're the proper ls_script.liq injection spots for 2.5?
##### Custom tunein #####%include "tunein.liq"
# the crossfade function controls fade in/outl = crossfade_airtime(l)##### Custom tunein startl = on_track(tunein.submit(partnerid="YourPartnerId",partnerkey="YourParnerKey",stationid="YourStationId"), l)##### Custom tunein end
Roger Wilco said:Voisses -- did ya forget to release the source for your time delay and http/get tweaks? ;)
Roger Wilco said:Can anything else be done to make this script better? Seems as though it's fairly simple and efficient as-is. Thoughts?
Roger Wilco said:Daniel -- could we get this code into 2.5.2?
I don't get this part -- why would the Stream Settings in the UI overwrite Title (track) / Creator (artist) or Album metatada? The Stream Settings Name, Description, URL, and Genre should all remain static before, during, and after sending TuneIn an update, right? Is this a bug?Bill Burton said:Roger Wilco said:Can anything else be done to make this script better? Seems as though it's fairly simple and efficient as-is. Thoughts?
The main issue that needs to be addressed is how to modify the ls_script.liq the correct method and location to call the tunein.submit() method. All these scenarios need to be covered:
- Pre-recorded content.
- Live using either Show Source or Master Source
- Airtime offline
- Custom fallback playlists
My best guess is to add the on_track() to just before the if output_sound_device then around line 322. This might work but then the track title would have been overwritten by the append_title() method defined in ls_lib.liq which is configured by Stream Settings in the UI.
Bill Burton said:Another issue I didn't attempt to address at all is the tunein.com API requirement to set the parameter commercial=true/false depending on whether a track is music or not. This is something that will be different for every broadcaster and would require customization. Such customization would be done outside the tunein.liq script.
No worries! This is something that will hopefully be addressed during the refactoring effort.
No need to worry about how it functions with fall-backs and stuff when they're all just hacks at this point anyway and not supported features! ;)Bill Burton said:Daniel -- could we get this code into 2.5.2?
I think it's way too premature to consider moving this functionality into core. There are too many unresolved issues getting this functionality to work in all circumstances let alone dealing with configuration and user interface issues.-Bill
I used my server for testing,then I passes the codes on.
I use on metadata. instead.
The problem I had is that tunein switch to live if the data was unknown,so I implement an if-elsif to take care of that.
What I did to solve that was to use php-curl to pull the airtime api, in an array and extract it.
This broke when I install 2.5.1.3 with https.
I had to reinstall because seem I had a malware on that machine that force port 770 to issue a denial of service attack.
I had this machine with both the icecast and airtime connect to the web.
I have since rethink and have used a different approach and when I get back i will scour that drive for what happen.
but I will definetley post my code this weekend.
What's the practical difference between pinging tunein via on_metadata versus on_track? Lost on that one...
l = on_metadata(notify_queue, l)
s = on_track(fun (s) -> begin log("on_track(title): #{s['title']}") end, s)s = on_metadata(fun (s) -> begin log("on_metadata(title): #{s['title']}") end, s)
It looks like you're new here. If you want to get involved, click one of these buttons!