History 5: Difference between revisions
Jump to navigation
Jump to search
2F2A2056657273696F6E20312E306434323A204E6F742052656C656173656420596574202A2F |
2F2A2056657273696F6E20312E306434323A204E6F742052656C656173656420596574202A2F |
||
| Line 68: | Line 68: | ||
* new Mac error reporting routine makes it easier to add natural language translations to error numbers. Now for certain errors you'll get a description instead of a number (usually you'll see it in the log file) | * new Mac error reporting routine makes it easier to add natural language translations to error numbers. Now for certain errors you'll get a description instead of a number (usually you'll see it in the log file) | ||
* short hang on quit, and leaked spools due to not closing the video spool properly, fixed | * short hang on quit, and leaked spools due to not closing the video spool properly, fixed | ||
* fixed a major flaw in ripping and cache orphan encoding, where I was manipulating the song list from a pre-emptive non-main thread. This is a no-no, since only the main thread should ever manipulate the database. This would cause untold spurrious crashes for no apparent reason, either while ripping or while encoding after you quit and re-started and it picked up where it left off encoding. | |||
== Bugs I'm aware of that will be fixed == | == Bugs I'm aware of that will be fixed == | ||
Revision as of 02:09, 10 January 2006
Version 1.0d42: Not Released Yet
- working on the zip cache
- more robust error reporting when parsing song name
- more logging when deleting a file
- more logging when creating Queue's (used in deleting files, ripping, encoding, zipping)
- now supporting CDPedia. If you have your disc info in CDPedia, the info will show up in kJams. You don't even have to have CDPedia running. Note: at present, it only works with CDPedia songs that have a DiscID associated with them (gotten from freedb). So okay, that's not too helpful, i'm working on it.
- Fixed some of the audio popping / stuttering that was recently introduced. Now when playing with the spooler, you'll always get the Ring Buffer spool showing in the Tasks window (the Ring serves as a double buffer to the QuickTime file so there's guaranteed audio samples without having to wait for the disk)
- reverted my pitch bending code to the pre-alitvec days in an effort to fix the tremolio it seems to have introduced (r3)
- wrote the Zip spooler so it will now zip your files when it's done encoding. not hooked up yet, not debugged, see below for more info
- fixed some crasher stuff in the CDPedia code
- MASSIVE upgrade to the web site, that you probably won't even notice! Upgraded SQL, PHP and Wiki. MAN what a pain! Thanks to Bradley!!
- fixed a crash-on-quit problem relating killing off a blocking thread that had an uninitialized descriptor. The thread should not have been blocking in the first place, but that's another bug. At least if this ever happens again you won't crash.
- found that errant blocking thread: the file deletion que thread. I just had never bothered to gracefully ask it to exit on quit, so I was force quitting it (leading to the discovery of the above bug). Now I ask it to exit gracefully.
- (spooler) when a rip is done, we now erase the LCD window, so it no longer shows the progress bar
- (spooler) when a rip is done, we again play the flourish sound
- if you eject a CD immediately after a rip but before the encoding is done, you'd crash when the encoding finished, as it tried to delete the song importer associated with the encoder (which was attatched to the CD, which no longer exists)
- if you used the "Advanced->Get CD Tracks from freedb...", it no longer says "wrong number of tracks"
- fixed a bug where, if you put a CD in that you had never put in before, and iTunes ran and queried the CDDB, and kJams also queried the freedb, you'd end up with multiple copies of the CD apparently mounted in kJams. Wow, that was subtle.
- I now check that, if you have LAME installed, that it is 1.93 or better. You may STILL crash if you're not using my implementation, even if you have the latest version installed from elsewhere. Unfortunately there's not much I can do about that until the LAME developers incorporate my changes into their official distribution. My only recourse is to convert to XCode, which i have to do very very soon anyway.
- Dialogs are now logged, including the user's answer (Alerts have always been logged)
- r5
- added a new "MultiFile" spool type, that can "read" any number of files at once, making them appear as a single spool
- added a new "Zipper" spool that can "write" from a MultiFile into a Zip archive now
- when you play a zipped song, it gets into the cache, so next time you play it, it doesn't need to be unzipped
you can now export QT even if there's a song playingoops. while the sources are now thread safe, the destination is not yet: coming soon.- you can now export QT directy from a CD, without having to rip first (oh, and it goes into the cache, so if you then want to play it or "rip" (encode) it, it will not need to read the CD again
- you can now automatically have songs get zipped up when you rip them (the pref is now hooked up)
- possibly fixed it so you WON'T crash if you have the wrong version of LAME
- fixed a bug in CDPedia code that would crash if you had no CDPedia DOH!
- fixed several crashing bugs relating to mounting CD's
- spooler progress now refers to disc name by the playlist name, not by the volume name (which can be different)
- fixed bug where, if you have audio but video can't be found, no crash
- removed ability to turn off spooler, it's now permanently on
- if you rip a song that was in the cache, you don't get the flourish sound cuz there was no rip
- started work on OggVorbis spool
- finally changed the non-functioning AIFF default in audio settings to MP3, this will probably confuse fewer people. it's still bad tho, what if you don't have mp3?
- fixed a bug in graphics decoding where it was at least theoretically possible to get a glitch where you didn't want one.
- very slightly optimized the graphics error corrector
- the zipper now creates archives with unicode names, and the contents' names can be unicode. I wonder if they will unzip correctly on other systems?
- upgrading to Tiger server
- fixed a crash on quit bug
- r7
- added Cache preferences under the Audio prefs. You can now specify it's location, number of songs, see the current size of the cache, and clear the cache
- no longer calling EventAvail() from preemptive threads (doh!) this would cause all manner of spurrious crashes
- the new cache manager will no longer delete files out from under you that you are currently encoding (yikes)
- the background encoder will now pick up where it left off if you had crashed or quit before it finished encoding
- asserts will never come up blank again, nor cause their own crashes, no longer showing them during preemptive threads, now always delaying display until the mail thread
- fixed problem with zipper, was not *entirely* unicode aware, would crash when it failed, now doesn't. yay.
- fixed a BAAAD bug where I was literally passing the wrong object to the zipper. It's like, someone about to jump out of a plane asks you for a parachute, and you hand them a backpack with books in it, and say, "here's your parachute". Nuh-uh.
- aaaand another one where it was attempting to match the "AIFF" version of the file length with the CDDA version of the file length, and coming up short, even on the exact same song. now, I only compare CDDA with CDDA, i no longer use the AIFF duration for anything, since, well, it's wrong.
- r9 Dec 28th
- oops: if you stick a CD in that you've already ripped (say you want to re-encode or whatnot) the new songs wouldn't link up with the old songs, so you'd get another COPY of the song. Now they link up, so new rips will REPLACE the old
- several major and a few minor bugs fixed relating to zip files, the spooler, the cache and other things. There's still work to do. Just don't stress-test it and you should be okay
- r10
- at least one very bad bug and a few minor bugs related to zipping, the cache etc. Also, dashes and slashes are now allowed in song and album names, and won't cause spurrious problems
- r11, Happy New Year!
- fixed QT Export from non-CD. When I made it export from CD, I had "assumed" it was on a CD from then on, but of course, songs that are NOT on a CD are, well, not.
- yeekzers! There was a prollem with if you played a song but stopped it before it was entirely cached, when you went to play it again, sam, it would fail. So it seemed like you only had one chance to play. (if you had let the song get completely cached before you stopped it, no prollem)
- oops, broke the "purge cache" button, wasn't working, fixed
- if you had a 60,000 song library or so, and you stick a CD in, it would take WAAAY too long to lookup the songs to see if they already existed, well i sped that up considerably.
- some minor bugs
- r13
- there was yet another way you could get into a state where files would seem to go missing and you couldn't play them, this too has been fixed
- rebuilding your library would skip loading zipped files, now it doesn't
- if you quit JUST at the moment the LCD panel would refresh, you'd crash on quit
- r17
- fixed a crash-on-startup bug when loading playlists and very old databases
- new Mac error reporting routine makes it easier to add natural language translations to error numbers. Now for certain errors you'll get a description instead of a number (usually you'll see it in the log file)
- short hang on quit, and leaked spools due to not closing the video spool properly, fixed
- fixed a major flaw in ripping and cache orphan encoding, where I was manipulating the song list from a pre-emptive non-main thread. This is a no-no, since only the main thread should ever manipulate the database. This would cause untold spurrious crashes for no apparent reason, either while ripping or while encoding after you quit and re-started and it picked up where it left off encoding.
Bugs I'm aware of that will be fixed
- sometimes when you stop a song, it doesn't stop. the next song plays, but the previous one also plays, you can't stop it without quitting
- can't enter unicode in meta info
- the album popup may crash under certain situations
To Do
- Problem: NOT dealing with UTF-8 very well. Must replace all std::str with ustring
- Set ID3 tags
write Zip function so after you rip MP3+G they'll get zipped up together, with a canonical name, enable Zip after rip in the prefs pane- When editing meta info on Zipped files: unzip files, set ID3 tags, then zip them up again, but leave a copy unzipped so you can get them easily again.
- During import of pre-existing MP3's, scan ID3 tags. Also, write a one-shot utility to both scan for bad zips and also read ID3's from valid zips, and re-canonicalize the names. Move bad zips to a new folder.
- finish CDPedia support
- 40% done: ability to cue a song to the first non-silent sample, so un-pausing means instant-on
- 20% done: ability to cue two songs for cross fade (same as: ability to export QuickTime (or iPod) at the same time as playing some other song)
- Allow a 'placeholder' track to be input into a singer's "Tonight" list, that includes the disc name and track number, and when it comes up, the dialog comes up, says "stick in the disc", to let it play direct from disc, automatically picking the right track. Alternately, allow KJ to drag a track from a CD into a playlist. then, eject disc. when that song is coming up next, put up a dialog that says "please stick that disc back in" and it'll go play it from disc, Alternately, rip the song when it gets drug from the CD into the singer's "Tonight"