Winamp Radio Scheduler 1.11
Release 1 (Compiled on the 15-th of February 2003)

First of all, this program is provided "as is". Should you lose data using it, i take no responsibility.

1.1 How it works...

First of all, WRS needs lists of over 100 tracks made exclusively out of songs (no jingles or radio stuff). That list represents the database from which Winamp will choose songs from, RANDOMLY (SHUFFLE option in Winamp must be selected). WRS interferes with Winamp only when there is a jingle/heavy rotation song/job song to play (it can wait for the song on air to finish or play it immediately) or job list to load. Also, if the job has the "live feed option toggled" WRS will suspend all jingles and heavy rotation songs so that the live feed can be played on air without any intervention. Another scheduled job will stop the live feed transmission and return to the jingle/heavy rotation mode as described above.

An interesting feature (recently added) is the possibility to cancel jingles or heavy rotation during certain jobs. This is useful if you have some underground songs on heavy rotation and want to schedule an oldies program at ten o'clock :)

Here's an idea of how my station operates using WRS:
7:00 - 7:30 -> Live newscast from national radio
7:30 - 11:59 -> radiomix.m3u is played (this is a list of mixed genre songs)
12:00 - Station ID Announcing the time
12:00 - 13:00 -> playing of radiomix.m3u continues
13:00 Jingle announcing the oldies program
13:00 - 19:00 oldies program
19:00 Jingle announcing the house program
19:00 - 23:00 ->house.m3u (house music list)
23:00 - Live newscast from national radio
23:30 - 7:00 -> radiomix.m3u is played again
The lists are have about 5000 tracks each.
Throughout each list's play, jingles are being played every 12 minutes (after each 4 songs) this is (basically) what WRS is capable of. It also detects silence on air (in case Winamp is stopped by mistake) and starts playing music again after 1 minute.

1.2 WRS' Priorities :
Before creating a program, you need to know what WRS' priorities are.
1. The most important events are, of course, the JOBS in the Scheduler.
2. Second come the JINGLES.
3. And last but not least are the SONGS ON HEAVY ROTATION.

WARNING ! : Be careful how you set the jingle playing interval as jingles have priority
over songs on heavy rotation. If you set the jingles too close to each other (2 minutes or after each song) heavy rotation songs won't run (there won't be any available time slots on air).

Now that you know the priorities i can explain to you what WRS does with each programmed event :

Having the top priority, the JOBS are launched without delay even if jingles are scheduled for that particular time. Should a job be close to a jingle, the jingle will be delayed by about 4 minutes. Should a jingle be waiting for a very long song to finish and a job has to run, the current jingle command will be cancelled and the jingle will take over as scheduled. Heavy Rotation songs will do the same as the jingles should they encounter a job. Should a Heavy Rotation Song overlap with a jingle, the jingle will not be delayed. The heavy rotation song, instead, will be delayed by 1 minute. Should it encounter the jingle one more time after the one minute delay, it will be delayed again and so on...

If a jingle or heavy rotation song are in the process of waiting for a song to finish, the one that ran earlier has the priority.

2.1 Programming WRS...

Now that you mastered the difficult theory of WRS' priorities, you can start programming...

JOBS : To add a new job click the "ADD JOB" button. The job window appears and there you can input your job details. Click "SAVE" to save the job. The job is now in WRS' job list. If you decide to change one of the job's details, double click the job in the list and modify whatever you want. The "SAVE" and "CANCEL" buttons are always there to help you. To delete a job click the "DELETE JOB" button on the right. To delete all jobs click the "DELETE ALL JOBS" in the file menu.

JINGLES / HEAVY ROTATION : To add a new jingle/song click the "ADD SONG" or "ADD JINGLE" button. The open file dialog box appears propting for the file. Once you click "OK" the file is in WRS' jingle/HVR list. If you decide to change the jingle/heavy roation song's file, double click the item in the list and modify the file name. To delete a jingle/hvr file click the "DELETE JINGLE" or "DELETE SONG" buttons on the right. To delete all items click the "DELETE ALL JINGLES" or "DELETE ALL SONGS" items in the file menu.

"Automatically play on load" : Once activated, this option will open the default playlist in Winamp
on startup and start playing. Useful if your computer recovers from a crash/power failure and starts WRS automatically.

"Automatically play when winamp is stopped" : Once checked, this option will detect possible silence on air. If winamp is stopped for more than one minute, it will send winamp the "PLAY" command. If winamp is closed, it will automatically start.

3.1 Version history:

WRS 1.11
Lots of bugfixes (thanks to your feedback)
Jingle / Heavy Rotation disabling function added
Added support for up to 99 jobs/jingles/heavy rotation songs
Improved code for faster execution
Bundled a newer version of Peter Pawlowski's output to improve crossfading capabilities
Added minimize button on WRS' window
Written dcumentation
Gave up the Startup Manager as it was buggy and not very useful.

WRS 1.10b
Some bugfixes [never published]

WRS 1.10a
Some bugfixes [never published]

WRS 1.10
Some bugfixes
Added queuing option to all events
Modified log file aspect
Added weekly job looping
Added the silence detection option
Added the "auto play on start" option
Improved the way commands are sent to Winamp
Modified installer to configure Winamp for use with WRS
Added song info display
Added live feed handling capability
Added Alex Vallat's module to communicate with Winamp
Bundled Jasper's and Peter Pawlowski's plugins
Created the Startup Manager

WRS 1.05
Corrected some bugs
Modified the job sorting code

WRS 1.01
First public release