IceDJ consists of a number of related scripts, all of which rely on icedj.pl to be running. Update Notice: -------------- - v0.9.9 is a complete rewrite. Make sure you read this documentation as many setup items have changed. There are a number of new fields for your .conf file. The playlist file format remains unchanged as do the log formats. Scheduling is now done internally to iceDJ, so no more cron jobs. - If you are upgrading from a version prior to 0.9.6 and you've been using requests, you need to run the script convertuniqueid.pl on your request log to update those uniqueID's. Run convertuniqueid.pl - IF YOU'VE USED A VERSION BEFORE 0.9.4 PREVIOUSLY, THE RULES IN WHERE_DO_THINGS_GO HAVE CHANGED - Check CHANGES and the sample example.conf in /data for the new features and fixes Where do things go: ------------------- Basically, there are four different directory hierarchies that the suite uses: - scripts this is where icedj.pl goes - data this is central location for log files and files that scripts share. this directory and its files have to be read/writable by the webserver and the user running the scripts, as those two users will share write access between the files it's defined as /data/ of the webroot (as found in the $ENV{'DOCUMENT_ROOT'} environment variable. I.e. if your server is www.yourserver.com then the data dir is www.yourserver.com/data/. You'll want to put access restrictions on this directory, as someone might otherwise be able to snoop out your configuration file and determine your icecast server's password if you want to locate the data directory you need to change line 57 in request.pl to point to the proper directory - mp3 this is where your mp3 hierarchy should start this is also where the directories containing the info for various scheduled shows should be located if you are implementing iceDJ to stream different bitrates, make sure that your file names and locations follow the format you defined in the 'source' and 'sourceID' fields in the .conf file - CGI request.pl and webadmin.pl should be stored here Getting started with streaming: ------------------------------- - set up your icecast server (no server, no need for a streamer :) - make sure you have Icecast's shout streamer compiled and functioning on your system - copy the contents of /data to your data directory (see above as to where this should be) - copy example.conf and modify it as appropriate (the .conf file should contain enough documentation to explains this). Do not edit the example.conf file, as webadmin.pl uses it as a template for new .conf files. - modify the playlist file--it's contains the field described in icedj.conf. See the icedj.conf file for information on how to alter the playlist format - modify the statsblock file to create the statistics block you'd like your webpages to be updated with. - modify or delete the schedule file depending on whether you are using scheduled events - modify the topten template in case you are scheduling topten shows - modify desired HTML template files and copy to your webroot - run icedj.pl this will start streaming to your icecast/shoutcast server, as well as generate your history and playlist page (if you set up those templates) Add automatic requests: ----------------------- - install request.pl in your CGI directory. (The playlist and request template files must exist for this) - make sure that your playlist webpage template includes the proper HREF to call your request script. The format should look similar to this: where will be filled in with the name of your configuration file and - showname must correspond to a directory in mp3root, which at the very least contains 'playlist' - the format of 'playlist' is: Line 1: Title of Show (may be HTML) Line 2: Extra info about show (may be HTML) Line 3: Title of show to be published to mp3spy Line 4-n: 0\tsonginfo (i.e. recordformat as used in normal playlist format)