Revision history for Perl extension MP3::M3U::Parser. 2.33 2018-12-25 BURAK - Distro fixes. 2.32 Tue Jul 5 01:13:42 2016 - Bump version. 2.31 Sun Jul 8 01:50:04 2012 - Bump version. 2.30 Thu Dec 31 04:39:58 2009 - Perl::Critic refactoring. - HTML::Entities is now an optional dependency. - New tests. 2.24 Thu Sep 3 02:02:02 2009 - Pod & distro fixes. Also correct a typo after __END__. 2.23 Thu Apr 23 14:50:16 2009 - Update builder. 2.22 Sat Apr 18 06:23:24 2009 - Update distro tools. 2.21 Sun Mar 29 08:20:01 2009 - Fixed an issue related to network paths. Reported by Paul Miller . - Converted the distro files to LF from CRLF. - Updated test suite. - Test::More 0.40 is now required. 2.20 Sun Jun 18 03:58:36 2006 - SIGNATURE sent to oblivion :p - Added Build.PL - Updated Makefile.PL - Updated tests - Updated copyright & license - Private methods (including template() & search()) renamed to include an initial underscore: search() -> _search() template -> _template() etc. Beware() if you->are('sub-classing'); 2.1 Tue Sep 14 20:47:09 2004 - export() now has the ability to dump the generated data to a scalar instead of exporting to a file. Useful for web programming and dynamic generation. To enable this, -toscalar option must be passed with a scalar ref. - Module now require()s IO::File, File::Spec and Cwd if needed. Because, we won't need this modules, if the user works with scalars instead of disk files. This will save some memory and incerase speed I believe. If you are parsing scalar data and do not use export(), then no external modules will be loaded. - Updated HTML and XML templates for -toscalar compatibility. - Updated Makefile.PL - Updated pod. - Added new tests to demonstrate -toscalar option. - Added a CGI example code to distro. - Some minor fixes. 2.01 Mon Jul 26 19:54:14 2004 - Minor fix in Pod. - SONG element was including ".mp3" if it is extracted from PATH. Fixed. - ARTIST element was including path info. Fixed. But, if the song name or artist includes slash or backslash, we have a problem 2.0 Fri Jul 23 23:19:48 2004 - BEWARE!!! THIS NEW VERSION BREAKS THE OLD CODE! - Now the module looks *like* a module. It was like a program code before. With this version it does only the parsing job. - Removed directory reading codes. - Removed some parameters passed to new() - Removed ignore chars thingies. - Removed Dump() method. - parse() now accepts file_paths/filehandles/scalars as parameters. You can mix and use these types together; the parser is now smart enough to do the right job with the related type. - parse() now returns the object itself. Use the brand new result() method to get the parsed tree. This new behaviour is a result of adding the chaining ability of public methods. - Object table structure and m3u key orders are changed. Object table is now more complex and verbose. - Returned result set is now an array not hash. - Module now checks if the file is a valid m3u file, before parsing it. Dies if it is invalid. - The new method reset() resets the parser object. Might be usefull in loops. For example: you can export each m3u to it's separate file with reset() without any extra work. - The module no longer requires Data::Dumper, but it now requires Cwd and Text::Template. - Exported HTML file is now fully templated. You can subclass the module and override template() method to change the HTML template. Currently, I'm not planning to add a template for XML type. - Added new namespace MP3::M3U::Parser::Dummy for Text::Template. - Added tcompile() method for compiling templates. - drive key returned from info() is now an array. - Added locate_file() method to get the full path of a file, if the file is in the current working directory. - Parser now tries to extract the artist and song infos into a separate data field. - New option '-overwrite' added to new() and export(). It controls the behaviour of module in export() globally or locally depending on where you set it. - export() checks if the export file already exists. Dies if it exists and you didn't select to overwrite it. - Pod updated. - Subclassing examples added to Pod. - You can now set the encoding of exported files from new() globally via -encoding option. - You can now set the format of exported files from new() globally via -expformat option. - You can now set the -drives option for export() from new() globally via -expdrives option. - But parameters passed to export() has the priority. - XML element names changed. 1.1 Mon Aug 25 21:42:31 2003 - Better XML escaping. - Added '-ignore_chars' parameter. - Fixed a bug in seconds() - Moved module to ./lib/MP3/M3U in the distribution package. 1.04 Sun Jun 22 15:54:43 2003 - Removed sort() from export() method (the module was using it on the $self->{M3U}{$cd} object table). Thanks to Patrick Bourdon. 1.03 Tue Jun 10 22:38:53 2003 - HTML code is valid HTML 4.01 & valid CSS. But you can get "non SGML character number" errors if your list(s) have some of the undefined chars. I may add a filter to escape these in the future. - Some minor fixes. 1.02 Mon Mar 10 22:33:04 2003 - Fixed the comma bug. Reported by Brandon Lederer. - Fixed a bug in the formatting seconds part. - Empty result keys (if a search didn't find any matches in a list for example) are ignored when exporting to xml. - Fixed the html playlist (css code was wrong and only IE was displaying it correctly). - Updated the POD. 1.01 Wed Feb 26 18:14:51 2003 - Fixed definition of Dump() in the POD. - Added the definition of the parsed data structure to the POD. - Added the test 't/use.t' to the distribution. Module's code didn't changed. 1.00 Tue Feb 25 19:23:14 2003 - First release.