Broadcast Scheduler Project
Live365 Broadcast Scheduler
- Project Goals
- Create a web-based internet radio station program scheduler application, to
allow Live365 broadcasters to create multiple "shows" for their station and
assign them to specific start/stop/repeat times over a weekly calendar.
- Skills used
- Mason, PERL, HTML, Javascript
- Details
- Prior to this project, Live365 broadcasters had the capability
to create multiple playlists for their stations and manually switch among them.
Live365 stations also had a user-editable description. Fundamentally,
this project involved creating a timer-based system which would automatically switch
playlists and also update the station's description. A broadcaster needed to be
able to modify his/her schedule and leave it as a work-in-progress without
making those changes public; listeners needed to be able to view the currently-active
schedule independently of the broadcaster's "scrachpad" view. These criteria led to the
creation of two database tables, one to store the broadcaster's scheduler view, then once
published, the other table stores the public listeners' view. Database interaction is
handled by a PERL module, and timing is handled by a crontab'd PERL script.
My role in this project primarily involved creating the dynamic web UI to
display both views of the scheduler (broadcaster vs. public) plus the
event-edit pages. Accommodating global time zones and daylight-savings
proved to be one of the most challenging aspects of this project.
- Examples/Links
-
http://www.live365.com/stations/jimgskoop/schedule (a typical station schedule)
-
Broadcaster's Scheduler View (screenshot)
-
Event Edit Page (screenshot)
-
Hourly Program Guide (a demo/proposal for a site-wide "now playing" list of
radio shows on Live365 which leverages Scheduler functionality)
- Selected Source Code
- Scheduler Main Page
- Event Editor Page