From kJams Wiki
The Ohlone Version
Note: We have forked! I'm now working on both 1.0.1 and 2.0 at the same time
This page is in in REVERSE chronological order (latest at TOP)
1.0.1b100 May 12, 2016, the "Veganic" version
1.0.1b99 February 24, 2016, the "Nest" version
- if you "get info" on a song in a singer's "Tonight" list, it will work (rather than asking you to reset the singer's password)
- fixed a bug where the DB would not save in the case of adding a song to the library then quitting real quick: the song wouldn't be in the library when you restart
- fixed a bug where you dragged a song from a CD to any playlist: it might show up in the Library twice, or not at all, might show up in the "songs just added" playlist, might not. all fixed.
- updated the Rotation ShowScreens to have 2 lines at the top, so they look good in Spanish and other verbose languages
- Windows: fixed a bug where, when re-linking a file, you'd get an assert about len < 3
- Mac: you can no longer click in the menu bar during shutdown (it would crash anyway)
- on startup and shutdown, when con- / de- structing the Zipper, there is now a progress bar on clearing the cache, so you're not wondering what's taking so long
- right justified text in ShowScreens now is properly aligned
- i've removed your ability to change the number of songs in the Cache. It's now defaulted to 25. Folks were upping it into the thousands, and then complaining about running out of disk space and slow startup / shutdowns. You can still edit it if you hold the option key on startup
- Updated the Rotation ShowScreens so the title area allows for two lines, this way they look good in foreign languages
- in the "Credit Card Settings" dialog, the "months" popup is no longer off by 1 under certain circumstances
- "Launch Files" won't launch, when you have "pause between tracks" turned on, and the next song loads paused, and you decide to play a different song
- if you get the "kJams encountered an error while trying to save the database" error, it will now say what the error is, instead of "Success"
1.0.1b98 February 3, 2016, the "Introverted" version
- fixed memory leak when allocating bitmaps! This may fix the out of memory crashes on windows! OMG!
- possibly fixed memory leak relating to Timers
- fixed memory leak in the "Reinterpret" dialog
- when in freedb prefs, when you click on "Update List", the task in the activity window now says "Gathering freedb servers" instead of a URL
- when starting up, if you would have gotten the "This database was saved with a newer kJams" error, you now correctly get the https://karaoke.kjams.com/wiki/Restore error instead
- when starting up, your KTD file is missing and kJams would have picked up one from your backups, it used to error due to picking up an invisible file (".DS_Store"), fixed
- in preferences->Server, it now shows your server's URL (IP address and port)
- if you select the "Music Stores" playlist, then in the tracks list, right click on "Karaoke Cloud" and pick "Reveal Web Site", it will take you to the correct web site, not the wrong one
- when setting meta data on a song, we no longer mark data as "changed" accidentally, based on "actual duration" seeming like it changed, when it didn't. this makes kJams NOT decide to "push meta" when it shouldn't
- fixed one of the ways that loading the database would *think* it failed when it didn't (an unresolved alias should not bring down the system, it should just be ignored)
- FIXED "push meta" tasks: they'd forget they were pushed, so they'd go and push again on next startup!
1.0.1b97 Jan 13, 2015, the "Once Upon a Time" version
- fixed constant assert fail when playing songs from a music store
- when ripping from disc by dragging from cd playlist entries into library playlist, don't make TWO entries in the Library
1.0.1b96 Jan 3, 2016, the "Fantastic Beasts" (Squeeeeee!) version
- Exporting QuickTime works again
- kJams now works with files stored on network paths, much more reliably
- "hide video window when paused" now works more consistently. note that in this context "pauses" also means "stopped".
- when using the "itunes_auto_crossfade" script, if a song is playing, and you scrub the play head, it would at times believe the song is paused, and would start the crossfade procedure. this has been fixed
- in python, you can remove a keyboard shortcut by passing "" as the key
1.0.1b95 December 21, 2015, the "Everybody Hurts" version
- when you remove the last song from "Corrupted Zip File", (or any self-organizing playlist) the playlist will disappear
- now correctly logs if a song substitution has been made (if you play a music store song that you own, it will play the owned song)
- fixed a CRASH when playing the next song if that song doesn't exist
- updated code signing certs. we're good for 5 more years
- fixed a CRASH where a song is trying to start playing after you quit
- more logging for my fishing expedition (data loss bug)
- updated a2pix so it works on modern macs!
1.0.1b94 November 28, 2015, the "93 Million Miles" version
- for REALS fixed the "skip silence at end of song". the previous method was rather brain dead in that it was scanning in chunks from left to right. the only proper way to do it is to scan linearly from right to left, which is what i'm doing now
- you can now PAUSE a song, and move the playhead PAST the current "Trim End" time, and set a new "Trim End" time
- some CDs have a "fake" track on the end. the metadata gets saved without this fake track. but when you put the disc back in, it would ignore the saved meta data because the fake track would still be there, not lining up with the number of recorded tracks. fixing this means you don't have to keep fetching / typing meta data for that disc, it will be saved and remembered for next time
- you can now drag (rip) a song from a CD directly into a playlist, this includes dragging into singers.
1.0.1b93 December 14, 2015, the "Irreconcileable Differences" version
- not that i actually like that movie
- previews are 25 seconds long now
- if you previewed a song, then signed up for streaming, then tried to stream said song, you'd get the preview again: fixed
- previews are now handled directly inside kJams, no longer taking you to an external web site
- previews have video lyrics!
- when purchasing a song (via Credit Card), the Activity Window task that actually does the purchase now says "Purchasing Song" instead of some strange URL
- Music Store song previews:
- fade out at the end (if you have Pro or 2, and fade turned on)
- the word "Sample" that is overlaid on the song no longer hides if you pause the song
- "Skip Silence at End of Song"
- is much more robust now, much better at detecting the actual end of the song
- triggers will fire at the right time (Rotation ShowScreen, Messenger Rotation, crossfade)
- the end of song mark is now shown in LCD window (Red line), similar to when you use the Trim End function
- will now ask you to try turning it back on if you just turned it off
- got rid of asserts re: "compareResult != 0"
- when deactivating a serial number, if an error happens, you get informed of this, and you're NOT told that the SN file is on the desktop (cuz it's not)
- When you do "Export Playlist: All Files", now, any "Launch File" associated with the song will be exported with it (and renamed). Also, if you re-import said exported list, the launch files will auto-connect with the imported song
- no longer showing the "loading icons" individually in the log file
- fixed a playback bug where, right at the end of a song, the video window would not update for a second
- when kJams is searching for a missing song, it will do a more thorough search, and no longer does redundant searches
- fixed a bug where, if you had a secret pref set wrong, you could get into a "song file missing" dialog that would never go away, forcing you to force-quit the app
- the AV Sync timer function does not attempt to run when you're scrubbing the play head
- the standard name interpretation template "L-T - R - S" is now back, if you start with fresh prefs
- fixed some strings in the strings file
- Mac: the font used for Messenger Messages in the Video window now has a variable stroke width, so you can see it better when it's big. sorry Windows.
1.0.1b91 December 1, 2015, the "Coherence" version
- fixed a "file not found" or "fnfErr" bug when saving the database (unfortunately this is not THE bug)
1.0.1b90 November 28, 2015, the "Ex Machina" version
- if QuickTime is not installed you will be directed to download the ACTUAL correct version
- Will now display the correct Windows version string in the logs
- Will now display the correct kJams edition string in any crash report
- Log files will now be trimmed (they were already being trimmed on mac)
- fixed some localized strings
1.0.1b89r2 November 25, 2015, the "LIFX" version
- FEATURE: Skip Silence at End of Song (with crossfade in kJams 2!)
- FEATURE: in the "interpret names" dialog, a new check box <<Treat “em-dash” as regular dashes>>
- bug hunt: i've added a thing that may detect the data loss just after it happens. you'll be notified
- bug hunt: i've added a thing that may detect the data loss just AS it happens. you'll be notified
- bug hunt: cleaned up some code to make it moar betterer
- r2: fixed a crash on startup
1.0.1b88 November 10, 2015, the "Crazy UFO" version
- fixed the Music Stores to reflect the current reality:
- TriceraSoft no longer has ZOOM, Sunfly, or Mr. Entertainer (ie: no more "starter" streaming tier)
- Karaoke Locker no longer exists (it has been subsumed by Karaoke Cloud
- kJams now PRUNES your backups so they won't just fill up your hard drive
- Mac: no longer allows you to run from the DMG, give you instructions instead
1.0.1b87 November 8, 2015, the "Hateful Eight" version
- an awesome song
- kJams now supports the "Waves SoundShifter" audio unit, and will use that if you have it installed. Note that if you use that, you lose the ability to change the tempo. If you have it and do NOT want to use it, the secret pref to turn off is "Use Wave SoundShifter for key changes (no tempo changing)"
- when kJams adds to or removes a song from a self-organizing playlist, you only get notified (in the LCD window) if it's actually happening, rather than getting the notification even when it doesn't happen.
- when kJams REMOVES the last song from a self-organizing playlist the playlist really will be deleted, and won't show up again when you restart
- kJams now allows you to finely adjust the pitch (Key) of the song using "cents" or "100ths of a half-step", so if a song is in fact out of key, and changing by a half step doesn't fix fix it, you can use this.
1.0.1b86 October 28, 2015, the "Book of Life" version
- fixed the bug where all "not renamed" songs were also erroneously marked as having "bad ID3 tags"
when a "not renames" or "bad zip" or other self-organizing playlist gets emptied automatically, the playlist itself will go awayoops, they come back when you restart
- fixed bug where a song would loop at the start with no audio
- kJams really REALLY allows singers with no password to use wtkJams
- Mac: you'll now get instructions on how to use the new updater
1.0.1b85 October 21, 2015, the "Midnight Sun" version
- Edythe and Beau
- Fixed the LAME installer so it works on OS X 10.11 (it works NOW, go get it!)
- fixed the Key Changer: it had reverted to using "SoundTouch", now it's back to using "AUTimePitch"
- songs that are totally missing from the library will still show their "Song ID", for debugging purposes
- when exporting to iPod or other non-HD format, kJams now exports to the correct movie dimensions for a CDG file (300 x 216)
- kJams will now keep backups of the "Songs.ktd" file. so if your library gets hosed, you can just go back to the previous one that was working. if the file DISAPPEARS then kJams will AUTOMATICALLY go back to the most recent one.
1.0.1b84 October 8, 2015, the "Twilight: Life & Death" version
- sorry, your auto-installer no longer works in El Capitan. The updater now just opens the disk image, it's up to you to drag it into the Applications folder
- added "CFBundleSupportedPlatforms" to the plist, thanks apple for totally NOT documenting that i need it
- fixed mac command line build so i don't get all those crazy new warnings about file not found
- fixed bug where, in kJams, when you click "new singer" it would immediately EXIT the "rename mode". now it's back to keeping the new singer at the top of the list, in rename mode
- if you fix your ID3 tags by re-encoding, and it works, the song will disappear out of the "bad i3d" playlist
- when you rename a singer, the name is reflected correctly in the wtkJams rotation
- in the "Credit Card Settings" dialog, you can now enter a credit card that will expire TEN years into the future. I didn't know they made those.
- Tryout Mode no longer limits the number of bad: zip / id3 tagged / missing meta / mp3 files you're "allowed" to have
- "ratings" and "times sung" is now added to ALL playlists returned by the server
1.0.1b83 October 2, 2015, the "Ready Player One" version
- when you "load singer from another venue" you can pick an alias and it will still work
- wtkJams: fixed the ability to see newly added singers in the list of singers when you go to log in again
- singers aliased from other venues will now have an underline
1.0.1b82 Sept 25, 2015, the "Bravest Warriors" version
- Updated Growl SDK from 1.3.1 to 2.0.1
- add logging to pix allocation
- we now have the ability to create JSON dates that are JUST milliseconds since 1970 (used in the new wtkJams)
- fixed bug where you go to "Re-link" a file, and the file open dialog never opens (the command is seemingly ignored)
- when a search is completed, we set the selection once, not twice (faster)
- Fixed asserts about "Bizy reasons"
- no longer logging empty lines when loading singers
- fixed bug where after a search, or after you press the "X" to cancel the search, that ALL items would be selected, instead of none
- fixed a performance problem where pressing the "X" after a search would be extra slow
- AppleRemote and the GUI "Transport Buttons" will now honor the pref "pause between tracks" when you use the left or right button, and will honor the "warn before interrupting" preference. (to match the physical arrow keys on the keyboard)
- TriceraSoft: if your Gift Pack runs out, and you go to buy a song, instead of getting an error, you get told you're out of credit, and asked if you'd like to edit your GP settings
- fixed bug where "reveal in finder / explorer" would fail on the Library
- with "Thread Logging" turned on, i no longer flood the log with "timer thread" messages
- Windows: QuickTime 7 installer now works on Windows 10
- FIXED: the wtkJams crashing bug (on iOS 8)
1.0.1b81 August 20, 2015, the "Mistborn" version
- 6/30 the PowerPC version will be split off from the main builds from now on
- 8/20 when kjams is asked to quit via AppleEvents, it will again respond immediately, no longer requiring the user to jiggle the handle
- 8/6 the AppleRemote (white plastic, or silver aluminum) now works again on all OS versions
- 8/20 Karaoke Cloud (when parsing songs in the store), now properly sets these meta data:
- "Lead Vocals" (checkbox)
- "Lead Vocal Channel" (popup: so the vocal gets suppressed)
- "Rendition" meta data
- A = stereo vocal mix (training track)
- B = Vocal Right Stereo mix (training track)
- C = Performance track (no lead vocal – most used)
- D = Instrumental track (no background vocals, special licensing, colored (label) RED)
- 6/30 fixed ability to see Rotation playlist correctly
- 7/23 fixed a bug where it was unable to move a song into LAST position
- 6/30 fixed assert: on crash reporting when the previous crash didn't provide the version number: it will now be silently ignored
- 8/20 fixed crash: Server (related to getting a timeout, then while handling it, taking too long, putting up a dialog, then getting the SAME timeout again, and attempting to handle it again)
- 7/1 FEATURE: when you export to QuickTime or Burn a disc, your Volume changes are preserved (similar to your Key (pitch) Adjustments)
- 7/23 fixed crash: when using producer if the song does NOT yet have any media stream blobs
- 7/1 when you send an email via help->kjams feedback, i now get the Edition of kjams in the subject line
- 7/23 updated JSON parser to be more robust
- 7/23 the "kJams XXX Trash" folder (where "XXX" would be the edition name [ Lite | Pro | 2 ] ) is now just called "kJams Trash", so they all go to the same place if you happen to have more than one edition
- 7/23 fixed ASSERT bug on startup if you clicked in the menu bar before things were set up
- 7/23 the crazy rainbow about screen now always shows the current year in the copyright date
1.0.1b80 June 26, 2015, the "???" version
1.0.1b79 June 25, 2015, the "???" version
1.0.1b78 June 23, 2015, the "Luminosity" version
- fixed some issues with Manual Rotation:
- no longer bothers updating "Rotation" and "KJ Rotation"
- marks a singer as "Here" when you drop a song into the singer
- marks a singer as "Here" when you switch a song to be sung by a new singer
- on startup, properly marks singers as "here" or "not here"
- "High Quality Render" actually works again
- opening producer no longer starts playing the song (it will open in paused mode)
- fixed a major slowdown WRT serving up the "Rotation" playlist from the server. now it should all take place on the background thread instead of hogging the main thread
- saving playlist is serialized (one won't start saving until the one already saving finishes) to prevent them from interrupting each other
- fixed a crash on quit (not the python one)
- we now no longer check for updates for the Burning & Producer "plugins", since they're not plugins any more
- Mac: having Silverlight installed will no longer crash you if you go to purchase. kJams will actually REMOVE it ahead of time, then put it back after the purchase.
- Sorting by "File: XYZ" will now actually sort correctly
- fixed yet ANOTHER crash on quit (not the above one)
- fixed the PYTHON crash on quit! YES!
- fixed it so "maximum simultaneous downloads" will ignore any number above 2 x (number of CPU cores)
- fixed crash when duplicating playlists if no sort column info was set
- finally fully fixed the problem of importing a song file whose name has a dot in it (eg: "Mr. Bojangles"), it would remove everything after the dot
- Win: clicking the "Time Elapsed" text in the LCD display now switches to showing "Time Remaining"
- you can now turn off Network logging and it will stay off, plus the Server is now included in that
- on startup you no longer get an "error" about the eSellerate engine already being installed
- fixed some memory leaks relating to using XML
- fixed POSSIBLE memory leak relating to SuperStrings
- fixed crash relating to attempting to update the browser's contents WHILE already in the middle of drawing it
- the Server is able to create singers and update their playlists in a much more optimized way (fewer slowdowns)
- fixed crash when importing a selection of several folders (not just one folder)
- fixed a crash related to deleting a selction while sorting it
- fixed a memory leak when sorting a playlist. this could cause you to run out of RAM. eeeew.
- Feature: When you use "used for server search" on a playlist, that playlist is drawn in italic and is sorted ABOVE the Venue (Singers) folder
- fixed: "Load Singer from Other Venue" will work even on an empty venue (no more error about missing singers folder)
- during the integrity check on startup, we now double check SingerIDs (and ensure we don't overlap them) and Playlist IDs
- due to huge memory leaks with the server, whenever we have accumulated more than 100 "sessions" that seem to have been abandoned, we go thru and purge all the sessions that do not currently have clients
- added lots more detailed logging to the server, still catching bugs!
- progress dialogs now ensure they are onscreen (so they don't show up on some monitor that is no longer plugged in)
- wee bit of optimization converting "osType" to String, another when deleting from library
- possibly fixed stall (beachball) issue when saving large playlists
- command-keys for video window size will work when one video window is full screen and you have the other one showing, will operate on other one
- if you pick "L-T - R - S" (notice the SPACES around the dashes) then that will work even on songs INSIDE the "kJams Music" folder (it hadn't previously)
- Fix crash: during shutdown: network streams are aborted
- Fix crash: during shutdown: no longer fetching bit rate
- Fix crash: if you choose GraceNote then Cancel
- Fix crash: if a playlist gets dirtied AFTER shutdown, sorry, but you lost that change
- if you drag and drop a CD icon from the finder / explorer into kJams, it will now do the "Rip" procedure, rather than the "add to library" procedure
1.0.1b77 April 6, 2014, the "Patronus" version
- v76 had all these fixes except the last, so i'm not bothering putting that one up
- fixed crash if you quit before a music store has a chance to ask if it needs an update
- fixed crash related to double clicking an item in a Rotation playlist
- fixed crash in web server
- fixed crash with "add to library" (Windows only)
- fixed the web server to actually work again (it was serving up all playlists instead of the singer's playlists, and didn't let singers add songs)
1.0.1b75 March 27, 2015, the "Logical Fallacies" version
- Can now address 4GB (up from 2GB)
- fixed a crash when attempting to export a QT movie (crash when you select a folder to export to)
- fixed ability to select a folder in the first place.
- if you select a file when it was asking for a folder, the Open dialog would stop working properly, fixed.
- fixed an assert if you mark a song "sung" while in the "Rotation" playlist
- checking for NULL in the server in a place that MAY have been crashing. we'll see
1.0.1b74 March 21, 2015
- fixed a crash any time the database saves(!)
- you can now set a secret pref to organize your "kJams Music" folder by Album, instead of by Artist then Album
1.0.1b73 March 20, 2015, the "Harry Potter and the Methods of Rationality" version
- fixed long standing bug! when you go to burn a disc, the assembly would halt part way through, no error, no message, no reason why. you'd have to repeatedly press burn to get it to finish. FIXED!!!! HAHAAA! Thank you to "Rob D." for your patience and diligence in helping me find this vexing bug!!
- "spooler" threads are now prioritized a little lower than the main thread, to give more CPU time to the user interface
- no longer logging that it could not find the trash folder
- some files that could not be found will now be found (eg: when burning a playlist that has a SPACE as the last character in the name)
- now supports zipped KMA files
- no longer sometimes hangs when attempting to push AND pull meta on a file at the same time
- now logging just before push or pull MP3 tags, so if it crashes we know what file was the culprit
- the "pipe" character ("|") is now a valid delimiter for "reinterpret names", so you can fix names like "0001|U2|All Because of You"
- fixed a crasher when reading malformed MP3 ID3 tags
- no longer including extra erroneous "auto crossfader" script (mac only)
- you can now cause a "Hang" (for debugging purposes) doing the normal thing to cause a "crash" (which is holding "cmd (ctrl), opt (alt), and shift" while picking anything from the "Help" menu), but then in the "You are about to crash" dialog, hold down "opt (alt)" while clicking "crash". kJams will go into "not responding" mode
- if you cancel a disc burn during the "assembling disc image" activity phase, kJams no longer leaves a song file open (the one it was currently copying into the disc image)
- when burning a disc, it's year (in the playlist meta data) is now set to the current year, instead of 2007
1.0.1b72 March 13, 2015, the "TR3N" version
- when you Deactivate kJams, it will now deactivate your plugins
- after you deactivate, if you had KaraokeCloud, you no longer get a warning that KC does not work in tryout mode when you quit
- fixed crash if you do a keyboard shortcut when a dialog is up
- fixed crasher updating some music stores (JSON interpreter error)
- Pro/2: you can now edit any Singer related meta data in the Venue or Rotation playlists
- if you "Sync Previous Purchases" on "Karaoke Locker", you don't crash, you're just told that you can't.
- the "Saving Database…" activity is now localized
- when a singer creates a new "Singer" login, white spaces are trimmed, so you can't create a singer with a leading or trailing space (fixes a crasher too!)
- possibly fixed yet another server crash (a seemingly endless supply of bugs) related to the timeout causing the session to disappear out from under kJams
- added more detailed logging to "Add to Library" to catch a bug. Update: Fixed, see next entry
- fixed: Windows: if you had "hide file extensions of known types" and you go to add to library, select a file(s), and click "open", it would ignore you
- fixed a crash when pulling meta data (!)
- fixed another crash on quit
- FEATURE: added a "Custom Number" meta data per song. now you have a numeric field you can edit, and use "numeric search" on (which is very fast)
- the KaraokeCloud store would sometimes ASSERT about "IsPreemptiveThread()" when logging in, fixed
- fixed a severe stall in the user interface during server requests for songs (gathering "switchable songs" data)
- fixed error message when you try to use "Switchable Albums" to switch to a song that already exists in a Singer's Playlist
- kJams server can now write JSON instead of PLIST if you know what you're doing
- the "You're about to crash" dialog now goes into the serialize queue, so it won't overlap another serialized dialog
- FIXED: another server bug (deref bad pointer check)
- PowerPC: fixed kJams Lite and Pro so it will run again for you. why didn't any of you tell me that it broke?
- Mac: The "Version" number in the "Get Info" window now just shows the number, no longer showing the name of the app as PART of the version number
1.0.1b71 Feb 12, 2015 The "Voyager" version
- Every time you start kJams, you'd get a "the server resources have changed". why did nobody tell me this? anyway, one last time, and it's fixed forever.
- on startup, if kJams needs to log into a music store, it used to just hang there forever. Now, the "indeterminate" progress bar will cycle during login, showing you that something is actually happening, so you're not like "is it stuck?", bonus: it no longer hangs forever!
- after reloading a music store, the "Stores" folder will remain open if it was before
- modifier keys could sometimes seem to be stuck down when they should not be, fixed!! (old bug!)
- startup is a wee bit faster since i'm not creating tasks for the activity window for each playlist i read in
- FIXED a crasher related to networking on 10.7!
- fixed, then broke, then re-fixed ability to load older Singer playlists and previously gotten CD meta data
- fixed a bug found when stopping a song playing off a CD
- if KayJayPro is not available when you pick it, it will tell you how to turn it on, rather than silently ignoring you
- when you stop a song, kJams no longer auto selects the next song in the playlist, unless you're more than 60% through the song and you've got the pref turned on "Stopping a song marks it sung"
1.0.1b70 Feb 4, 2015, the "Brave" version
- the new pref "Stopping a song marks it as sung" now ALSO works when you just double click a new song to interrupt a currently playing song
- fixed a crash on startup
1.0.1b68 Feb 3, 2015
- removed "command-M" to minimize window, since that shortcut was used elsewhere
- "App Nap" is permanently disabled, regardless of what the checkbox says in the Finder's "Get Info" window
- file dialogs will now open to the proper location, instead of always opening to the kJams folder
- you can now select multiple items in the file dialog
- in prefs->importing, the "QuickTime" encoder now has new / updated presets
- better logging of Sessions
- fewer leaks of Sessions (there are still some)
- temp files (playlists) served will now never be deleted out from under the server by the cache cleaner
- certain errors related to networking will now be reported more specifically, rather than just getting an unuseful "network error" message
- fixed the ability for kJams to read CDs that have data tracks (this had never worked!)
- FEATURE: in the Venue menu, you can now "add singer from other venue".
- if the same song is in a playlist twice, one right after the other, it will still work!
- when adding a song file to the library, it will no longer show the file name extension as part of the song name
- i have had SO MANY people buy kJams and the Burning plugin only to discover their drive is not even compatible. I'm now actively preventing this from happening by forcing prospective buyers to do a burn test before buying.
- BUG fixed: if you changing the pitch of a song, and that song HAPPENS to be the one that's playing, then the playing song's pitch will NOT change unless you changed it for that particular singer
- on startup, if you hold SHIFT, then the music stores will NOT be logged into, nor added to your Library playlist (which only happens if you have "Show Store songs in main Library" turned on in Store prefs)
- Switchable Songs and Albums should now be thread safe
- more logging during startup to find a stall bug
- attempting video flash / stutter / stall bug fix: drawing the graphics window is no longer allowed to be recursive
- if the CDDA "lead in" is NOT 2 seconds (as the spec SAYS it should be), you'll get one warning per bad disc per launch, not a dozen.
- when logging "dates don't match" for when a music store needs to be updated, you'll only get that log line when the dates ACTUALLY don't match
- kjams will now make a playlist called "* Corrupted ID3 Tags" for files that have bad tags.
- added a bit of crash protection if reordering a song goes south
- "Stopping" a song (as opposed to pressing the "next" button) when it is more than 60% done will now mark the song as "Sung"
- logged time intervals will now work with unicode characters, rather than converting them to garbage
1.0.1b67 Jan 7, 2015
- fixed yet another progress bar problem (activities not finishing)
1.0.1b66 Jan 7, 2015, the "iPhone 6+" version
- Windows: fixed ability to purchase Burning plugin (!)
- fixed an error loading XML files. would leak resources, fail to gracefully exit, causing problems later on
- fixed bug where "Ring buffer" tasks would sometimes never complete, leading to the CPU running hot, and also failing to quit (aborting background activities)
- Fixed TriceraSoft initial creation of "streaming time" menu (was missing "full" and "upgrade" options)
- if you go to burn a song, and a file is missing, kJams now tells you this, rather than complaining that it's in the wrong format
- Sort column that used to be called "Pitch" is now called "Key Adjust" (because "Key Changes" and "Key" were taken)
- when deactivating kJams, it won't copy the file to the desktop if the deactivation is not successful
- the Server bug may still be lurking, perhaps i fixed it. better logging anyway.
1.0.1b65 Dec 23, 2014
- Lite: fixed ability to use Preferences without the window closing
- fixed keyboard shortcuts for changing Key (pitch)
- more Server logging, so i can catch a bug. grrr.
1.0.1b64 Dec 19, 2014: the "Hidden Treasure" version
- yikes my previous "fix" for the audio ring buffer actually caused a greater problem: all the progress bars never went away! fixed.
- mac: better memory management (less crashes) around handling apple events
1.0.1b63 Dec 18, 2014: the "Spyro's Adventure!" version
- fixed lots of missing "virtual destructors", which could have caused random headaches
- Mac: AppleEvents (including AppleScripts) will now continue to be processed (but slower) even when the mouse is down in a control (eg: browsing the menu bar)
- fixed a long standing bug (since the start!) where: when the audio ring buffer's "leading edge" got to the end, the Task in the Activity window would "complete", and it would disappear, leaving you with no way to press the stop sign, even tho the song may still be playing. The bug had the unfortunate side effect that if you, at that very moment, go to scrub the playhead, you'd now get silence, since the input buffer had already been closed. This problem becomes MUCH more noticeable now with the advent of the "Half Ring buffer size (in megabytes)" secret pref, if you set that to very large (like 8 MB), half the song may be still left, but you can't scrub it (or it will go silent), and you can't click the stop sign to stop it. all this is now fixed
- fixed an error displaying "star ratings" from very old database files
- FIXED SERVER CRASHER!: when wtkJams would request the Rotation playlist just at the moment it was being re-built, it would crash. Thought i had fixed that last may, but i hadn't.
- FIXED MAJOR SERVER PROBLEM!: "sessions" were NOT being reset sometimes when new users logged in. that means a new singer may have been in the session of another singer! this would cause crashes, and problems with singers accidentally modifying the session of a different singer! holy cats!
- FEATURE: kJams Pro and 2: Setting the "Rotation ShowScreen": In preferences->Advanced, you can now just pick from a menu instead of having to magically "know" what to type there! sorry that took so long!
- i've changed the terminology of "Pitch" to be "Key", since that's the more correct term (controls menu)
1.0.1b62 Dec 5, 2014
- PowerPC: be sure to update to this version or later. This version will keep you on the PowerPC build updates.
- when you have "pause between tracks" and "warn on interrupt" turned on, and near the end of a song you pressed "right-arrow, return, space" in rapid succession, there were these bugs (fixed)
- with "skip silence" on, the "Who's up next" rotation screen would stay up, and not go away
- without it on, you'd loop forever on the first 2 seconds of the song
- SingStar (UltraStar) files now support "freestyle" lyrics
- flickering on Yosemite when playing MediaStream files is reduced a bit
- KaraokeCloud: you can now go monthly on the $99 option
- a singer's "here" status is not set to "here" unless you touch the "Tonight" list. Touching "History" or "Favorites" no longer marks a singer as "here"
- possibly fixed another crashing bug in the Server.
- Better error message if you're offline or a server can't be found
- you can now use a Secret Prefs to set the size of the Ring buffer: "Half Ring buffer size (in megabytes)"
- in Pro Tryout, if you try to add more than 3 singers, you get a nicer explanation, doesn't crash, and it doesn't leave cruft behind causing asserts the next time you start kJams
- the "Checking Version" activity on startup now tells you what it's checking
1.0.1b61 Nov 13, 2014
- Yosemite: fixed the dark squares behind some controls in the Browser window
- app is now correctly digitally signed (it had been signed with an expired certificate temporarily)
- Producer is no longer a separately installed plugin, it is now built in (but still sold separately as an in-app purchase)
- Burner and Producer strings are now localized
- fixed several more ASSERTs (illegal CSI task, missing switch case, illegal value type, illegal control type)
1.0.1b58 Nov 11, 2014
- you will now only be warned once per launch about "Tethering does not work in Tryout mode", instead of like 20 times
- my build system: now builds using MacOS 10.9 VM, so i can switch my actual computer to Yosemite
- If you use Gracenote, kJams now asks for a small donation, since it now costs me money every time someone uses it
- upgraded to latest XCode compiler
- fixed some new compile warnings relating to operator precedence when adjusting volume or cancelling center channel vocals
1.0.1b57 Oct 16, 2014
- on first run, kJams won't ask for your password regarding updating the Auth tools, since they're already up to date
- "Add to Library" on songs who's file name contains a slash "/" works again
- made the default column width maximum twice as big (1000 pixels)
- for Custom pictures per venue: now works with "custom_picture.png" as well as for rotation background
- made some changes in log thread number reporting to be a bit more optimized, blind fix trying to avoid a crash
- the checkbox in the warning dialog for KayJayPro ("In order to use the KayJayPro meta data service...") now works even if you see it just after you start kJams
- CD Capabilities now reliably log on both mac and windows
1.0.1b56 Sept 11, 2014
- speed up the new networking stuff (was slowing other operations down)
- fixed the "compareResult" asserts
- fixed a bug where, when updating music stores, could cause the Sources window pane to stop drawing (draw as white)
- on first run, kJams won't tell you that the keyboard shortcuts have changed.
- my build system: no longer depends on running kJams first to get the import / export codecs
- some dialogs had slashes prepended to button names, fixed
- the "ripping done" sound is no longer insanely loud
- the "Library" playlist is now obviously selected when you start kJams
1.0.1b55 Sept 5, 2014
- Windows: really REALLY fixed the app to work and auto-update
- the Python auto-installer works again
- the "Reset Warnings" button now also resets the RAM warning time
- more logging the web server
1.0.1b53 Sept 2, 2014
- Windows: WARNING This version won't even run on Windows
- fixed the auto-updater
- dialogs now have all their titles localized
- Mac will now have a DMG installer
- "Pitch" settings are now also stored with the song file, so if you rebuild your library, you get to keep the pitch changes that were set on songs in your library
- "help->web form feedback" will now go to the new page
- the new default is to allow single digit track numbers when reinterpreting song names
- the "Get Info" and "reinterpret" dialogs now have correct name in the title bar on both mac and windows
1.0.1b52 Aug 25, 2014
- Server: when searching by "any", you can will also search "genre"
- Karaoke Cloud Music Store: if you bought a "Starter" streaming tier, which has not yet expired, and you go to stream a song from the "Full" streaming tier, you will be informed of this and given the choice to upgrade, instead of being confused by a non-helpful "you have to set up streaming" message.
- fixed "sync previous purchases" and renaming files when editing meta data. was causing errors and asserts and duplicate songs.
1.0.1b51 August 13, 2014
- the Menu commands "About kJams…", "Preferences…", and "Exit kJams" are now in their own "Application" menu called, aproprietly, "kJams". This makes it consistent between mac and windows, so i can tell everyone <<go to the "kJams" menu and pick "Preferences">>. (used to be on windows the Preferences were in a completely different location, now it's consistent)
- fixed crasher using "Next Song" command when no song was currently playing
- fixed (assert) failure when parsing a JSON file (happens with KayJayPro), when there is an entry with more than one comma in it
- Producer: when you "save over" a showscreen (template), it automatically assigns "Command-4" to the showscreen. That way you can tweak it, then show it with they key shortcut to see it instantly.
1.0.1b50 Aug 7, 2014
- fixed the eSellerate engine problem on MacOS 10.5 (Leopard).
However, this breaks compatibility with MacOS 10.10 (Yosemite)Update: No, it doesn't.
- if a file is locked, and kJams needs to write to the file, kJams will unlock it
- fixed the eSellerate engine problem on MacOS 10.5 (Leopard).
- Pro & 2
- kJams will now shut down the server before switching venues (turning it back on afterward). This fixes the problem of it crashing if there's a web client actively using a connection
- Windows: in the Server prefs, the timeout checkbox and edit text now actually work!
- the server web page will now grow with your window size, and has a big kJams logo in the background
- if you edit the meta data of a song, and kJams tried to rename it on disc and it ran into a collision (a song file with the same name), kJams will now automatically uniquify the name and continue, rather than failing
- label colors are now saved per singer: each singer can label the same song a different color
- when you paste a column layout (in the Source pane), kJams marks the playlist as dirty so it gets saved
- if you pause the playlist, then hit right arrow, it will load the next song but stay paused
- the targeted playlist will now sort above the Venue playlist
1.0.1b49 July 31, 2014
- updates to CFTest project, so i can get the CFNetwork project going:
- fixed crash in CFBonjour: i had previously deleted the manager before all threads were terminated
- updated logging to be more clear
- updated tests for to emit "PASS" or "FAIL"
- ASSERT no longer crashes if there is no "gApp"
- fixed a few errors in the Server Resources:
- no longer attempting to load a "handheld" stylesheet (which never existed)
- no longer attempting to load "kjams.jpg", which also never existed
- Windows: was not including the "screen.css" file, which was necessary for proper layout of the main singer screen!
- updating the server resources is now a one-button click, rather than making you do it yourself
- Mac: works on Yosemite
- TriceraSoft: there were several songs listed as "multiplex" in the name, but not marked as such
- tryout version was supposed to limit you to 10 QT exports, but it was set to 5 instead. fixed
- we now fetch the "AirFoil" global slip time at startup, instead of the first time you click a menu. in case it takes a second extra.
- if you have a song who's MP3 ID3 tags are corrupt, you will now be promted to re-encode the song, rather than it failing silently
- you are now free to edit your "History" (as if it's just another "Favorites" list)
- you can now mark any song in the (KJ) Rotation as "Sung" (even a group)
- if kjams can't even find it's own bundle resources on startup, instead of crashing, it logs the failure and exits gracefully
- fix crasher related to selecting a source item for rename, but the rename is only partially executed before exiting
1.0.1b48 June 19, 2014
- Fixed problem of alt-key seemingly stuck down when picking a menu item
- fixed assert about sorting, after you update a music store
- if you name a singer, playlist, or venue some "windows reserved word" it will now be okay. eg: "con", "nul", "prn", "aux", etc
- started work on 's new "Full" set of streaming songs. There will be 60,000 songs available for streaming!! OMG! (of course, it will cost more)
- if you try to buy a song that you *could* stream, you get asked if you want to get some streaming time
- if you cancel out of the "get streaming time" dialog, you no longer get into an infinite loop
- correctly excludes the Multiplex songs when you turn off "Include songs with Lead or Guide Vocals"
- Mac: compatible with MacOS 10.10
- fixed rare error when doing any downloading of anything
- if you attempt to burn and it fails because you don't have a license, it will auto-open your prefs to the Burning Plugin panel
- when you drag and drop a set of songs into a playlist, they will now come into the playlist in the order they were from the original playlist (when you sort by #)
- fixed crasher in Server: when serving up the rotation at the moment that kJams is rebuilding it (eg: between songs)
- fixed error creating menus with disabled items
- fixed error when downloading (mostly on windows) where the wrong data size was calculated (could cause errors, failures, crashes)
- a bit more logging when updating the music stores
- fixed a potential crasher when failing to create new singer
1.0.1b47 Cinco de Mayo
- "--- summary add" logging works again, and is now turned off :)
- GraceNote works again
- when using any online DB that can return multiple hits, the "Disc Picker" dialog will tell you what DB you're currently querying
- wtkJams will no longer bring kJams to it's knees when multiple people are using it simultaneously
- fixed crash on windows when loading certain CD+G discs
- fixed video stutter when kJams must search extensively for a song file
- when rebuilding, kJams now uses the "add to library" code, so it's much more resilient, no longer requires the names to be in a certain format, no longer asks "are these two the same"
- when rebuilding, kjams no longer attempts to weed out duplicates (which takes a long time and doesn't work well anyway)
- no longer logging the MAC address unless you hold alt on launch
- when sorting by "Album" the secondary sort is by "Artist", tertiary by "Name"
- CPU Type and number of Cores is now logged correctly for older mac hardware
- when exporting "playlist: all files", kJams will now actually for reals export all the files, including xml and MediaStream (Project: KTP, LRC, TXT etc)
- when rebuilding, kJams will now sort by PLI, preventing crashing bugs that happen when you're sorted by name, artist, or album
- fixed Producer Prefs so they actually work.
- in Producer Prefs, if you turn on "Don't Encode CDG", then you can use a pref called "Producer: minimum fade duration (seconds)", default is 1/2 second, which dictates just how long a page takes to "fade in". You can set it to zero for "cut" transition with no fade time.
- Exporting "playlist: audio only" is going to be removed. it never worked anyway. nobody used it.
- The following meta-data were never saved to disc: "Custom", "Sort Name", "Sort Album", "Sort Artist". This has been fixed. Sorry for that.
- fixed AppleRemote for 10.9. i hope i didn't break it for 10.8
1.0.1b46 April 17, 2014
- Symbolic links are no longer necessary when you want to move a file / folder out from under kJams. You can now use plain old aliases
- You can now move a file / folder out from under kJams as long as you create a shortcut file in it's place
- fixed the QuickTime -600 error when ripping discs or re-encoding or exporting more than one song at a time. If you get the same error it will have a better explanation (timeout talking to QTServer)
- Log files for the QTServer are now date-stamped, each one going into it's own separate file
- said log files live with the kJams logs, not next to the app
- progress bar is back when removing lots of songs from the library
- when syncing music (previous purchases or KC tethering), the SyncBot will now continue to sync even if any of the songs is missing
- no, really, this time i really DID fix the sort column default widths
- start-of-string matching is now faster since it doesn't do extra allocations
- bonjour logging now says "Bonjour"
- when checking for modifier keys, we now check both the current state and the state from the event we're handling. (fixes ability to use macro programs or UI automation)
- you can now show a QR Code ShowScreen for the Server address, or for any messenger message
- the Server will redirect iPhone users to wtkJams instead of iJams
- if you had ripped a file to unzipped, then you re-rip it to zipped, you no longer lose the file (!)
- when using quicktime to encode with multi-pass, it should no longer occasionally fail due to the second pass collision with the first pass
- more logging around gathering Camera info
- in all xml files, anywhere we write a rectangle, we now write width and height in addition to right and bottom. when reading, if width and height exist, we use that, else use right and bottom
1.0.1b45 March 18, 2014
- you can now rename a playlist by selecting it and hitting [enter]
- renaming a playlist will reliably refresh the name after you finish it
- fixed assert-crash on startup with "s_prevChainH"
- KaraokeCloud will always log CC validation check
- Music store update checks will happen RELIABLY now, so you should never end up with no music store or an empty music store, if a store is turned on
- secret pref to allow XSS
- Column widths are correctly set again, but you can still make them wicked small if you want
- Server: no longer setting .css, .js, and .xml to have "Content-Type" as "text/html", now they are correctly set
1.0.1b44 March 14, 2014
- I had broken mounting of BIN/CUE files, fixed
- KaraokeCloud will now validate that your CC info got set correctly, and you'll be warned if it didn't work!
- Music stores will ALWAYS Show when turned on (after restart), even when empty. So that way you can reload it if you need to.
- Windows: i had broken disc burning, fixed. also, when validating the disc, i was supposed to skip over the last 8 sectors, now i'm actually doing that
- Mac: the minimum width of columns is now 15 pixels
1.0.1b43 March 6, 2014
- Fixed Crash: when you are scrolled a bit to the right, and you remove a column, it would crash
- Fixed bug: sometimes when you switch to a different playlist, select a song, then press the play button, it would play a song from the first playlist
- Fixed ASSERT "cd_sourceP"
- Fixed ASSERT "gApp->i_curScopeP == NULL"
- the "[stIx]" tag is now legal in your showscreens, but it's probably not very useful
1.0.1b42 March 5, 2014
- OMG: fixed a major resource leak! Windows would get progressively slower and eventually crash. fixed.
- fixed crash when rendering MediaStream files (KTP, LRC etc)
- When playing MediaStream files, if the font gets too small and turned to NOT anti-aliased, it used to be invisible when the playing on transparent background, or the sweep text did not sweep properly when not. both fixed.
- producer prefs (which you can get to via by holding the alt key and opening preferences) is now complete
- fixed a crash when progress dialogs come up (which is a lot)
- OMG2 i broke the saving of singer's meta data (pitch / tempo etc) fixed.
- ShowScreens: when encountering a name with square brackets and four chars in between them, and that resolves to an empty string, kJams no longer loses it's mind and shows the same singer for the rest of all rotations all night
- added some more server logging, i think there's another bug in there
- Syncing the KaraokeCloud no longer says it's TriceraSoft (!)
- Syncing is a bit faster
1.0.1b41 Feb 26, 2014
- Mac: discs work again
1.0.1b40 Feb 25, 2014
- disc reader now works much more reliably on poorly mastered discs that have a fake "last track" and the totally wrong track length of the real last track. kJams now gets it right where iTunes and WindowsMediaPlayer get it wrong(!)
- create more correct "fake" TOC (table of contents) for "disks" that are actually playlists or BIN disc images
- when quitting, during the "Waiting for cache purging to complete" phase, i now check to see if it's done every 1/16th second, instead of every 1/2 second, should feel more responsive
- the "Disc Picker" dialog (when you're getting meta data from an online database) now shows a normal popup menu, rather than a space-limited dropdown list
- KayJayPro password now actually works
- When you are playing back a transparent video at larger than 1:1 size (Which is probably always) there is now a bit of a shadow on things, for contrast. used to be purple, was gone for a minute, back now and it is black.
- CDG Playback is imperceptibly faster
- fixed some more possible hangs on shutdown
- avoids doing some unnecessary stuff on startup
- fixed possible crash on startup related to setting menu of non-existant item in browser window
- i had turned off TOC validation (which checks TOC entries against the track entries) turned back on now for both platforms
- KayJayPro will work better with those discs that have a "fake track" on the end. however, i think i have fixed kJams such that a "fake track" is never seen anyway (due to TOC validation)
- couple more logging of shutdown phases, during quit* no longer throwing exceptions as "flow control" in the "path modder" object (exceptions should be exceptional!)
- OMG this bug fix is just for me: in the debugger on Windows under Parallels desktop, no longer hang whenever i am paused and i use copy and paste! FOUR YEARS I LIVED WITH THIS!
- if you go to burn a song and there's a problem, the message dialog will show the song's name without funny characters
- fixed major instability (causing crashes) related to how i was handling updates to the viewer when the model changed
- I *might* have broken the sorting in the Sources list. Or i might have just made it such that it no longer throws an exception for no reason
- Mac Producer: if you "down arrow" to the end of the song, and you were paused before, it used to start playing. fixed.
1.0.1b39 Feb 19, 2014
- when doing "add to library", if a song has a dot in it, like "Mr. Bojangles", kJams would accidentally remove everything after the (last) dot, so the song name would be come "Mr". fixed.
- fixed crash, usually right at startup, that would happen in response to any two network activities happening at the same time
- fixed potential crash creating a task for the activity window, one which was created with no initial task name
- when exporting HD *and* with "High Quality Upscale" turned on, it would work but would halt the user interface. now some time is given to the UI
- sleeping thread que items are tickled every 1/8th second instead of every 1/4th, this should make them feel more responsive
- you can now set the pref "audio fade duration" to zero and have it stick on the next startup
1.0.1b38 Feb 17, 2014
- Windows: the auto-updater will work starting now. ie: it's probably broken for you right now, so download this (or later) version, and then when the NEXT update happens it will "just work"
1.0.1b37 Feb 17, 2014
- Windows: QT Export
- now allows transparency (QuickTime / Animation only)
- last frame is no longer white* When syncing KaraokeCloud (tethering), if it'a all synced already it no longer says "All songs were already downloaded"
- MediaStream files displaying small fonts no longer use "ClearType" (which ironically look muddy)
- got rid of purple halo around transparent video, but i need to put it back
- Exporting / Encoding task in the activity window no longer says "with QuickTime" cuz we know that already
- When syncing (Tether or purchases) no longer takes forever doing "preflight"
- when you do a search (that would produce no results) and while the search is going on, you switch to another playlist, the search used to loop infinitiely. fixed.
- fixed crashes when you attempt to open producer and there's a problem loading the song
- you are now informed of said problem, rather than it being swept under the rug
- when you do a drag-and-drop reorder in the browser window (regular playlist OR "KJ Rotation"), the reorder gets posted to the event que, rather than being handled *during* the drag and drop handler. this is less crashy.
- you can now set the *sample* export name template in the export prefs
1.0.1b36 Feb 16, 2014
- QuickTime Export
- significantly re-written
- a "snapshot" of all "export preferences" is taken at the moment the song is sent to the export queue. This means you are free to change your preferences during the export and the changes will not affect any exports already queued up
- now honors "High Quality CDG Video Upscale" when exporting to an HD preset (Including AppleTV)
- things like high quality, padding, HD, MediaStream, transparency etc. no longer cancel each other out. Previously, turning on some settings would cause others to turn off when it didn't make sense to do so. The ones that make sense remain: eg: if you exporting to other than Animation trumps transparency. exporting to HD trumps padding, exporting to NOT HD trumps high quality.
- errors reported during scripting come as notifications instead of dialogs
- when exporting thru scripting, you can specify a (single level of) subfolder that does not exist as the destination
- now writes an Alpha label on QuickTime files with Animation compresser, when it's transparent. That way, all 2 of you who use After Effects or Premiere no longer have to set the alpha when importing.
- if you crash or force quit while exporting quicktime, the background app will also quit (after 10 seconds)
- switching venues no longer leaves ghost playlists around
- playing MediaStream files was pretty hosed. it works better now, including transparency. more to come.
- if you set your video to transparent, it looks sharper when zoomed in since we no longer "smooth" the edges of the graphics
- while in the "open file or folder" dialog, if a sub-dialog came up (like "new folder" or a warning that you selected a file not a folder), then you would get an assert fail. fixed.
- Music Stores: General
- KaraokeCloud: you will get the "ready" signal after the login has completed, rather than BEFORE.
- the "Store Name" of purchased songs should be remembered now (not tested?)
- quitting right away after launch will no longer hang due to Tricera store being only partially birthed
- The TriceraSoft music store now includes song durations, so the feature of showing singers when they will sing now works (wtkJams rotation)
- there is a new menu item to reload the current venue, which you can use if you add an alias to a singer
- Music Stores: Re-syncing previously purchased songs
- "Sunc purchases" is now spelled correctly
- now shows dialog progress bar when necessary so you're not wondering why you can't click on stuff
- there is now a menu item for this in the right-click context menu for the store "Sync Previous Purchases…"
- Will now work if the *file* exists in your hard drive but the reference got deleted
- no longer takes forever sorting songs while the sync is happening (it's much faster)
- FIXED: duplicate entries and assert-fails
- FIXED: CDs that were "multiple session" discs would calculate the duration of the last track incorrectly in two different ways, causing errors when mounting or when ripping
- Tasks in the activity window: you'll see more, with better descriptions, and they won't accumulate and stay there forever, causing a hang on quit
- when scripting the volume, you no longer see a message in the video window about volume
- FIXED: crash on quit: when GraceNote had pending tasks
- fixed assert fail and/or crash when using freedb or the other two
- fixed crash in KayJayPro when it should just return an error
- fixed asserts and/or crashes when switching venues
- fixed a bug where at the very end of a Producer / MediaStream (eg: LRC) song, it would revert to low-rez or go blank
- the Rotation ShowScreen is NOT shown after you play a "Slide (ShowScreen Song)" even when the pref is on
- Saving playlists for reals this time is really on a background thread. I said it before but i was wrong. That way, the video window won't stutter when saving eg: the TriceraSoft playlist
- there was a major bug in kjams where it would lose track of procedure calls and simply drop them on the floor if more than one came in at once. this had the symptom of the computer getting slower and slower over time, eating more memory over time, inability to quit etc. fixed.
- fixed crash when clicking in menu bar and no playlist is selected
1.0.1b35 January 19, 2014
- if you didn't enter user name and password, it now sends you to the kjp web site (it should send you to prefs! will fix next time)
- if your un/pw is *wrong* it sends you to prefs
- prefs: manage button now goes to the right plac
- FIXED CRASH on startup on (Windows)
- Tethering KaraokeCloud Pro data now detects bad file (Show and sort by "comment")
- fixed some indecipherable task names
- if on first run you have the "enter your email" dialog up, and you quit, you get into an infinite loop. fixed.
1.0.1b34 January 18, 2014
- fixed crash on startup if you had music stores turned off
- These items now have Activity Window Tasks:
- check for updates
- lots of music store things
- almost all networking things
- the KaraokeCloud store inadvertently used the TriceraSoft preferences for when it needed to sync, causing one or the other to not work when you expected it to
- Sync que now names the music store it's operating on
- when syncing previous purchases, you get a Task, and will tell you if it already was done
1.0.1b33 January 17, 2014
- fixes KayJayPro so you can search on a track title and have it work
- when you listen to a sample in the TriceraSoft library, it now optionally warns you that you're going to an external web site
- at first startup, kJams will no longer attempt to load the same music stores twice
- the first time you try to buy or stream a song from KaraokeCloud, instead of just asking for your CC number (which doesn't sign you up), it will now walk you thru the whole signup process
- the "Main" thread is now named
- the "date of last check" now has SEPARATE prefs for "app (on startup)", "music stores" and "running (app while running, if you leave it on for days at a time)"
- kJams now has the ability to run without eSellerate for those pesky computers on which eSellerate just up and crashes. technically this means i could support MacOS 10.3 again, but that ain't gonna happen.
- if you need Flip4Mac, the warning dialog will now have an "Explain…" button instead of a "Get It…" button, which makes more sense anyway
- if you have an OLD version of Flip4Mac, you're sent to the above link instead of the confusing link at telestream.net
- that one song in the TriceraSoft music store that has a hashtag in it's name? you can now actually play the audio preview.
1.0.1b32 January 12, 2014
- When you get metadata from a database, the disc name will refresh automatically
- burning a CD again allows you to burn audio only files
- PowerPC Mac users: the time has come to upgrade. sorry, blame apple.
- if you mount disc images on startup, it no longer aborts all mounting if one fails
- switching venues no longer crashes
- the new KayJayPro is now built into kJams, however there is currently no way to subscribe. the ball is in their court.
- Updated KayJayPro to point to final domain
- you can now horizontally shrink the "Store Name" sort column so only the icon is showing
- Getting meta data from freedb and friends is less likely to crash (there is one known outstanding crash. the moment i get a valid crash report on this, i'll fix it!)
- When you "Enter Serial Number", if you don't enter the whole thing, kJams will now say "hey! you didn't enter the whole thing" rather than tell you [You're entering a serial number for "", when you're trying to activate "kJams"], which was not helpful.
- FIXED SERVER CRASHER! If a client was operating (eg: doing a search) at the moment you turn off the server, you could crash (eg: when switching venues or quitting)
- when you "trash original files" on a song, kJams now correctly deletes it's cached files
- you can, if you know how, create "ShowScreen Songs" by hand, tho they don't all work (eg: rotation)
- when you turn on/off Dither, the current blob CDG is recalculated
1.0.1b31 Jan 3, 2014
- changing meta data works now even when the only change is adding or removing diacritical marks
- fixed lots of bugs with GraceNote database (eg: it now actually works more than once)
1.0.1b30 Jan 2, 2014
- Intel-Only FEATURE: OMG GraceNote! Less Typing!! (Sorry, PowerPC users)
- more work on the new "KayJayPro" (like GraceNote except JUST for Karaoke CD+G discs)
- copy-paste of playlist sort-column data is fixed (When the Source list is focused)
- "reveal in finder / explorer" again works on the Rotation playlists
- support for CAVS meta data where the text file is the name of the folder
1.0.1b29 December 29, 2013
- well crap i broke the CD disc stuff (table of contents calculation), okay fixed.
1.0.1b28 December 29, 2013
- When attempting to burn a disc, you will now get an actual error message if:
- a song is missing
- a song is from a music store
- a song is not an Audio+G file
- if you're not logged in, kJams won't ask for your password anyway
- sometimes takes some time to log in. You will now be notified when login is successful, you'll see "KC Ready!" in the LCD panel (top of browser)
- If you attempt to use the Tethering tier on kJams Tryout, you will be notified of WHY that won't work (in addition to being sent to the web site)
- if you attempt to play a WMV or AVI file on windows, you're notified that it's not supported
- burn disc dialog is ready for localization. spanish has temp strings already!
- Add to Library
- Your choices now are "Reference" and "Copy". "Move" is no longer an option
- If you pick "Copy", kjams will now ALWAYS copy the file, even if it is on the same volume. it will NOT move it.
- it now will copy ALL components (it was previously sometimes MISSING some song components, so you'd wonder why your song doesn't play!)
- When unpacking WMA or KMA files, the progress bars work again
- now setting thread name on cooperative threads
- even if you have a bunch of nested dialogs showing, if you request to quit, all dialogs will be canceled and kjams will quit. (eg: right click the dock icon and quit, or restart, or shut down)
- you can now set the text pref: "Percent complete after which song is considered sung (0 to 100)"
- when reading the Table of Contents (TOC) for an AudioCD, if there are any song durations that are Zero, you are notified, rather than having confusing behavior later
- if there is ANY error mounting a CD, you now GET the error rather than it being ignored
- FIXED: Hiccups and stutters in songs, when saving Large playlists (eg: TriceraSoft). Saving was SUPPOSED to be on a back thread but was accidentally on the front thread.
- email addresses are now allowed to have only 2 chars in the domain name
- you can now copy/paste to/from excel on the mac (maybe on windows too? try it?)
- no longer crash when you stop playing a song who's video is already stopped
- enabled exact searches
- fixed a bug where a song would get stuck in a loop playing the last 1 second
- did some work getting the new "Kay Jay Pro" working
- blind-fix attempt when a mutex deletes but is still in use (hope to fix a crash)
- restored the Romanian translation which had been messed up
- my CNetHTTP class can now send "application/x-www-form-urlencoded" data (not that you care, much)
1.0.1b27 Nov 7, 2013
- when you delete a singer from a venue that happens to be an alias (shortcut) to that singer from another venue, the alias is deleted, not the original singer
- Fixed bug of the Karaoke Cloud dialog getting stuck on "Please wait a few moments and this screen will refresh", and then it would never refresh
- if you crazily set your KaraokeCloud preference: "Maximum Simultaneous Downloads" to less than 1, you crazy person, i will ignore you and set it to 1
- when you sort a playlist in DESCENDING (reverse) order, then go to another playlist that happens to be sorted by that same column but in ASCENDING order, then back to the first, it now remembers to go back to DESCENDING
- you can now choose to fade your audio in a linear way, rather than by the default (logarithmic) way, with the text pref "Use Linear audio fade (vs: log)" set to TRUE
- you can now specify the duration of the initial delay of the built-in messenger messages, with text pref "Messenger initial delay (seconds)". You could already set the duration of custom messages with the pref "Long messenger duration" (i know, dumb name)
1.0.1b26 Oct 26, 2013
- KaraokeCloud songs labeled as being from "M" are now properly labeled as being from "Music Maestro"
- if you hold down the option/alt key when "pushing meta data", any zip files will have their content's file names be encoded in UTF8 instead of WindowsLatin1
- fixed rare crashing bug: when last person in rotation's song starts, kJams will pre-cache the next song, which belongs to the first person. If that next song (of the first person) was an un-purchased music-store song (not a streaming song), then kJams would crash. fixed.
- fixed the bug of if you start a song and there's an error starting it that is then fixed (eg: could not find it and you hit cancel, or it asked you to purchase and you hit cancel), the next time you go to start the song it would never start at all. fixed.
- completed feature: finally added text pref "Messenger Rotation size" controls how many singers / songs are listed in the Messenger
- Mavericks: Singer "face" icons would draw insanely slow and cause general slowdown. fixed.
- accidentally left a "separator" in the Help menu, fixed
- Producer: turning on / off "Don't encode CDG" takes effect immediately, even if Producer is currently open
- Producer: will warn you if you have "Don't encode CDG" turned on and you try to do some CDG editing
- tweaked a draw browser text edit routine in the hopes of catching a crasher
1.0.1b25 Oct 22, 2013
- Completed Feature: In Music Store preferences, in the <<Include Store songs in “Library”:>> popup, you can now choose to have "Only Subscribed Songs"
- Completed Feature: the "Duet" checkbox and "Duet Comment" text can now be edited in the Rotation playlists. The data lives with the singer only with respect to that song (ie: a different singer with the same song will not get that data)
- Fixed crash in Help and Advanced menus
- Fixed Bug: in KaraokeCloud, your credit card type was always set incorrectly! Sorry about that! To fix: go to prefs->stores->edit CC settings, then click OK. The data will be re-sent to KC.
- Fixed Mac Problem: My code-signing was busted and i didn't know it. fixed.
- Added ability to use new Rotation ShowScreen: "Rotation (only singer names)" in prefs->advanced
- When "deactivating" your serial number, there is now a (indeterminate) progress dialog
- with Transparent Video, there used to be a thin, one-pixel line around the 4:3 aspect ratio zone, this has been fixed
- in the DataBrowser, non-existant data that has a default value will now draw with that default value, rather than with "-" (eg: tempo, when not set, now always shows as "1.0")
1.0.1b24 Oct 15, 2013
- when using a TriceraSoft Gift Pack:
- if your name / email is missing, you get a warning, and the warning tells you it's about the gift pack, so you don't think it's about a credit card
- the gift pack credits are updated so you can see how many you have in the prefs dialog
- it won't let you try if you have 0 credits
- if you have auto-updates set to something that is NOT "always", and your music stores have somehow disappeared, it's still going to check for them so you are not wondering where are your music stores
- you are now allowed to create a singer with no password
- Launch files work again (Whupps!)
- LRC files now support the "unicode" tag, and will ignore "utf8" if it's known to be "utf16"
- no longer get an alert about "Retain Count: 2" on Mavericks
- brought back the "Ignore CDG Ripping Errors" pref. now, you don't get black video for everything, just for sectors that can't be read
- fixed ability to play KMA files that are internally zipped
- if you play a song in a playlist that is very very big and sorted by "Name", there used to be a short delay (maybe a few seconds). fixed.
1.0.1b23 Oct 3, 2013
- turned off logging for "Getting meta dictionary", i think we fixed that
- Pro: when no song is playing (and i don't mean loaded but paused) the default playlist for the ShowScreen Rotation will be, the "Rotation" playlist, and not the most-recently-played playlist. It was too confusing for folks otherwise.
- Launch Files
- will now only launch after the song is loaded for playing. It will NOT launch if the song is just being cached, or if the song for some reason has an error when trying to load.
- now has a secret pref "Open launch file only when un-paused", defaulting to "true", so if you have "pause between tracks" turned on, it will only run the launch file when you un-pause the song. that way it won't open if you never un-pause the next song.
- fixed Karaoke Cloud assert warning when you're in tryout and not logged in
- fixed CRASH if kJams says "can't find this song do you want to find it?" and you hit Cancel
- LRC files now support unicode ("utf-8")
- the "repeat" button appeared to be disabled when showing a Rotation playlist, however behind the scenes it WAS still doing it's thing. Fixed such that Rotation playlists act as if it is always disabled, as it should.
- when reading in the database, all singers marked with "sort me to the top" are un-marked. This should fix any weird sorting problems in the Sources list for Singers
- kJams Lite no longer includes Pro resources for the Server
- Lite and Pro no longer include 2 resources for Python
1.0.1b22 Sept 10, 2013
- Windows: fixed rare crash on shutdown
- minimum cache size is now 5
- tweaked some logging to have correct "carriage returns"
- changed the way kjams creates temp folders *again* such that they no longer have a minus sign on them
- fixed another potential crash on when you clear a large cache and immediately close the prefs window
1.0.1b21 Sept 7, 2013
- older Mac OSs (including 10.6) were reporting the wrong number of cores. this would then incorrectly set the max number of QT exports and auto-re-encode tasks to infinity, leading to serious bogging down, asserts about file not found, and crashes
- pro version: custom set keyboard shortcuts work properly for Venu, Video, and Python sub-menus
1.0.1b20 Sept 2, 2013
- Growl notifications are now unicode and have a nice, large kJams icon
- threads are named now even in release builds, cuz why not? then i can see thread names in the crash reports, duh
- when you select a NEO+G or a SuperCDG, then go to the file menu, it no longer enables "Rip to BIN/CUE", cuz first of all that's not even possible, second, if you picked that, it would crash.
- revealing the "logs" will now reveal the current log file directly, rather than just the containing folder
- fixed eSellerate AGAIN grrrrr
1.0.1b19 Aug 29, 2013
- took a real stab at fixing that crasher
- removed the logging that i used to find the crash, should be back to normal speed now. let me know if the video window stutters when switching playlists
- kJams 2.0
- when upgrading to or updating kJams 2, you now get the correct binary (was getting Pro!)
- activation resetting is finally working again. you should be able to activate on another computer
- accidentally enabled "manual activation", which will be gone in the next update
- when quitting, back to normal speed (no longer attempting to remove every song from the song que)
- if you have a network error during update, you now get told, rather than something about "couldn't find plugin"
1.0.1b17 Aug 28, 2013
- fixed crash on startup
- added lots more logging to help find the other crash that i was TRYING to fix
1.0.1b16 Aug 28, 2013
- got rid of the locale logging on startup
- temp folders created using the current time (bunch of numbers) *should* no longer collide, as i'm putting the least significant bits at the front instead of the back
- added some code jiggle around that bug that's crashing windows very consistently, i'm coming for YOU!
- "Browser Selected Source" messages will now show the one you clicked on, not the one you're clicking AWAY from
- if you get a "bad recursion" you now crash, instead of trying to keep going, so i can fix the bug
- ReportFolderErr() shows the path more correctly
- no longer logging "Local Meta Retain" etc
- fixed a crash in CFreeDB::ParseResult() when there was no result
- fixed a crash when asking to see if a playlist can repeat, but there is no playlist
1.0.1b15 Aug 27, 2013
- kJams 2 is ready for you! YEAH!
- fixed crash when you go to play a song, it's not there, you delete the song, then go to play another song
- in Switchable Songs menu, song that has open parenthesis ("(") as first character in name will no longer be disabled
- fixed ability to upgrade
1.0.1b13 Aug 22, 2013
- Lite: hides the "new singer" and "artwork" buttons, that never should have been showing
- fixed crasher related to updating meta
- OMG fixed ability to purchase Pro (!!)
- TriceraSoft: when re-syncing, if there's a problem you can see the error message
- new general pref "reset warnings", turns back on all the "don't warn me again" things
- when you Target a playlist for the first time, you get a message explaining what targeting is
- creating a new singer no longer auto-turns on "Target Mode"
- fixed crash if you use key shortcuts for cut/copy/paste while in a modal dialog that should not allow it
1.0.1b12 Aug 18, 2013
- if you ask for playlists when a singer is not logged in, you get the list of Sources
- if you ask for SONGS and supply the "Server Search" playlist id, you'll get all the songs. yep, all of them
- allows client to log a singer in by name now (no longer must be by ID)
- when the server creates a singer, kjams does NOT scroll to reveal it
- Karaoke Cloud login dialog no longer says "TriceraSoft Gift Pack"
- lite: if you somehow click "new singer" you no longer get an assert
- Producer (Mac only)
- Fixed ability to run Producer
- in the Tryout version, dragging a blob no longer removes the red X's
- wow, the version always limited you to 2 songs per playlist, i MEANT to have it be three. wow.
- used to be you could get a "the tryout limits you to 3 songs per playlist, do you want to enter a sn?" dialog, then you would enter the SN, then you'd get the same dialog AGAIN! fixed.
- when you successfully activate, it now tells you which thing you just activated
- dialog / alert info is logged in a consistent way
- CFNumbers now distinguish between doubles and ints
- fixed the ability to set key shortcuts on the Video menu and on the Webcam underlay menu
- eSellerate errors are reported more consistently
- fixed a bug where: if the same song comes in the playlist twice in a row, the song would fail to play the second time, and get stuck in "can't play" mode. there were several other permutations of this problem, i think they're all fixed
- FEATURE: kjams now remembers your pitch corrections in the music stores! (if you turn off music stores, you lose that data however)
- re-worded the "Delete Singer" to "Remove Singer"
1.0.1b11 Aug 4, 2013
- Windows: fixed broken dll linkage problem (python27.dll)
1.0.1b10 Aug 3, 2013
- Win: fixed ability to switch Venues
- Mac: The Burning "Plugin" (sold separately) is now installed as part of the application. It is still an in-app purchase, but you no longer need to run the plugin installer to see it in the preferences (Windows was always like that)
- fixed long-standing memory leak: "unceremoniously killed preemptive threads" and also "unkillable timer threads" never got their d'tor called (this was not serious as the only time that happened previously was on shutdown)
- timer thread name strings can now be a member variable of the timer (used to be required to be static)
- Support for 'Droid version of wtkJams
1.0.1b9 July 26, 2013
- fixed crash when switching venues when you have a targeted singer
- after switching venues, Singer sorting still works without having to twirl the venue up and down
- you can no longer delete Music Store songs that are listed in the library. If you try, you get told you can't do that, and instead just turn it off in the prefs
- New General pref: you can tell kJams just how often to check for updates, instead of just "always" vs. "never"
- fixed bug where the background color of a video had stopped being applied to the borders of the Video window
- Mavericks: fixed window positioning to be a bit less flickery
- fixed crash if you delete a song you had just played
- Windows: you finally get the "rip done" sound (import pref had never worked: play sound when finished ripping)
- fixed yet another crash on startup when checking for updates
1.0.1b8 July 22, 2013
- fixed potential crash when searching
- fixed that ASSERT(str.GetIndChar() == 'r')
- Win: cleaned up some code regarding selecting items in the sources list, hunting a bug there
- my GetSystemVers() routine now uses symbolic values in stead of actual values (aren't you siked?)
- if a song is paused, you can un-pause it by double clicking on it
- fixed a HANG! if you have "pause between tracks" on, and you are paused at the beginning of a song in the rotation, and you go to the "Rotation" playlist (not the "KJ Rotation") and you un-pause by double clicking the song
- Added "Sort Name", "Sort Artist", and "Sort Album" meta-data columns
1.0.1b7 July 18, 2013
- CoreFoundation again can actually log to the kJams log file (was working before, but busted a few years ago)
- Updated to latest CrashRpt
- can now recover if a localized CrashRpt believes the strings file is bad: we just revert to english (used to just fail to launch)
- full screen mode mostly works now. Remember: To get the video above the menu bar, in General Prefs turn on "Video Window floats above all system windows". But note that if you get an alert or assert or any dialog that comes up, you won't see it because it's under the video window!
1.0.1b6 July 14, 2013
- not actually used yet: for later I added a "Full Screen" internal API for full screen apps, this will be used in the future for when kJams has a "Full Screen" mode
- Singer selection in the Sources list has always been a bit busted. When you select a Singer (which is a playlist of 3 playlists), it actually shows the "Tonight" playlist (a playlist of "playlist items", where each of those is a song) in the Tracks list. This is a "what you see is what you expect", rather than WYSIWYG kind of thing. And it was a bit wonky under the hood, sometimes i'd treat a singer AS the tonight list and vice versa, leaving the selection state confused at times. This has all been fixed now. it fixes the ability to reliably select a singer programatically, which is necessary to get right for when you create a new singer, which leads to:
- When you create a new singer, it gets created at the TOP of the list, and it is properly scrolled to so you can see it, then when you name it and press enter, it sorts into place, still selected, and it is again properly scrolled to
- a targeted playlist (or singer) will now always sort to the top, so you can always see it
- When QT Exporting a Producer file (LRC, KTP etc), it will now honor the "Use 16 x 9 Aspect Ratio": if it's on you get HD like you always have, but if it's off, you get 4:3 at 300 x 216 to match other CDG exports
- fixed a bug where you export a producer file and it would come out black
- FEATURE: in targeted searching, you can now use the shortcut "s:" to indicate "song name", and "a:" to indicate "artist name"
- fixed bug: in the Rotation, when the last person's song ended, it would not leave the rotation, nor be marked as sung, nor be added to the singer history. all fixed
- fixed a bit of getting the Video Window to correctly go full screen on Mavericks. Wow they so busted that :( To get it above the menu bar, in General Prefs turn on "Video Window floats above all system windows". But note that if you get an alert or assert or any dialog that comes up, you won't see it because it's under the video window!
1.0.1b5 July 5, 2013
- When quitting, the "progress bar" no longer gets stuck at zero (it now correctly goes back to "indeterminate" barber-pole)
- Quitting is very slightly faster
- When quitting: the browser window really REALLY no longer re-appears for a second
- on startup, if your Sources list has a scroll bar, it's now scrolled to the top, not to the Singers list or Music Store list
- creating singer no longer crashes
- deleting singer no longer leaves the browser window "invisible to clicks"
- when you rename a playlist (or singer) the browser window no longer draws a large blank area on the left
- the Purple Focus Ring now draws with the bottom and right edges correct
- turned off CPW_TaskRec loggging since it's fixed
- turned off Sources list sort comparison results logging
1.0.1b4 July 4, 2013
- fixed the task manager moar korrektly
- Windows: made some tweaks to hopefully fix the crashing
1.0.1b3 July 3, 2013
- fixed crash when making a new singer
- during quit, the browser window won't show up again for a second after it has been closed
- making a new singer will no longer sort the new singer to the top of the list, but it should now scroll into view so you can easily see it. i *may* revisit this cuz i think people liked that they sorted to the stop
- fixed ALL crashes related to the task (activity window) manager (!)
- turned on logging for the task manager, since there seems to be a bug
- fixed a producer bug that would produce completely eff'd up timelines from the source file (theoretically could happen to any TunePrompter, UltraStar, SunFly, KaraokeBuilder, or LRC) only when the lyrics are so tight that they'd push the start time of the page back by a tiny bit in order to fit.
1.0.1b2 June 27, 2013
- fixed crash when songs change
- added another Scripting command
1.0.1b1 June 26, 2013
- fixed ability to resolve symbolic links
- now has kScriptCommandStr_GetNextSongCachePath for scripting
- the "Messenger" layer is now above the "ShowScreens" layer, where it was always meant to be
- fixed a bug where you'd get asserts about "foundB"
1.0 June 22, 2013
- searching and sometimes sorting would cause the scroll bar to go into outer space. the result is that it SEEMED like searching always produced zero results (actually, just the scroll bar was off the bottom, and scrolling up would fix it)
- you can now use the scripting command kScriptCommandStr_GetCurSongCachePath
- quits gracefully without crashing
- certain KMA files could cause kJams to crash. fixed. note they still won't play cuz they're bad files.
1.0f0 June 20, 2013
- if kJams can't load the "progress bar" resources, it tells you so and quits, rather than crash
- on 10.8, Apple introduced a bug where if you make an alias to a file/folder that is on a disk image, then when resolving that alias it would give you the disk image file instead of the alias target. This is fixed by using CFURLBookmark APIs. Important because some people use disk images (ie: me) for their KaraokeCloud data, and just make an alias to it in the kJams folder
- deleting singers is faster
- quitting is faster
- some operations could cause video stutter, these have been fixed! (let me know if you still see it)
- fixed a data-loss bug where if you duplicate "song" and it becomes "song *001" (same name on disk), if you then went back to "song" and duplicated it again, you'd end up with ANOTHER "song *001", which would overwrite the previous one. Now, the new files on disk use a separate "unique" number scheme, so the first "song *001" is "song 1" on disk, and the second "song *001" is "song 2" on disk. now, the "duplicate name" is merely cosmetic and doesn't overwrite files on disk
- you can now turn on Looping for the Messenger Rotation. There is a checkmark next to "Messenger Rotation" when it is looping.
- when you enter a coupon before the purchase process begins, kjams would ignore it. fixed.
- hey you, the guy on Windows who refuses to use a real email address? i'm onto you.
- Producer: fixed curly quotes around error message after "There was an error loading the song for editing"