Podcastamatic v1.2

Kenward Bradley
Podcastamatic project
4 July 2005

Podcastamatic is Free Software, licensed under GNU General Public License.

Contents
  1. What does Podcastamatic do?
  2. Examples
  3. Requirements/preparation
  4. How to use Podcastamatic
  5. Customize what is displayed for each entry
  6. Customize the automaticly generated webpage
  7. Use your own HTML template
  8. Config file
  9. iTunes
  10. Changes

What does Podcastamatic do?

Podcastamatic automates the creation of a webpage and a RSS feed for your podcast, based on MP3 tags. A webpage can either be automatically generated from scratch or generated from a template you create. An RSS feed is an XML file that is required to be listed in most popular podcast directories. Podcastamatic is highly customizable.


Examples

For examples of Podcastamatic HTML and RSS output, see Shakespeare Souffle and Homeschool Habitat.


Requirements/preparation

  1. You need to have Perl.
  2. Your Perl needs to have the module MP3::Info installed.
    • To get MP3::Info for Windows, run ppm then use the command
      install mp3-info to download it.
    • For Mac OSX, type this at a command line
      sudo perl -MCPAN -e "install MP3::Info" and type the Admin password.
    • For other OSs, get it at www.cpan.org/modules/by-module/MP3/
  3. Edit the Podcastamatic config file "podcastamatic.conf" for your own podcast.
    • The comments in the config file should explain what is required.
    • Within the config file, ServerSide refers to whatever computer you are running Podcastamatic.
    • The easiest method is to let Podcastamatic autogenerate HTML from scratch (this is the default).


How to use Podcastamatic

  1. Run podcastamatic.pl and look for errors, and check the generated HTML and XML files.
  2. Upload your MP3s, generated HTML, generated XML, stylesheet (either use the provided style.css or make/edit your own) to your webserver.
  3. Once it is all on the server, check out the links to make sure you configured it correctly.

Alternately, you could run Podcastamatic from your webserver. This is a good option if you are able to install the MP3::Info module to the webserver.

Here is an example of what you will see on the command line when you run Podcastamatic.

Reading configuration file "podcastamatic.conf" ... Done.
Looking for audio files...
   Found q:/testpodcast/audio/Copy of shakes20041224.mp3
   Found q:/testpodcast/audio/shakes20041224.mp3
   Found q:/testpodcast/audio/shakes20041225.mp3
   Found q:/testpodcast/audio/shakes20041231.mp3
   Found q:/testpodcast/audio/shakes20050104.mp3
   5 audio files were found.
Building XML file "q:/testpodcast/rss.xml"
   Adding "Shakespeare Souffle #4"
   Adding "Shakespeare Souffle #3"
   Adding "Shakespeare Souffle #2"
   Adding "Shakespeare Souffle #1"
   Adding "Shakespeare Souffle #1"
   XML file is done.
Building automatic HTML file "q:/testpodcast/index.html"
   Adding "Shakespeare Souffle #4"
   Adding "Shakespeare Souffle #3"
   Adding "Shakespeare Souffle #2"
   Adding "Shakespeare Souffle #1"
   Adding "Shakespeare Souffle #1"
   Automatic HTML file has been created.
Note: No template driven HTML file to be generated per config file.


Customize what is displayed for each entry

This will allow your to specify what MP3 tags or file information is displayed for each entry, so you can customize the output.

You can do this by using the InEachEntry item in the config file. The InEachEntry item can appear multiple times in the config file, to allow for several lines of customization and readability. You can use HTML and the special tags listed below.

[TITLE] "Song title" as defined by the MP3 tags.
[COMMENT] MP3 "Comment" tag.
[AUDIOFILE] audio filename full URL, properly encoded (i.e. spaces encoded as %20)
[AUDIOFILE_NO_PATH] audio filename, no path, properly encoded
[AUDIOFILE_NO_PATH_NO_ENCODE] audio filename, no path, not encoded
[RUNNING_TIME] total time of audio file format MM:SS
[BYTES] filesize in bytes
[KBYTES] filesize in kilobytes
[MBYTES] filesize in megabytes
[FILE_MODIFIED] file modified date/time
[ARTIST] MP3 "Artist" tag.
[ALBUM] MP3 "Album" tag.
[YEAR] MP3 "Year" tag.
[GENRE] MP3 "Genre" tag.
[FILETYPE] inserts "MP3"
[SPACE] inserts a single space
[EOL] inserts End Of Line character.
[NULL] does nothing


Customize the automaticly generated webpage

See HeaderHTML and FooterHTML in the config file. In these entries, you can add HTML that is added to the generated webpage. You can also use the special tags listed in Use your own HTML template.


Use your own HTML template

Create a HTML file in the HTML editor of your choice or copy an existing one, to become the template. Insert these tags into the template. At minimum, you must include the [ENTRIES] tag, all others are optional.

In the config file, set UseTemplateForHTML 1 and set the template filename in config item TemplateFile, the default value is template.html.

[ENTRIES] All entries for each audio file are inserted here.
[BUILDTIME] Current build time in GMT.
[TITLE] As defined in config file.
[DESCRIPTION] As defined in config file.
[COPYRIGHT] As defined in config file.
[MORE_INFO] As defined in config file.
[ADDITIONAL_HTML] As defined in config file.
[STYLESHEET_WEBSIDE] As defined in config file.
[XMLWEBSIDE] As defined in config file.
[SPACE] Inserts a single space.
[EOL] inserts End Of Line character.
[NULL] Inserts nothing.


Config file

By default, Podcastamatic assumes that the config file is in the current directory and is named podcastamatic.conf, however you may specify a different config filename as a parameter when calling Podcastamatic. For example: podcastamatic.pl mypodcast.conf.


iTunes

Support of iTunes specific tags in Podcastamatic is experimental and may change in future versions. For information from Apple about the iTunes specific tags see: Apple's Podcast Specifications PDF. See podcastamatic.conf for example configuration.


Changes

v1.2

v1.1

v1.0

v0.3

v0.2 (1st public release)

v0.1 (unreleased)

Feel free to write me with questions, comments or suggestions.