Projects / dir2cast


dir2cast is a Web-based script to turn a directory of MP3s into a podcast automatically. It will automatically use the ID3 fields from your MP3s for the Author, Title, and similar fields in the podcast feed. ID3v2 is supported. The generated feed is cached and only updated if something in the directory changes. The generated feeds have almost full support for iTunes podcast tags. RSS Description, iTunes Subtitle, and iTunes Summary can be set by dropping text files in the same folder.

Operating Systems

Recent releases

  •  10 Mar 2010 19:53

    Release Notes: This release makes into a CDATA section with
    newlines, which means that formatted descriptions (such as tracklists) show properly.

    •  28 May 2009 07:55

      Release Notes: A critical bug where adding an MP3 to the folder when there were items already cached would cause the feed to generate with no metadata at all was fixed. dir2cast was made more robust against broken (empty, incomplete) MP3s.

      •  04 May 2009 02:04

        Release Notes: The contents of the tag per item have changed. It no longer includes Artist and Album fields in the title. The old behaviour is still available if you really want; just set LONG_TITLE = true in the .ini file. A new URL parameter ?force=<password> has been added to enable bypassing of the cache. </div> <div class="release clearfix" id="release_298416"> <div class="clearfix"> <ul class="release-badge"> <li class="before"><img alt="" src="" /></li> <li class="release"><a href="/projects/dir2cast/releases/298416">1.1</a></li> </ul> <ul class="rdate"> <li><img alt="" src="" /></li> <li class="rdate"> 25 Apr 2009 17:04</li> <li><img alt="" src="" /></li> </ul> <div class="meta clearfix"> <ul class="tagList"></ul> </div> </div> <p class="truncate changes"><strong>Release Notes:</strong> A minor fix was made to the defaults. Error handling for common first-time setup mistakes was slightly improved. </div> <div class="release clearfix" id="release_273815"> <div class="clearfix"> <ul class="release-badge"> <li class="before"><img alt="" src="" /></li> <li class="release"><a href="/projects/dir2cast/releases/273815">1.0</a></li> </ul> <ul class="rdate"> <li><img alt="" src="" /></li> <li class="rdate"> 17 Mar 2008 02:44</li> <li><img alt="" src="" /></li> </ul> <div class="meta clearfix"> <ul class="tagList"></ul> </div> </div> <p class="truncate changes"><strong>Release Notes:</strong> There are fixes for some minor ID3 bugs. The code path has been optimised for the most common case, in particular eliminating unnecessary ini reading at startup. </div> </div> <div class="recent-comments"> </div> </div> </div> <div class="sbblock"> <div class="sidebar first"> <div class="sidebar-content"> <h3>Links</h3> <ul class="sub-navigation divide"><a name="downloads"></a> <li class="url " title="Tar/GZ -"><a href="/urls/cc7f3d99375e85b29d4615d15f99b36b">Tar/GZ</a></li> <li class="url website" title="Website -"><a href="/urls/0f00a6d9903a73775da1bce3e094c8df">Website</a></li> <li class="url " title="Zip -"><a href="/urls/703012bd4079dd8e5511b5f0b42f4614">Zip</a></li> </ul> </div> </div> <div class="sidebar"> <div class="sidebar-content"> <div class="submitter clearfix"> <ul> <li class="avatar"><a href="/users/benxo" class="avatar" title="benxo"><img alt="Avatar" src="" /></a></li> <li><p><a href="/users/benxo" class="submitter">benxo</a><br /> <span>29 May 2003 01:12</span></p></li> </ul> </div> <div class="sidebar-screen"> </div> <ul class="sub-navigation split"> <li class="dependency"><a href="/projects/dir2cast/dependencies">Dependencies</a></li> <!-- <li class="report-problem"><a href="/projects/dir2cast/tickets/new">Report problem</a></li> --> </ul> <ul class="sub-navigation split"> <li class="graphs"><a href="/projects/dir2cast/date_metrics">Graphs</a></li> </ul> <div class="project-filter"> </div> </div> </div> <div class="sidebar"> </div> <div class="banner-imu"> <!-- DoubleClick Ad Tag --> <script language="JavaScript" type="text/javascript"> FC.loadAd('main_p6_imu', document.location.protocol+'//;pg=%2Fprojects%2Fdir2cast;logged_in=0;sz=300x250,300x600;tile='+dfp_tile+';ord='+dfp_ord+'?'); dfp_tile++; </script> <!-- End DoubleClick Ad Tag --> </div> </div> </div> </div> </div> <div id="mashup"> <div class="mashup-container clearfix"> <div class="col-1"> <a href="/projects/openstack4j"><img alt="Screenshot" class="screenshotThumb" src="" /></a> <h2>Project Spotlight</h2> <h3><a href="/projects/openstack4j">OpenStack4j</a></h3> <p>A Fluent OpenStack client API for Java.</p> </div> <div class="col-2"> <a href="/projects/turnkey-twiki-appliance"><img alt="Screenshot" class="screenshotThumb" src="" /></a> <h2>Project Spotlight</h2> <h3><a href="/projects/turnkey-twiki-appliance">TurnKey TWiki Appliance</a></h3> <p>A TWiki appliance that is easy to use and lightweight.</p> </div> </div> </div> <div id="footer"> <div class="footer-container"> <div class="twitter-icon floatright"> <a href=""><img src="//" alt="Follow Freecode on Twitter"/></a> </div> <div class="footerLinks"> <a href="/about">About Freecode</a> <a target="_blank" href="">Privacy</a> <a target="_blank" href="">Cookies/Opt Out</a> <a target="_blank" href="">Terms</a> <a target="_blank" href="">Advertise</a> <!-- <a href="" onclick=";return false;">Contact Us</a> --> </div> <div class="copyright"> © 2015 Slashdot Media. All Rights Reserved. Freecode is a <a target="_blank" href="">BIZX service</a>. </div> </div> </div> <script src="//" type="text/javascript" charset="utf-8"></script> <script src="" type="text/javascript"></script> <!-- Begin comScore Tag --> <script type="text/javascript"> document.write(unescape("%3Cscript src='" + (document.location.protocol == "https:" ? "https://sb" : "http://b") + "' %3E%3C/script%3E")); </script> <script type="text/javascript"> COMSCORE.beacon({ c1:2, c2:6035546, c3:"", c4:"", c5:"", c6:"", c15:"" }); </script> <noscript> <img src="" alt="comScore2" /> </noscript> <!-- End comScore Tag --> <script type="text/javascript">document.write(unescape('%3Cscript type="text/javascript" src="'+document.location.protocol+'//"%3E%3C%2Fscript%3E'))</script> </body> </html>