Version History

From kJams Wiki
Jump to navigation Jump to search

Version 1.0d48: Not Released Yet

  • oh i'm procrastinating fixing the bugs on Instant Sorting
  • but i DID get configurable columns working. You can now add/remove columns as you see fit by Right Clicking (control clicking) on the sort columns header. Some don't work. Not yet able to make "custom" columns
  • switchable albums causes an assert and maybe a crash? fixed.
  • huh? i stick in a CD and see no tracks?!? fixed.
  • context menu is gone. fixed
  • saving meta data on a CD doesn't save?? no, it does save, but it's in the new meta format, forgot to make the reader deal with it. fixed
  • added Year, Genre, Tempo, Size and Comment columns support. not fully tested.
  • things specified as right justified now are actually shown as right justified (eg: "#")
  • no longer asserting when mounting a bin/cue pair
  • a CD is now default sorted by track
  • new playlists (including new singers, CDs) now get default widths correctly set for the columns
  • default library no longer has PLI index column (i'm so glad to be rid of that)
  • when burning a disc, it will *always* burn in User Sort order. Optionally: if you happen to be sorted by something else when you click burn, eg: by Name (cuz you want to burn the disc with the tracks in Alphabetical Order) then the User Sort order for that playlist will first be renumbered to match your current sort order.
  • fixed a bad bug when burning a disc, would save the Meta info for the about-to-be-burnt CD in a bad state, or not at all. I now write it correctly. It would also be read wrong, so now I can almost always completely recover from the bad state. If I can't recover completely, you'll be warned next time you load that CD.
  • the dreaded "error replicating song name" now tells which song it was.
  • Fixed an ASSERT(0) when saving
  • iPod, AppleTV and iPhone exports now use the Official Apple Exporters!!! YAAAAY!!! No more hacked MPEG 4 baloney that did not always work!! Please set your export prefs again, thanks.
  • the 3GPP exporter is now enabled! Go crazy you karaoke-on-my-phone freaks! (note: i am member of your group)
  • secret developer command-shift-1..9 will sort by that column number. note 3 and 4 don't work cuz they do screen shots. this will be removed in the future.
  • d47r1 August 5 2007 Lite Pro
  • when you set meta info on a song, the sort columns would NOT re-sort themselves!! EEKS! fixed.
  • fixed several crashes related to quitting while stuff is still going on
  • when adding to library your folder of thousands of songs, you no longer get an ASSERT() about every corrupted zip file
  • When reporting that a QT encode failed, the curly quotes now look correct
  • woops you can delete playlist items again, sorry about that
  • when you run kJams, the KJ rotation is rebuilt from the database, rather than relying on the "saved" data. please tell me if this ever screws you up
  • pressing play on a playlist when there is nothing playing and nothing selected BUT the playlist still remembers it's current song, now will play that current song, NOT the song after that.
  • now available in German, mostly.
  • when you sort a playlist, it now invalidates the burn image
  • when revealing in finder something in the rotation, you get both the singer and the song
  • going between PPC <-> Intel with your DB did not correctly deal with Dates of the last time the song was sung, not it is fixed.
  • d47r3 August 9 2007 Lite Pro
  • On 10.4, you get the Brand New Pitch Bender. Currently only used when playing live, the new pitch bender should sound much better (less warble). Users on 10.3 are stuck with the old version. Very soon this will also be hooked into QT Export and Burning.
  • totally re-wrote the audio sub system yet again, now it's much more pluginnable. look forward to AudioUnit effects and mic mixing! not available yet.
  • when you play a song, see new logging info on the audio unit chain, if you're interested.
  • when reading a CD's playlist i now more correctly find the lengths of the real songs on the CD so they're more likely to match the playlist
  • when pushing meta data, the file name of the actual song files DO NOT CHANGE if you don't have good meta data to change it to (no more "unkown album" or whatnot)
  • if you get info on a song, then hit cancel, it no longer tries to set it's meta info
  • OMG when kJams zips a song file, the file that was there before is DELETED while the file is zipping. Oh can you imagine crashing JUST THEN? Guess what? You'd lose your song, it's GONE!! Well thanks to "Tony T" for pointing that out. Now i do a "safe save" thing.
  • corrupted zip files are only added to the playlist once.
  • now printing out better logging when you stick in a disc
  • you can now "Get Info" even when you're already editing a name (usually it's an accident anyway)
  • more german
  • corrected curly quotes again on yet another dialog
  • if you're getting an assert dialog a million times in a row, hold down command and option, and you'll get beeps instead
  • d47r5 August 17 2007 Lite Pro Oops, this produced noise on PowerPC machines.
  • fixed the endian-issue on PPC machines, so it no longer produces pure noise. I hope none of you blew your speakers!
  • there is a new pref under preferences->audio "Use Apple AudioUnit for Pitch Bending", which is on by default on suitable machines, and off by default on non-suitable ones. If it is off, it uses the old SoundTouch library, if it is on it uses Apple's AUTimePitch, which is optimized and is smooooother, but which may utterly stall a slow machine.
  • even more german
  • now allowing people to use "-" and "/" in their song / artist / album names, and hopefully this won't royally screw you over in the future when you have to rebuild your library. normally this is a very big no-no since these are special meta characters that *mean* something.
  • d47r6 August 18 2007 Lite Pro
  • if you recently burnt a disc with pitch bending, sorry, it was bad, you should re-burn it. symptoms were: after the burn, if you re-mounted it you'd get no meta-info on the CD, and if you then played the disc in real hardware, the start-of-song timing was off for songs following the pitch bent song, getting progressively worse to the end of the disc
  • fixed like FIVE bugs related to burning!!
  • when you reveal a playlist, if you've burnt it and the burn image is still around, you get that too
  • even more German!!
  • the new pitch bender is hooked into QuickTime export and Burning
  • new columns supported: comment, keywords, bio, year, times sung. you can edit any of them, and if they're showing search on them
  • if there's an error attempting to read the CD table of contents, we now gracefully close the CD instead of leaving it open
  • in the SoundTouch pitch bender, when the audio runs dry you will now get perfect silence, rather than possible noise (rare case?)
  • during burn prep, if the prep doesn't produce a burn image that is the exactly perfect length, you now get a spooler error instead of a bad burn (!)
  • when the burn image goes stale, it is completely deleted, rather than leaving small bits behind
  • if set up a burn image but don't burn it, then add the .bin file to kJams (while it still lives in the cached burn images folder), then when you delete the songs from the .bin file, i no longer delete the bin file, i just leave it there (cuz you may still want it to burn again)
  • if you rip a song that is already in the library, it is now more likely kJams will find the song and replace it, so you won't make duplicates
  • no longer un-necessarily refreshing the view (update_items), which was causing the burn image to go invalid
  • If you played a song on CD, decided you liked it so drug it to your library (while it's playing), then you decided a) you don't like it or b) you want to stop the song from playing. Having made your decision you press ⌘-. or [esc], which cancels the rip, which is unfortunate if you meant only b. In any case this would crash, but that is now fixed. I'm not going to fix the part about how it halts the rip when you meant to just stop plaing. If you want to stop the song in that case just press pause or play a different song (that is not on the CD of course, since you're in the middle of a rip)
  • d47r9 August 25 2007 Lite Pro
  • tweaked editing meta info directly in the browser: maybe you won't crash now
  • all songs are converted to FSRefs when you open the database now (they're like internal aliases, so they won't break when you move or rename files). This means your DB will load a bit slower, sorry, such is the price. When saving they're converted back to paths. Any songs NOT found will remain as paths and will still save as paths, so you won't lose any information. What this means is that for songs which *are* found, you can rename them at will in the finder and they won't go missing *as long as kJams is running*. Soon they will also *save* as aliases, so you can do the same even when kJams is NOT running. This is a big deal, and a big change. Please report problems immediately.
  • if you hide the (Song) "ID" column (and sort index, and date, and track) then when you opened kJams your tracks list went missing. okay this is fixed.
  • pushing meta data would crash if you deleted a song it was about to push. no more crashy.
  • tweaked more stuff to hope you don't crash (related to playing songs)
  • re-wrote the smart playlist stuff (not tested, however). so it should be less crashy. i hope. but i'm sure you'll let me know.
  • finally disabled "Pull all audio out of iTunes" since it's been busted for a while anyway
  • added more asserts to help me track down some other bugs (one related to just starting up)
  • tiny bit of started to work on truly user-customizable columns
  • fixed crash on quit due to AppleRemote
  • d47r10 August 29 2007 Lite Pro
  • you can now play mono or multichannel QuickTime files, they will be mixed down to 2 channels
  • you can now play amr files (like you get from your iPhone voice recorder, i know you wanted that)
  • fixed the ability to play all those ancient audio file types, eg: qualcom, IMA, MACE, mu-law, qdesign, amr etc. Now I can literally play ALL quicktime audio files, and recompress them to different formats.
  • ATTN Tony!! I lost your fone number!! This one's for you!! the name template parser is now much more powerful. you can now do complicated things like "/T L/S-R/" and it will get what you mean. There's also a new string type "I" which stands for "ignore" if you want to skip some data :)
  • new "always on top" option under window menu, only relevant when in full screen. use in conjunction with "auto full screen" and "hide when paused (or stopped)"
  • more work on saving aliases in the database, not hooked up yet
  • when you stop a song and you have "auto full screen" on, it now un-full-screens it
  • d47r11 August 30 2007 Lite Pro
  • sources list of "Singers" now sorts by Present then by name (so singers who are here bubble to the top. Note: right now you have to refresh the list, so twirl it closed then open and it will be re-sorted)
  • tracks list of singers (which shows when you select the Singers folder), the list that is sorted by "Here" (Present) now does actually update behind the scenes, but at the moment you still have to refresh it when you make changes (sort by name, then re-sort by "Here" and the singers who are present will bubble to the top.
  • saving your database now gets a progress bar so you're not left wondering what the hell it taking so long when you quit or something.
  • the pitch bend heads up displayer is now more legible (fill over stroke, rather than stroke over fill)
  • the name template parser is now even MORE powerful: you can now parse something like this: "CB0342-4-07 Bad - U2 - some random stuff" with "L-L-T S - R - I". See how the L-L will suck up that number??
  • fixed a crasher in the name template parser
  • d47r13 September 1 2007 Lite Pro
  • fixed a crash if quitting invokes a save. workaround: press ⌘-S (save) before quitting
  • fixed a failure to burn (file not found)
  • fixed the progress bar on the ring buffer
  • fixed some bugs related to playing audio, perhaps causing crashes and/or files not playing, or exporting quicktime directly off CD
  • did more work on aliases
  • did some prelim work on setting quality of pitch bender to max (new pref NOT hooked up yet)
  • d47r14 September 3 2007 Lite Pro
  • deleting a very large selection of songs from the database no longer takes like two hours per song. *dam* that was hard, you know that was three full days of work on my part??? I thought it would be easy "just optimize the delete function" turned out there were a dozen or so places that needed optimization and about five new functions had to be written. WOW. but now it's fast. You can delete 40,000 songs in about 8 seconds.
  • I had severely slowed down the loading of your library (by creating aliases for every song), i've fixed that. No longer creating aliases on read. *still* not creating them on write either, coming VERY Soon.
  • put progress bars on the song deletion process so you're not left wondering what the hell is going on.
  • added secret "Sharing" pref. Shhhhh!!!
  • fixed a crasher when you export directly from CD to QuickTime using the new AudioUnit pitch bender
  • any quicktime file that has only audio is now supported together with a CDG file
  • d47r15 September 9 2007 Lite Pro
  • fixed a crasher if your library was so strange it needed to delete itself
  • more cleanup in the file reference code (so we can move over to aliases soon)
  • turned off Verify() in the DB so it doesn't go comparing apples to oranges (in this case, PlayList IDs with Song IDs, which are different things)
  • you can force-save the DB with ⌘⇧⌥-S (command shift option S)
  • shut off AppleTimePitch (sorry about the bugs in that, i'll fix'em before i let you turn it back on)
  • the DB was taking *forever* to load for some of you, i've now put it back to "lickety split" mode
  • d47r17 September 16 2007 Lite Pro

Same version, new section

  • even MORE german
  • okay! completed the ability to save/load database files that contain aliases. This version of kJams *can* read the new format, however I'm not going to turn on the ability for writing for a few releases. That way, there will be the ability to read the NEW format and write the OLD format, so in case there are problems in the newer versions, people can still revert to previous versions. Note: the new format requires the DB file to be like 5 times larger, sorry, that's the cost of aliases
  • we're also a step closer to having real "search paths", ie: a list of paths rather than that single path in the advanced prefs panel
  • there is a new "Missing" column, doesn't work yet, will suddenly start working when i turn on writing of the new alias database format
  • deleting meta data from an object now causes the meta data to become dirty (requiring a save). Used to be it would only get dirty when adding or changing
  • there was a bug where if you caused meta data to be "pushed" that the DB would keep saving the songs with the indicator that they *still* need to be pushed, even after the pushing was successful. This has been fixed. (no more push tasks on startup after the push is successful)
  • added ability to play .wma files (movies or just audio) (you have to have the proper QuickTime plugin for this to work)
  • the name parser can now parse out periods ("."), so this is now legal eg: if the string is "Vertigo - U2 - Sf1234.04", the template would be "S - R - L.T" I did not have time to test this, please tell me if it worked. I'm talking to you Tony :)
  • the name parser will now append repeat templates with a space rather than a period, eg: if the string is "Cb5043-02 01 - U2 - Vertigo", the template would be "L-L T - R - S", (see those two letter ells?) and the album would come out as "Cb5043 02" instead of "Cb5043.02" (and don't you dare manually put a dash in there)
  • the name parser will no longer crash on strings that can't possibly match
  • d47r18 September 23 2007 Lite Pro
  • Some burnt discs that had fewer than 10 tracks on them would, when placed in an internal drive, not show proper meta data, possibly even just after burning, or other discs would just rip or play very wrong parts of the disc, possibly crashing or causing video glitches. The fewer tracks on the disc, the more likely the problem. This has been a bug since the beginning of time. It is now finally fixed.
  • fixed the "beachball when you put in a disc" bug. Symptom would continue with: after you force quit the drive would NOT eject the disc, forcing you to restart.

Bugs I'm aware of that will be fixed

  • rotation does not always remove last song from a singer's Tonight list. but i can not get it to happen.
  • using apple timepitch pref causes silent burnt discs and can crash you randomly. (don't worry it is temporarily disabled 'till i get that bugger)

What My Plan Is

  • save database using aliases (robust) instead of paths (brittle)
  • import playlists
  • normalize audio
  • drag and drop into the app
  • instant sorting
  • custom meta per song
  • fully customizable columns (new cols: "has lyrics", "is missing", "bad zip" etc)
  • ability to zip all songs in library that are not already zipped.
  • re-canonicalize the names (up folders) "Keep Library Folder Organized"
  • option to copy or reference files when "Add to Library…"
  • option to consolidate or move library
  • list of search folder aliases (necessary for new file object primitive)
  • ubiquitous use of xattr info for *all* song data (this in prep for finally getting rid of the song database, and using the files directly)
  • Ability to rip, play & burn VCDs, SVCDs, SuperCDG, MCG
  • iTunes integration (browse & play with pitch & tempo)
  • done! AppleScriptability for QuickTime (iPod) Export
  • done! Ability to play ALL quicktime types, even those that "can't be moved / extracted on a background thread"
  • done! ability to burn (pitch bent) audio portion of non-CDG songs (aif, mov, midi, mpeg, kar etc)
  • (Wow then we can go Alpha!!)

Pokers In the Fire

  • "smooth as glass" quicktime playback, using QTKit (this will enable full 30fps playback even with both video windows open and set to maximumm size)
  • ability to QT Export any file type (midi, kar, mpeg)
  • auto update the Map whenever someone makes a purchase (parse purchase info, geocode for lat/lon, add to address book, update map data, upload map data). Update: I have written a nice applescript that can parse my email and extract a new address book entry, including geocoded lat/lon info. Neat!
  • FINALLY done! Wow this saves me like an hour each time i make a new release! auto-publish when I build a new version and invoke a script (export new vers.html file, zip lite and pro, upload lite and pro, upload vers file). Update: I now have all the parts I need for the workflow, just have to sew it all together now
  • full CDPedia support
  • 80% 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"

Previous Versions