2011/5/7 Shane M. Jonet <[email protected]>:
> Hi all!
Hi!
> FIRSTLY:
>
> I have a wonderful Liquidsoap + Icecast2 setup for our streaming station at
> wzmrradio.com right now, and I'd like to configure our setup even further.
Excellent news!
> I've defined the following sources:
>
> # Define all variables for playlists
> stationids = playlist(mode="randomize","~/stationids.m3u")
> commercials = playlist(mode="randomize","~/commercials.m3u")
> news = playlist(mode="randomize","~/news.m3u")
> music = playlist(mode="randomize",length=30.00,"~/remix.m3u")
>
> What we want to do is have one random song play from each source in the
> following order:
>
> 1. stationids
> 2. music x5
> 3. stationids
> 4. commercials
> 5. stationids
> 6. music x5
> 7. stationids
> 8. news
>
> Once this goes through once, we want to keep looping in that order. How can
> we accomplish this with the sources defined as they are now? Yes, we /will/
> have live sources in there as well, but we have a fallback set up to prefer
> live sources first before other things.
I think rotate should be good for that:
combined = rotate(weights=[1,5,1,1,1,5,1,1],
[stationids,music,stationids,commercials,
stationids,music,stationids,news])
> SECONDLY:
>
> We have a website which utilizes Drupal, and in time, our music database will
> be stored inside of it, eliminating the need for playlists. We intend to
> keep an internal list of what to play and in what order, as well as
> integrating user requests. Our model will be as follows:
>
> - Database containing all tracks with a field specifically for their
> 'source' (stationids, commercials, etc, as listed above)
> - A 'table' for our next queued songs: this table will have a minimum of
> five tracks queued. Any requests will be added to the end of the queue
> table. Once a track leaves the queue, its row will be deleted from the
> table. Once the queue table has four rows in it, another track will be
> queued to fill the fifth requisite row.
>
> What is the best means of submitting tracks from our queue table to
> Liquidsoap?
You have basically two options:
* Liquidsoap pulls the next song when it needs to feed its queue. In
this case you use request.dynamic and, most likely, an external script
that, when executed, returns the URI of the next request.
* Your systems pushes new requests to liquidsoap. In this case, you
use request.{queue,equeue} and the telnet server (or with a recent
liquidsoap, a custom HTTP interface..)
> Once we have tracks queued properly, we want to show our users the last five
>songs that played. We can either make a table for that specifically, or query
>Liquidsoap. What would be the most effective way to do that? We will want to
>display the artist, album (if it exists), title, and album art for the songs.
>Likely, we can retrieve those tags from just a fully qualified path to the mp3
>on our server.
The usual option is to register a callback on the final source using
on_metadata. This callback will be executed every time a new metadata
is seen on the source, and can be a script of your that update your
database at every new track..
>
>
> THIRDLY:
>
> I've noticed this issue with some of our tracks, and I'm not sure what the
> error means:
>
> 2011/05/07 14:19:07 [decoder:2] Decoder of "/path/to/track.mp3" produced
> non-uniform data: {audio=1;video=0;midi=0} at 543, {audio=2;video=0;midi=0}
> at 927! (End at 1764). Aside from re-encoding the track, etc, how can we
> resolve these problems? I'm mostly curious as to what the error's telling me.
Yeah, that's a current limitation of mp3 decoding. Actually, we have
discussed how it should be fixed but I fail to get my hands on such a
file.. I'd be quite pleased if you could send it to me in private :-)
Romain
>
>
>
>
> Thank you very much for the help!
>
> Shane @ WZMR Radio
>
> ------------------------------------------------------------------------------
> WhatsUp Gold - Download Free Network Management Software
> The most intuitive, comprehensive, and cost-effective network
> management toolset available today. Delivers lowest initial
> acquisition cost and overall TCO of any competing solution.
> http://p.sf.net/sfu/whatsupgold-sd
> _______________________________________________
> Savonet-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/savonet-users
>
------------------------------------------------------------------------------
Achieve unprecedented app performance and reliability
What every C/C++ and Fortran developer should know.
Learn how Intel has extended the reach of its next-generation tools
to help boost performance applications - inlcuding clusters.
http://p.sf.net/sfu/intel-dev2devmay
_______________________________________________
Savonet-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/savonet-users