For DOSCab/WinCab Jukebox
By Chris La Mantia (celamantia@charter.net)
- Added MSG_QUEUEFULL.
- Added MSG_SELECTNG.
- Added MSG_SELECTIONREADY.
- Added automatic timed page flips.
- Added settings FirstAutoFlipTimer and AutoFlipTimer to support timed page flips.
- Added CMD_NEXTPG and CMD_PREVPG to support timed page flips.
- Added SkipLetterA, SkipLetterB, SkipNumber1, SkipNumber2, etc. to [Selection] section in skins.
- Added LetterASymbol, LetterBSymbol, Number1Symbol, Number2Symbol, etc. to [Selection] section in skins.
- Added KEY_10 through KEY_25.
- Added Steelfish and Steelfish Bold fonts.
- Added larger, more detailed icons for Windows Vista.
- Added BTN_TOPTUNE.
- Added FontCase for display definitions.
- Increased maximum titlestrip width and height by 1000 in each direction.
- Increased maximum number of songs per titlestrip to 120.
- Fixed page change buttons on numeric,skn.
- Fixed OGG files, which were locking up when played.
- Fixed bug where rotated icons were being smeared if there was an On image with no Off image.
- Converted documentation to HTML and Windows Help formats in addition to plain text.
- Added RadioMode option to [Settings] section of jukebox.ini.
- Added BTN_PLAYSTIMULATOR to toggle the state of the play stimulator.
- Added MSG_PLAYSTIMULATOR to indicate the status of the play stimulator.
- Added cursor movement normalization for flipped and rotated modes.
- Added orphan track control: if part of a split album has 1/4 or less of an album worth of tracks, some tracks will be moved from the previous portion to even them out.
- Added numeric.skn, a version of the default skin set up for a 10-key keypad.
- Changed play counts to not increment for songs played by radio mode or play stimulator.
- Moved message proccessing logs to debug level 3 from level 4.
- Fixed radio mode adding songs when enabled even if a song is playing.
- Fixed SHIFT, ALT, CTRL, WIN, and LOCK keys.
- Fixed arrow mouse pointer orientation for rotations 2 and 3.
- Fixed shutdown crash in screen saver cleanup.
- Fixed skin loader not reporting missing icon files.
- Fixed bug causing database to be erased on a fatal error.
- Fixed multi-part albums showing incorrect artists. Multi-part albums now look at all parts when deciding who the main artist is.
- Fixed UseTrackZero for classic-style interfaces.
- Fixed bug allowing selections from the next page to be selected if an out-of-range selection address is entered.
- Added BTN_SKIPLAST to delete the last song in the queue. Note that you cannot skip the currently playing song this way.
- Added SkipLastTimeLimit setting to [Settings] section of jukebox.ini to control BTN_SKIPLAST.
- Added MSG_SKIPLASTOK to indicate when it's OK to skip the last song in the queue.
- Added IncrementalCreditDelay to [Timers] section in skin; when non-zero, credits are added one at a time with the specified number of hundredths of a second between them.
- Added MSG_ADDINGCREDITS to indicate that credits are being added; this message is not sent when IncrementalCreditDelay is disabled.
- Added MSG_ADDEDCREDIT to indicate that a credit has been added. It will fire once for all credits on a coin if IncrementalCreditDelay is disabled, otherwise it will fire once as each credit is added and unset a short time later.
- Added CMD_ADDCREDIT message to tell the jukebox to add a credit. CMD_ messages do not come in pairs like BTN_ and MSG_ messages; there is no "unset" for a CMD message.
- Added a deferred credit counter; if another coin is inserted before all credits are added, the additional credits are deferred until the first credits are all loaded.
- Added case support for Title, Artist and Album font contexts.
- Fixed backward compatibility for font settings. If the Font setting in the [Titlestrips] section of a skin is present, the [Fonts] section will be ignored.
- Fixed BTN_PAUSE.
- Fixed AllowSelectFullCD=False.
- Cleaned up coin sound effect.
- Changed Unicode character sorting to use ASCII equivalents.
- Changed random song selector to not select songs that are duplicates of those in the queue if duplicates are disabled.
- Added AllowSelectFullCD setting to enable or disable selecting all tracks when Track 0 is selected.
- Added BTN_FREEPLAY and MSG_FREEPLAY to toggle and indicate the state of the credit requirement.
- Added BTN_CLEARALL which clears both the queue and the currently playing song.
- Added automatic addition of .skn extension if not specified
- Added automatic search for skin files in a folder with the same name as the skin
- Added transparent backgrounds for displays. Use TRANSPARENT as the background color.
- Added MSG_IDLE message to indicate no songs are playing or queued.
- Added time index to debug file.
- Added logging of processed messages to debug level 4.
- Added delays before and after songs, indicated by MSG_PRESONG and MSG_POSTSONG.
- Added message to delay between songs, MSG_INTERSONG.
- Added MSG_IDLE to indicate when no songs are playing or queued.
- Added MSG_QUEUE to indicate that songs are present in the queue.
- Added status tracking for virtual disc changer.
- Added ability to specify different fonts, colors, quote status, and quote symbols for various font contexts.
- Changed color parameters to accept either "Color" or "Colour" spellings.
- Changed clock to count seconds based on globalclock rather than asking the music engine for the time; this fixes the clock for MIDI files and makes it more consistent for MP3's.
- Changed BTN_CLEARQUEUE to not clear the currently playing song.
- Changed message queue timers to hundredth of a second resolution rather than tenth of a second resolution.
- Changed virtual disc changer to be message-based.
- Changed version numbering to remove beta designation.
- Updated Allegro library to 4.2; this seems to have fixed the DOS MIDI crash.
- Updated license agreement to add required verbiage related to FreeType and to make it more clear that commercial use is prohibited.
- Fixed getting song lengths for MIDI files.
- Fixed bug that sent MSG_CREDITS even if 0 credits were added.
- Fixed bug where -MSG_SONGSTART was not being sent if song was skipped.
- Fixed bug where song would be skipped if paused within the first second.
- Fixed bug where extraneous button unsets were being sent when processing the delayed turn queue.
- Fixed taskbar icon and window title.
- Added control over screen saver song info display.
- Added control over color ranges used by screensaver.
- Fixed bug where credits display wasn't updating after a random song was selected.
- Added a build configuration that removes MP3 and ID3 support
- Added message level to debug log.
- Added check for invalid symbol lookups.
- Added object types to GUI object dump.
- Added FileSystemEncoding setting to control which encoding is used to read filenames.
- Added ability to specify a different INI file on the command line.
- Added UseTrackZero setting to skins to allow track numbers to start at 00 instead of 01.
- Added ResourcePath setting to jukebox.ini to specify paths to be searched for skin components.
- Moved GUI functions to jbgui.c.
- Moved titlestrip functions to jbstrip.c.
- Fixed bug that caused BTN_CLEARQUEUE to crash for queue sizes below 1000.
- Fixed Unicode handling for ID3 tags.
- Fixed database entries not getting a last updated date on first run.
- Fixed bug that caused queue to fill with one song when queue was completely filled.
- Fixed bugs reading Unicode ID3 tags.
- Fixed bugs preventing songs with international characters in the filename from being loaded.
- Fixed bug that caused split CD's to be sorted in the wrong order.
- Changed MaxQueueSize range to 1-500, with 250 as the new default.
- Changed default on AllowDuplicatesInQueue to FALSE
- Changed maximum songs per strip to 100.
- Added FontFocusColor, FocusColor, and ShadowColor to titlestrips settings in skins. They're global for now; they'll neded to be moved into an array if genre labels are implemented.
- Added MaxQueueSize setting to adjust the number of songs that may be held in the queue (not counting the currently playing song).
- Added AllowDuplicatesInQueue setting to set whether or not duplicate songs can be added to the queue.
- Added CDHeader setting to set whether CD header appears automatically in the card or above or below the CD art.
- Added function to select all songs on a CD when track 00 is selected (only when UseZeroes is enabled) up to number of available credits.
- Added song poll to cover art procedure; should stop stuttering when changing pages on slower machines.
- Fixed CoverArtSide=Top, which wasn't working to a doubled Top symbol
- Fixed albums not honoring SongSort setting.
- Added CD2-1.skn
- Added sound events to skins and corresponding volume settings to jukebox.ini
- Added parameter checking to a number of options settings
- Added jblcd.fnt.
- Added StrictAlbum parameter to special-case common album names like "Greatest Hits". Albums that match a StrictAlbum must be in the same folder to count as the same album.
- Added MSG_NOCREDITS, MSG_INVALID, and MSG_DUPSONG messages.
- Added ability to shut down Windows from the jukebox.
- Added debug logging for indexer results and elapsed time
- Removed non-working 8-bit video mode.
- Added rudimentary MIDI (.MID and .KAR) support.
- Moved AddQuotes, ForceUpperCaseTitles and ForceUpperCaseArtists to the skin files.
- Added BTN_NEXTALPHA and BTN_PREVALPHA to skip to the next artist alphabetically. This is only useful when sorted by artist.
- Added MSG_RADIO message.
- Added icon and message information to readme.txt.
- Added ScreenSaverCancelTimeout, which will set the number of minutes the screen saver will run, after which it will automatically deactivate and return to the GUI.
- Fixed screen saver fonts in vertical rotations.
- Added ShowSongInfo setting for the screensaver.
- Fixed Run Time text in low resolutions. If there is not enough room for both the timer and the Run Time text, the Run Time text is omitted.
- Added sanity check to track strip height on CD labels, automatically reducing number of songs per strip if necessary.
- Fixed alignment on rotated elements.
- Added BTN_CLEARQUEUE, which erases the entire queue, returning unused credits.
- Fixed bug where jukebox would crash when returning from the screensaver.
- Added Vera Sans and Vera Serif fonts.
- Added cover art support.
- Moved queue functions into jbqueue.c.
- Added RandomSongPopularityPreference setting to jukebox.ini, which controls how much preference is given to popular songs when randomly selecting songs.
- Added proper disc and track addresses to CD labels.
- Rebuilt selector and selection display to account for all possible combinations of input methods and label types.
- Album mode support functional.
- Moved symbols into source code.
- Added critical error logging even when logging is disabled.
- Added ability to load alternate display font and pointer sets.
- Added ability to flip the text in a skin and created a "flipped" skin to go with it. Images are not flipped, so skins need to be designed "flipped" to take advantage of text flipping.
- Renamed skin files to *.skn.
- Moved Controls, KeyRepeatRate, AutoSelect, AlphaToggle, and Mouse settings to a new [Controls] section in jukebox.ini.
- Added MaxRandomSonglength setting to control the maximum length of a song that can be randomly selected
- Added more validation and debug logging to random song selector
- Added escape valve to random song selector to prevent loops after 20 attempts
- Changed random selection algorithm to use the popularity list; songs closer to the top of the list will be more likely to be randomly selected.
- Added a BTN_RANDOM key, which randomly queues a song.
- Added an Escape key to indexer to cancel indexing.
- Added a KeyboardLEDsOff setting to jukebox.ini.
- Added basic screen saver.
- Added rotation symbols: HORIZONTAL, VERTICAL, VERTICAL RIGHT, UPSIDE DOWN, and VERTICAL LEFT.
- Added support for setting rotation by degrees.
- Added support for titlestrips to be specified as grids in skins. Titlestrips may be defined now as Strip, StripGrid, StripX, or StripGridX. All are interchangeable as long as numbers aren't repeated.
- Added a redraw of the tracker dialog when applying the skin.
- Changed default skin to use titlestrip grids.
- Changed alerts to add fatal crash logs.
- Added song year to database.
- Fixed precision issues regarding scaling math. Skins may need to have coordinates tweaked to account for the correction.
- Fixed bug where MSG_PAUSE was not sending an Off message.
- Added volume control functions.
- Rewrote memory allocation for song loader to try to fix the random crash bug.
- Added more larger dot-matrix fonts for higher resolution displays.
- Changed set_config_file to override_config_file to allow existing allegro.cfg files to be honored.
- Renamed 4ButtonPanel option to AlphaToggle.
- Fixed selection bug for AlphaToggle mode.
- Fixed bug where one letter higher than the HighLetter could be entered.
- Replaced TRACE with multi-level debug log
- Fixed addresses in aj8skin.ini
- Fixed bug sizing non-square skins.
- Added Genre to the database (to support genre labels).
- Fixed bug where BTN_EXIT was not working when sent from an icon.
- Fixed bug where OGG files were not showing the current time.
- Added multiple resolution support.
- Added rotation support.
- Added skin support.
- Added TrueType font support.
- Added OGG Vorbis support.
- Added multiple dot-matrix font sizes to support multiple resolutions.
- Added support for multiple song paths.
- Added ID3 support.
- Added function to release unused time slices so jukebox no longer uses 100% CPU in Windows.
- Added mouse support.
- Added mouse cursors to jukebox.dat.
- Added touchscreen (invisible mouse) support.
- Added icon support. Icons can both send messages and respond to messages sent by the jukebox.
- Added new default skin with on-screen icons for mouse or touchscreen use.
- Added support for button
- or joystick-based GUI navigation (up, down, left, right, tab, select).
- Added support for single (Arcade Jukebox-style) title strips in addition to the standard double (45-style) title strips.
- Added support for CD-style title cards; in this mode, songs are sorted by album, not artist.
- Added splash screen/indexer status display.
- Added support for multiple song paths.
- Added BTN_EXIT; the ESC key is no longer hardcoded to exit.
- Added BTN_PAUSE.
- Added a "radio mode"; if BTN_RADIO is pressed, the PlayStimulator value is overriden to a one-second delay, causing music to play continuously until BTN_RADIO is pressed again.
- Added ability to disable unused displays.
- Added ability to adjust the number of lines in Now Playing and Coming Up displays.
- Added album name to Now Playing display when at least 5 lines are displayed.
- Added ability to specify number of titlestrips per page; removed hardcoded setting of 8 titlestrips per page.
- Added JPG support.
- Added Unicode support.
- Added key repeat.
- Added joystick/gamepad support.
- Added a configurable brief delay between songs.
- Added a slight delay before the automatic select when AutoSelect is enabled.
- Added file version block.
- Rebuilt indexer; eliminated need for jukelist.
- Rebuilt music API.
- Jukebox will now play in the background while MAME plays in the foreground (in Windows) if the hardware mixer supports it.
- Changed screenshot function to output BMP files instead of PCX.
- Moved play counts to song database.
- Moved graphics from datafile to individual files to support skins.
- Moved symbol definitions to jukebox.dat.
- Moved control definitions to separate ini file; default file is controls.ini.
- When using Artist Sort, the word "The" at the beginning of an artist name is now ignored for sorting purposes, so "The Beatles" now sorts under B rather than T.
- Songs are grouped on labels by album and in track order (when known) within an artist.
- Fixed major bug that was causing excessive CPU usage (labels continually redrawn).
- Fixed bug where songs wouldn't start in the background in Windows.
- Fixed bug where SongPath wasn't actually working in Windows.
- Fixed bug where files with a # in them could not be played.
- Fixed bug where read-only files could not be played.
- Fixed bug where last titlestrip wasn't being displayed.
- 2.4 was packaged with the wrong JUKELIST.EXE; this version contains the correct file.
- Added Play Stimulator mode.
- Added Artist Sort option.
- Fixed the bug that caused the display to be lost in Windows 2000 and Windows XP.
- Added RefreshRate, SongFile, and SongPath settings to JUKEBOX.INI.
- Made JUKELIST.EXE a Win32 application so it should now work on Windows 2000.
- Linked with Version 2.0.2 of AllegMP3.
- Modified graphics.
- Changed WinCab Jukebox so it will continue playing when in the background, and will restore the screen if switched away and back.
- Added 9 more jukebox song labels.
- Added LabelStyle setting to select a label (0 through 9) or -1 for a random style.
- Added credits: up to four credit keys can be defined, and each can provide a different number of credits.
- Added RequireCredits setting. If RequireCredits=1, the selection buttons will not operate without a coin.
- Added play count tracking.
- Added count of coming songs and total time of coming songs to display.
- Changed JUKELIST.EXE to add running times to SONGS.INI. SONGS.INI will need to be regenerated for this version.
- Added Most Popular display.
- Minor graphic tweaks.
- First public release.
- Added a 4-button panel mode: buttons alternate from letters to numbers.
- Added a AutoSelect function, which automatically selects a song when selection letter and number are pressed.
- Changed the font style to dot-matrix allow more text
- Added configuration file for keys, font color, autoselect, and 4buttonpanel
- Limited releases, with hardcoded controls cutomized by hand for each user.
- First version.
- Controls hardcoded.