///// RIPPON! version 0.09 ///// Alex's CD Ripping Script ################# ### CHANGELOG ### ################# 0.01 -- Initial version (Dec 29 1999 to Jan 2 2000) * Initial release 0.02 -- Bug fixes, experimental stuff (Jan 5 2000 to Jan 10 2000) * Fixed add_cd (doesn't fill up root partition) * Color/prompting support (Term::*) * Enhanced envvar support * Slightly improved track ## support via to2() * A little bit of code cleanup + More Global Variables! + Expanded %disc hash + Re-organized a few checks + Slightly more modularized * Improved documentation 0.03 -- More color-related changes (Jan 11 to Jan 13 2000) * Added "console image" support 0.04 -- Bugfixes, new features (Jan 15 to Jan 16 2000) * Instead of changing slashes in filenames to "\", it changes them to "-". Also, no translation is made in the ID3 tags and .nfo files. * Now handles Workman's multi-artist format. Yay! * Memory use is down to ~2.68 MB of memory while running. That's still pretty bad, but it used to be ~4.35 MB. * Added gentle check to see if the MP3 file about to be written already exists. If a file with that name already exists, RIPPON! tries to find a similar name that doesn't already exist. (This allows you to have multiple versions of a song around, or rip two CD's with the *same* song on it. You can clean things up later. :-) * Removed `sensible-editor' from list of possible editors because I found out that my routine was better than the one in `sensible-editor' (and that's not saying much). 0.05 -- Bug fixes, minor feature additions (Jan 18 2000) * Now dies on invalid options (this is because the startup routines blank the screen, hiding any option errors). Besides, we shouldn't try to continue if some of the options are bad. * The --save-wavs option (short option: -W) was added, allowing you to keep the old WAV files generated by cdparanoia. The default behavior is to delete them, but you may want to save them for burning, or something. :-) * Replaced calls to run() with calls to system() in places that don't need/don't want to capture the output. * Changed the .nfo file format to something a bit more machine-readable. (That means you can feel free to depend on *this* .nfo format.) See the nfo-format-new file for the specifications for this file. * Since the .nfo file format changed, I have included a translator from the old format to the new format. It is set up so you can just do this: $ nfo2nfo *.nfo in your .mp3 directory, and it will convert all of your .nfo files to the new format. It will skip any files it doesn't recognize (this way it doesn't corrupt anything) and warn you about them, so you can manually edit them (if you want). 0.06 -- Bug fixes (Jan 22 2000 to ???) * Fixed bug: The last entry in the database would not be found because RIPPON! used the existence of the next database entry to find the end of this entry. (Wierd...) * Fixed the message "If there are any files named..." to mention the --tempdir directory instead of the current one. 0.07 -- Bug fixes (Jun 03 2000) * Updated the version number in $VERSION to 0.07 (0.06 was released as 0.05). * If the --skip option is used, Perl complains about undefined variables. This is because $cdp_flags doesn't get assigned to unless you DON'T specify --skip. I've now set the default value of $cdp_flags to '', which is what I wanted in the first place. :-) 0.08 -- *LOTS* of bug fixes (Jun 14 2000) * Fixed the "If there are any files named..." message AGAIN. Removed the confusing `the'. * Renamed --tempdir to --temp-dir; the old option still works, though. I also (finally) documented this option in the --usage message. * Fixed a bug fix. I seem to have reversed the order of the test for --skip... At least RIPPON! didn't crash when you specified it. * ID3 genre 0 (blues) works now. This required the following changes: + The "prompt" for a genre was changed to include a zero value as being valid. + I removed a very stupid double-test when reading information from the CD-Tool database. Geez... * Now *properly* handles Workman's multi-artist format. "@//" now refers to the last "@artist//" sequence rather than the artist of the last track. Why did I have such stupid behavior? I got it right on the `group' ("+//" and friends). * Replaced useless run() call with system() in cdreset(). 0.09 -- Bug fixes and New Features (Dec 28 2000 - Jan 1 2001) * Changed RIPPON! to use ID3v2 instead of *.nfo files. ID3v1.1 is still supported. * Moved large sections of code into class modules. This should make it easier to fix bugs and add features. * While I was "objectifying" most of RIPPON!, I fixed many of the problems that had been present. These are listed below. + Database files are read one line at a time (instead of the whole file at once). + RIPPON! can now write to, as well as read from, the database files. This means that add_cd, the --artist option (and kin), and the "prompts" no longer go to waste. + Term::Prompt is out. It just doesn't work the way I want it to. :-( + A great deal of RIPPON! is now modularized. + ID3 genres are now handled properly, and can now be specified by name using the `genre' keyword in the CDToolDB file. * Unfortunately, RIPPON! now seems to use ~3.84 MB of memory (up from 2.68 MB). I'm not entirely sure why this is...