Revision history for Perl extension MP3::M3U::Parser.
Time zone is GMT+2.
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.