Podcastamatic is Free Software, licensed under GNU General Public License.
Contents- What does Podcastamatic do?
- Examples
- Requirements/preparation
- How to use Podcastamatic
- Customize what is displayed for each entry
- Customize the automaticly generated webpage
- Use your own HTML template
- Config file
- iTunes
- 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
- You need to have Perl.
- For Windows get Perl at ActiveState.
- Others see perl.com.
- 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/
- To get MP3::Info for Windows, run ppm then use the command
- 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).
- Run podcastamatic.pl and look for errors, and check the generated HTML and XML files.
- Upload your MP3s, generated HTML, generated XML, stylesheet (either use the provided style.css or make/edit your own) to your webserver.
- 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
- Now encode special characters (ampersand, less than, greater than, apostrophe (single quote), double quote) properly as required for XML and HTML.
- Added support for iTunes specific tags (experimental).
- Fixed XML bug when there is a space in filename (thanks Dr. Juan Cabanela).
v1.1
- Fixed bug that caused only 1st tag of it's kind to be replaced.
- Fixed wrapping issue in multi-line config items. Makes HTML code more readable.
- Added [EOL] tag (insert End Of Line character).
v1.0
- Simplified configuration.
- Improved customization options.
- Added log file generation.
- Cleaned up internal code.
v0.3
- Thanks to Craig Meyer for Mac OSX instructions to install MP3::Info.
- Fixed XML description tag; now validates at http://feedvalidator.org/ Thanks to Ed at NIMIQ and Victor Cosby for their help in this.
- added "header" CSS id to HTML output
- new configuration item to HTML output: AdditionalHTML (optional) allows you to add additional HTML code to the generated HTML file
- added "generated by" tagline to HTML output, uses CSS "classgeneratedby"
- Made "No audio files found" error more verbose (thanks to Brian Hefferan)
- Encodes spaces in URLs correctly (urlencode routine thanks to Brian Hefferan)
- Tweaked HTML output so it is now valid HTML 4.01 Strict. Validates at http://validator.w3.org/
- Added "Templates" feature. Added config items "UseTemplateForHTML" and "TemplateFile". See docs for usage.
v0.2 (1st public release)
v0.1 (unreleased)
Feel free to write me with questions, comments or suggestions.