How To: Schedule Winamp Recording

I like to listen to a weekly streaming radio show, but I’m usually not around to catch any or all of the stream.  I then need to scour the interwebz to find a ripped recording of the show, which is usually on Rapidshare/Megaupload/etc.  This method takes a while to find/download (that is, if it’s even available).  I decided I’d rather record the streams myself, but couldn’t find a simple method to do so through Winamp.  I discovered a method that works well and takes only a few minutes to configure.  Unfortunately I couldn’t find a GUI for setting up scheduled recordings, but with a few Scheduled Tasks set we can use a free utility called StreamRipper to record any streaming radio station that can be played through Winamp.

  1. Download Winamp, if you don’t already have it (I’m using version 5).
  2. Determine the URL of your streaming radio station.  In my case, it was http://listen.di.fm/public3/trance.pls.
  3. Download StreamRipper.
  4. Launch Winamp (which will also open StreamRipper) and set the StreamRipper settings (such as directory to save to, etc).
  5. Launch Windows Task Scheduler and create a basic task.  This will be to start the recording.
  6. In the newly created task, set the command to run to be StreamRipper.exe (in my case located at C:\Program Files (x86)\StreamRipper\streamripper.exe).  Set the arguments to be the URL of the stream you wish to record.  Set the start time to be whenever you’d like your recording to start.
  7. Set whatever other options for the task you’d like (I chose to run only if a user is logged on, that way I have the CMD window open to view the task.  I also chose to end the task after running for a certain amount of time, as a fail-safe in case the task doesn’t stop when it’s supposed to, that way my hard drive doesn’t get eaten up and create a 100GB mp3).
  8. Create another scheduled task.  This will be to stop the recording.
  9. On the second scheduled task, set the command to be taskkill.  Set the arguments to be “/f /im streamripper.exe” (without the quotes).  Set the task to run when you want your recording to end.  Again, set whatever other options you’d like for this scheduled task.  I chose to run this one regardless of whether a user is logged on or not.
  10. Test out your newly created task by manually invoking the first task.  Let it run for a few seconds (if you set it to run only when a user is logged on you should see a CMD window open that displays some text referring to your stream).  After that has run for 10 or 15 seconds, manually invoke the second task.  This should end the recording.  Then check the directory you set earlier (using the StreamRipper GUI) to view your recording.  If your recording is in there and you can delete it (meaning the file is not open and still being written to), then you’re all set!  If you cannot delete the file, then the second task probably did not work properly, as the file is likely still being written to.  If there is no file, double check that you have set the path to record to (in the StreamRipper GUI) and that your first scheduled task is configured properly.

That should be it!  If you have any questions, write me on Twitter by tweeting @agreenbhm .