I Have Decided To Go With Ape...
Reply #64 – 2003-09-10 12:03:11
Hi Being a non-techie newbie I'll just ask this simple Q: Can I now use the FixAPL.exe utility (version without *.bak output) on my *.apl files, and rest assured that the numbers are computed correctly and not give it another thought......? Actually, it's not that simple. You have to be a bit careful with it. You should use this utility only with APL files that are incorrect (i.e. fresh from MakeAPL). If you run it on APL files that are correct (e.g. files that already have been corrected once, or files generated by foo_apl), they will be incorrect again. This is because the program simply applies a correction factor. It cannot further verify the computed value (the Perl script I based this program on also worked this way). AFAIK, the only way the program can verify the value is by looking in the original CUE sheet (the one used to generate the APL file). At one point, I actually had plans to add something like that to FixAPL (it would look in the current directory for a CUE sheet, or you would be able to specify one from the command-line), but I didn't do it because: 1. I lost interest. I don't use MakeAPL anymore and so I am not affected by the bug. 2. It's just a simple fix for a bug in MakeAPL, it didn't make sense for me to add all kinds of features. I simply saw the original Perl script and thought "it would be more convenient if it were a native binary" so I rewrote it in C. Anybody else is still free to add this feature to FixAPL. I included the source code in the ZIP file. To be honest, I would recommend you (and anyone else) to just stop using MA's MakeAPL (at least until this bug is fixed), and use Foobar2000 with the APL plugin instead. That's what I'm using, and at least this way we know the APL files are always correct (I trust Case ).And, by the way.... does this setup handle non-ASCII characters in filenames, tags and such? The tags should remain untouched (the program only modified the start and end block). I'm not sure about the filenames. I use the standard rename() function, from MinGW's C library. Can you give it a try ?