Podcastamatic v1.3

Kenward Bradley
Podcastamatic project
2 December 2005

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

  1. What does Podcastamatic do?
  2. Examples
  3. Requirements/preparation
  4. How to use Podcastamatic
  5. Check for MP3::Info and MP4::Info modules
  6. Customize what is displayed for each entry
  7. Customize the automaticly generated webpage
  8. Use your own HTML template
  9. Config file
  10. iTunes
  11. Changes
  12. Disclaimer

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. iTunes specific tags are supported. Podcastamatic is highly customizable.


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


  1. You need to have Perl. It's Free Software.
  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. Copy the example Podcastamatic config file "example_podcastamatic.conf" to "podcastamatic.conf" for your own podcast.
    • Edit "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.
    • Whenever you write out a MS Windows file path, use regular slashes instead of the standard back-slashes. (e.g. f:/like/this).
    • 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 everything (especially the links) to make sure it is correct.
  4. If after reading all of the documentation you still have a problem, please post a message in the Podcastamatic Forum.

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.

Check for MP3::Info and MP4::Info modules

How can you check to see if you have the MP3::Info and MP4::Info modules? I wrote this little script to check for you. From the command prompt (or whatever you call it in your OS!) and cd to the location where you unzipped the script and run: perl checkmodules.pl

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.








v0.2 (1st public release)

v0.1 (unreleased)

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


Disclaimer: Kenward Bradley, or anyone involved with Podcastamatic, shall not be liable for any damages or costs of any type arising out of or in any way connected with your use of the software.