Changes for version 2.0 - 2004-07-23
- => 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.
- MP3::M3U::Parser - MP3 playlist parser.
- MP3::M3U::Parser::Dummy in lib/MP3/M3U/Parser.pm