JukeBx
Version 1.9
13 Oct 22
Website
Program Info
Playlists are a useful way to organize your digital music... if you have only a few hundred songs. Once you have thousands of songs, it
becomes a chore to modify playlists to suit changing tastes / moods. Also, playlists become completely impractical when you have to suit
the musical tastes of various household members. JukeBx changes this. It builds playlists in the background that it creates based on how
you, and up to nine other users, rate the song. This enables you to hear the songs you love regularly, and the ones you don't like as much
less, while still giving you the variety that rebuilding playlists every day would give you. You can even set JukeBx to rate the songs for
you by monitoring your playing habits! Up to ten programmable patterns can be set so everyone can hear music they like equally, or
unequally if you set it that way! For example, you can set a pattern that will select 5 songs in a row that you like followed by one
your partner likes. JukeBx can be set to use a database that is stored at a remote location and allow you to hear music the way you
want it in any room with a networked computer. Multiple copies of JukeBx can use the same database when configured this way and JukeBx can
buffer networked songs so once the list is built it can be independent.
JukeBx supports most media files, including most video types,
and songs can be imported from playlists or directories. JukeBx can also be used as a playlist generator if you like another player but
dislike it's selection ability. JukeBx even includes a Media Filler mode for portable music players which will fill up a directory with a
set amount of music.
In addition JukeBx supports offensive song filtering, minimum rating play mode, variable start and end time, ID3 data importing,
selectable full screen video, cover / disc image viewing, file type filtering, customization of the user and pattern names, minimize to
tray, database browsing, file play count, auto-play, 10 song back, 100 song anti-repeat, anti-artist repeat, and auto minimize. For the
advanced / daring users, it is possible to modify some of the values that JukeBx uses to select songs and, for example, change the
weightings of the song ratings.
Contents
Installation
Use
Icon
Main Window
Main Control Buttons
Status Display
Quick-Link
Cover Art
Playlist
JukeBx Options
Song Details
Status Bar
JukeBx Internals
Network Mode
File Hashing
JukeBx Media Filler
Command Line Options
Programmers Notes
System Impact Statement
History
Licence and Registration
Liability
Contact
Installation
Run "Setup.exe" and follow the instructions. To remove JukeBx use the "Add/Remove Programs" option in the Control
Panel. JukeBx stores all its data files in the designated application data area, often
"C:\Users\USERNAME\AppData\Roaming\Sinner\JukeBx ". If you would prefer that it saves in the same directory as
JukeBx either run the program from a removable drive, such as a floppy of a USB drive, or delete the "DefSet.txt " file from the
JukeBx directory. If you're a new user JukeBx will offer to search a directory for files to import. If on the other hand you have a
existing database from pre v1.3 you will need to install v1.3 first to upgrade the database.
Use
First of all, JukeBx needs to know where your files are. JukeBx can either import from directories or from m3u playlist files. Press the
"JukeBx Database Functions" button in the toolbar at the top of the window. (This window can also be shown when you first install JukeBx.)
In the new window select if you want to import from a
playlist or a folder, and then tell JukeBx where it is using the "Select" button. Then press "Import" and wait for
JukeBx to finish. When JukeBx has finished, close the window box and JukeBx will start selecting songs. Press the "Play" and
JukeBx will start playing. At this time all songs will be rated equally, which needs to be changed to allow JukeBx to work properly.
However, there is no need to do it all at once. The recommended method is to run JukeBx in Single mode (the default) and if a song comes
up that you wish to hear more or less then you press the "Rating" button and select a different rating. If AutoRate is
enabled skipping a song will reduce the rating by a partial score and playing the song in full will increase the rating by a partial
score.
Following is a description of all of the functions of JukeBx. Items in Bold are feature or window names.
Main Window
This window is designed to take up the whole screen and present you with a display showing data and an image of what is playing, and a
list of what songs are coming up. However, the screen can also be resized to almost any size, but functionally will be reduced (due to less
being visible) at sizes less than 800x600. At the top of the window are the Main Control Buttons. Below
to the left is the current song title with the rating of the selected user displayed below. Below this is the
Status Display which shows a summary of the current songs data, and any selected
Quick-Link list below. To the right of this is a space that is used by any Cover Art
that you have for your music, any selected Quick-Link list, or for any videos. At the bottom is the
Playlist. For more details see below.
Main Control Buttons
Status Display
If you right click this area a menu is shown.
Help | Shows this file |
About | Shows file, contact and registration information for JukeBx |
On Top | Makes JukeBx the top most window |
User |
Selects the current user. This affects the shown song rating and the songs shown in the Quick-Link list
Keyboard Command U followed by the User number. (Only works
in Single User Mode.) This will also clear the list. |
Mode |
This selects the pattern of automatic user selection. If in Single there is no Alternating, but the
other modes will change the selected user between songs depending on the set Alt Pattern. For example, by default Alt 1 will change
between User 1 and 2. These settings are changed in JukeBx Options.
Keyboard Command A followed by the Alt Pattern number. This will also clear the list
|
State | Allows you to have 10 different settings and playlists for different moods/situations |
Details | Shows the Song Details window which displays further
information on the entry |
Other songs by artist | Opens a search window for the currently playing artist |
Top songs | Opens a search window showing the current users highest rated songs |
Open JukeBx Media Filler | Opens the JukeBx Media Filler |
View | Selects what Quick-Link list to show |
Quick-Link
In the left or right side of the top half of the display can be shown a list of related songs to the current ones. If any of these are
clicked they will be played. It is better for the left side to be used for text, and the right side used for
Cover Art, but if you are running JukeBx as a smaller window the left size might be too small to be used. Only one
side can be used for text, and if the right side is used then text is disabled on the right. Up to twenty songs are shown, sorted to show
in order of the highest rating. Please note that this feature can be CPU intensive in large lists (5000+) and it not recommended for slower
computers. By the right of each song name can be shown its rating for the current user and/or a "V " to indicate it is a
video.
Cover Art
JukeBx looks for files of certain names, and as a last resort will pick any image file at random from the directory. Images are stretched
up or down to fit the upper right quarter, and they need to be roughly square or they will be distorted. In order of priority JukeBx
looks for;
Cover (JPG, BMP then GIF)
Disc (JPG, BMP then GIF)
Folder.jpg
Any JPG
Any BMP
Any GIF
If JukeBx finds a relevant Cover and a Disc you can toggle between them by left or right clicking on the image.
Playlist
This shows the list of songs that are coming up next. If you right click in this area a menu is shown. Many of the options are the
same as the Status Display, but the others are explained below.
Clear List | If you don't like what you see in the list JukeBx can start again |
Save as Playlist | Saves the current list as a M3U playlist file |
Intervention | Override functions. See below. |
Remove | Removes the selected entry |
Play Now | Plays the selected entry without altering the playlist |
Play Next | Moves the song to the top of the list so it's played next |
Details | Shows the Song Details window which displays further information on the
selected entry |
The Intervention functions alter the normal operation of JukeBx.
Build Now | Starts JukeBx building a list. JukeBx will not build higher than the
Prepare setting. |
Stop Building | Stops JukeBx building. |
Quit but do not save playlist | Surprisingly this quits JukeBx... but doesn't save the playlist. |
Refresh Network Cache | Only shown if Network is enabled. Forces JukeBx to update the local cache next time it
is accessed. |
Lock Offline mode | Only shown if Network is enabled. Prevents JukeBx updating the local cache. |
Set/Unset Offline mode | Temporally prevents JukeBx updating the local cache, or re-enables it. JukeBx will set this
mode itself if it has trouble accessing the remote database. This mode is automatically unset after approximately 15-30 minutes. |
Write cached edits | Certain functions, such as AutoRate and hashing store changes and update the DB in one go. These
changes happen periodicly and when JukeBx is shutdown, but this function allows you to update the database early. |
Test Functions | Enables and shows certain test functions. These vary and are beyond the intent of this guide. |
JukeBx Options
This Window appears when you select the "Options" button on the main window. It allows you to change the user and Alt Pattern
names from the boring defaults to more personal ones. This is also where you change the actual Alt Patterns to what is more suitable to
your needs.
The Alt Patterns are simple to alter. They consist of a line of single digit numbers which represent the relevant user number. (0 is
ten.) For example, a pattern of "123495679" would play a song from User 1 first, the user 2, then User 3, then user 4, then user
9, then user 5 ....and then once at the end of the pattern would start again. This allows you to, for example, play equal music for all
members of the household (or less equal if you like!), mix in comedy shorts every ten songs, even use one of the users for ads and run a
radio station! The possibilities are (almost) endless!
Other options are explained below.
File Types | Allows you to select what file types will be played and imported. Please note
that this is just an internal setting; JukeBx does not associate itself with any file type at a system level. |
Filter | The Minimum Play Rating control selects the lowest rated song that will be selected and the Offence control
allows you to filter out songs that you feel may offend. (For this to work you must change the settings of offensive songs in the
Song Details window.) |
Full Movie | Shows movies in full screen. Keyboard Command F |
History | Sets JukeBx to remember the last 100 selected songs (user irrelevant) and prevents any repeat being
played (This feature is disabled if your database has less than 200 songs) |
Tray | Makes JukeBx minimize to the system tray instead of the task bar |
Auto Build | Build lists when JukeBx is on pause |
Shutdown | Works with AutoBuild. When both are enabled JukeBx will automatically shutdown the computer if it's not playing after the list has been re-built. |
AutoRate | Helps you rate your songs by changing rating based on how you play them. Read more about AutoRate here. |
No Art Rep | Sets JukeBx to remember the artist of the last 20 selected songs (user irrelevant) and prevents any
repeat being played (This feature is disabled if your database has less than 500 songs) |
Auto Mini | Makes JukeBx auto-minimize when it starts playing |
Auto-Play | Sets JukeBx to play automatically on program start |
Dir -> ID | If JukeBx cannot find artist or album data the option will set it to attempt to find it from the
directory names |
Cover Art | Enables the Cover Art function
Keyboard Command C |
Mark Vid | Label videos in a Quick-Link list with a "V" |
Network | If you are using JukeBx to access files or databases over a network then you should enable Network mode.
This is especially important if you are using JukeBx on multiple computers at once. When enabled JukeBx will make a copy of the
database file on the local drive to speed access for non-writing functions and reduce conflict. Read more about Network mode here. |
Buffer | Works with Network. If enabled JukeBx will copy the current play list to the local computer so it can
keep playing no matter what happens to the server connection. The amount of storable songs can be changed Read more the Buffer function here. |
Show Rate | Show the rating of songs in a Quick-Link list |
Prepare | Selection for the number of songs to prepare on the play list. 200 will give enough songs to last almost all
day (The play list will commence rebuilding when there is 10 songs left to play) |
On-Top | Makes JukeBx the top most window |
Help | Shows this file |
Open Dir | Opens the directory where JukeBx stores all user settings and data |
State | Allows a quick set of most of the settings if you have different sitations, for example when small children are around. When you change state the list is
saved and is restored next time that state is chosed. |
Reset | Restores the default JukeBx settings |
Database Functions
This window is for altering database settings. Its functions are explained below.
Folder | Sets JukeBx to import from folders (The Folder import is recursive, that is,
subdirectories are checked as well) |
Playlist | Sets JukeBx to import from any M3U compatible playlist files |
Select | Enables you to select the folder or file to import from |
Import | Starts importing. The status is displayed below (If you close the window the import is stopped) |
Functions | See below for details on the functions. |
ChangeDB | Allows you to select a different alarm database |
NewDB | Creates a new database and selects it |
Help | Shows this file |
Advanced |
Shows the JukeBx Internals window |
Details on the functions
Save DB as playlist | Saves the database as a M3U playlist file |
Remove Duplicates | Searches the database for double file names (NOT song names) and deletes them |
Copy Ratings | Copies song ratings from one user to another |
Upscore Songs | Put simply, makes all songs for the selected user more likely to be played, regardless of rating.
Put in a more complicated way, it put in the song score twice the value of the breakpoint. For more information, refer to
JukeBx Internals. |
Remove missing files | Removes from the database any songs that cannot be opened |
Reload Song Data | Re checks all files for updated ID3 data (Be sure to have Lock Name enabled if you wish to
protect any entry) |
ReDefault Songs | Resets all song ratings to the default from the selected index number |
Undelete All | Un deletes all previously deleted song records that have not been overwritten |
Reset Start Points | Changes the start points for each song to zero. |
Sort by Name | Re-orders the database so it's in order of song name. |
Sort by Artist | Re-orders the database so it's in order of song artist. |
Song Details
This window shows details of the song extracted from the database. Most of the entries are self explanatory, however it should be noted
that if you change anything from the generated data and plan to use the "Reload Song Data" function, be sure to have the Lock
Name option checked. Otherwise JukeBx will happily "correct" all of your changes.
Status Bar
The Status Bar of JukeBx provides a lot of important data and some of its functions are explained below. Please note that many are only shown if certain options are enabled.
JukeBx Ready | Shown when JukeBx is not playing or building. |
JukeBx Playing | Shown when JukeBx is playing. |
JukeBx Playing | When selecting a song to add to the list this is shown. Please note that JukeBx won't be as responsive while building a list. |
JukeBx Posting | This means that JukeBx is looking up song data and adding it to the list. Please note that JukeBx won't be as responsive while building a list. |
Un-Buffered | If Network and Buffered mode is enabled you'll see this if a song is being played that is from the remote source. |
Buffering | Shown when JukeBx is copying remote songs to the local harddrive. |
Buffered | Indercates JukeBx has finished buffering |
Partially-Buffered | Shown if the buffering is finished but the buffer is too small to buffer the whole list. |
Hashing | Shown if JukeBx is creating a hash for the file. Read more about this here. |
Clearing Cache | Shown when JukeBx is updating the Database of any cached edits. |
DB Offline | If Network mode is enabled this is shown when JukeBx can't access the main DB. (This isn't an error conditon.) |
JukeBx Internals
On this window are the defaults that are used when JukeBx is deciding what song will play next. Altering these setting can completely
ruin the way that JukeBx works, but that is why the Default button is there. Even so, changing the settings here should only be
done if you feel that you that you want a more or less distinct difference between the ratings. The way that the default ratings are set,
a song rated as 2 will be played twice as much as a song rated as 1. This means that a song rated as 10 is 512 times more likely to play
than one rated as 1. A possible change is to double all of the values, including the Target Value, except the value for 1. This will mean
that any song rated as one will 1 rarely play. (The programmer has his programs set that way.) The Alternate button will change the
settings to this configuration.
Also here is the Network mode setting, which is explained here, and some test data which has no user purpose
and thus won't be explained here.
For the curious, the way the JukeBx works is that is has a running count for each songs for each user. When a song is to be selected,
one is chosen randomly from the database and its running count is compared to the Target Value. If the number is less that it then
the songs Rating Value is added to the running count and another is selected. This goes on until it finds a song with a high
enough running count. When it does then it reduces that songs running count to zero and then starts again. Thus the Target Value
must be above the highest Rating Value otherwise songs rated at that value will play a lot. Even so, the decision is yours.
Also on this window is the setting for the default rating for imported songs. This gives a rating of 6. As a side note, remember that
the ratings can mean what you want them to mean. 1, for example does not have to mean that you think the song is bad; 1 simply is a song
that you want to hear less than a song rated as 2. Thus 6 should mean that you really like it. But, once again, it is your choice.
The other option on this page is "LAME Check". This setting will advance the the song start point to 540 when the song is
imported if you are using LAME encoded MP3 files. This is because LAME adds extras silences at the start of each song and the some
decoders do not like this. We have found that this isn't as much of a problem as it used to so this function is now an option, but if this
happens to you we advise you to enable this. In some cases it is necessary to further advance this to something a few thousand later.
The last feature on this page is AR Speed, which is the Auto Rate speed. The way Auto Rate works is it up rates a song
after a complete play, and down rate on a skip. The amount that changes depends on the AR Speed setting;
Slow 1/8 Rating value
Normal 1/4 Rating value
Fast 1/2 Rating value
To understand how this works you first must remember that the changed value is the hidden value, not the Visible Rating. Thus when set
to normal using the default rating values songs will go down after two backs, and up after 4 plays. That is, if the song has a Visible
Rating of 6 its Rating Value would be 64. 1/4 of 64 is 16, so when skipped it goes down to 48, which equates to a Visible Rating of 5.
Next time it's skipped it looses 12 making it 36, leaving the Visible Rating as 5. But on the next skip it looses 9, becomes 25 and thus
has a Visible Rating of 4.
Going the other way and starting again with a Visible Rating of 6, adding 16 to 64 makes the Rating Value become 80, which still equates
to a Visible Rating of 6. Next time it plays it gains 20 making it 100, leaving the Visible Rating still at 6. Then on the next play it
gains 25, becomes 125 and thus still has a rating of 6. However on the next pass it goes to 156 giving it a Visible Rating of 7.
How this works for you long term is hard to be sure about, but remember that if it's too slow or too fast it can be changed.
Network Mode
From the start JukeBx was designed for a home enviroment, and thus it has the ability for multiple copies of JukeBx to be running off the same
database. To do this you need to have all the music as well as the database on a network share that all computers can access most of the time.
By default JukeBx stores the database file in the normal user data directory, but it's easy to move it. To do this;
1. Open the About box via the right-click menu.
2. Select from the combo box to the bottom left Prog Dirs and then press the Open Dirs button to the right. Close the About box.
3. Open the destination network folder and then copy the JukeBx.lbf file to this folder.
4. Open the Database window, press the ChangeDB button and then select the new file location. Close the Database window.
5. Open the JukeBx Options window, and enable Network and Buffer as well if the local drive has around a GigaByte free.
With Network enabled JukeBx will keep a local copy of the database for read related purposes. The amount of songs buffered
depends on the Buffer Size setting. Do remember that this can consume a large amount of hard drive space.
File Hashing
In this version a long planned feature of a file ID has been added to JukeBx. This allows the database to identify a file in more ways than just the
filename. There are many potential uses for this, but to name a few it will be easier to find doubles and to detect moved or re-imported files. However,
for the moment this featre is used only for the DB Caching functions.
To further explain, when the DB is shared among several computers if one copy of JukeBx kept doing changes it would prevent others using it. For this
reason a new DB Caching function was written. This allows (at the moment) up to 100 DB changes to be stored and then processed in one go. Writing this
was important to the long term plans of JukeBx so this was a good excuse to do it now. When an DB change is cached four things are stored; the DB
record, the previous data, the new data, and as a piece of extra safety an "unique" ID mark. In this case it's the new piece of data that's
labelled as "ID". This is a hash made via a custom derivative of the Fletcher's checksum that is based on the music file itself. These
4 pieces are stored and when it's time to write the cached data they need to match. If they don't the change is abandoned to avoid changing the
wrong record (if for example the DB was re-ordered) or overwriting another edit.
New imports are hashed as they are imported, and existing songs will be hashed in the background.
JukeBx Media Filler
The JukeBx Media Filler is actually the same program as JukeBx, but it has a different window, and a different function. It is accessed
by either the Right click Menu in the Status area, or by opening JukeBx with the command line switch
/f. The Media Filler only works if JukeBx is set up already as it uses the most of the settings that are used in the Player mode.
However, some settings can be customised for the Media Filler mode, so, for example, you can prevent file types that your player does not
support being copied across. When JukeBx is run for the first time in Media Filler mode these settings are copied across, but they are
saved in a separate file. Most settings are already explained in other parts of the ReadMe, but some functions are exclusive to this
function.
File Size | Selects how much songs will be copied across, measured in MB. You can also set
JukeBx to keep copying until there is no room left by setting it to Fill. |
Empty Dir | Deletes the contents of the selected output directory prior to filling it (Confirmation is needed prior to
the deletion) |
Add Number | Adds a number prefix to each file as it is copied over so you can play them in the same order that they
were generated simply by playing the music in alphabetical order. This function is useful if you like playing music randomly but do
not like the randomness of your device. |
Reset | Restores the default settings |
Command Line Options
JukeBx supports some Command Line Options.
Auto Start | /s | Automatically starts playing on program start |
JukeBx Media Filler | /f | Opens JukeBx in Media Filler mode |
Examples:
"C:\Program Files\JukeBx\JukeBx.exe" /s
Starts JukeBx and starts playing.
Programmers Notes
Like the last one, this version is a massive tweak from the last, with many little features added. Much of the internals have been rewritten too. It has
been under test for around ten years actually... but it is a complicated program. Needs work...
JukeBx has been tested on Win8, Win10 and Win11.
System Impact Statement
We go to great lengths to reduce system impact, but we feel that it is still important to explain here what our programs do to your
system. If you feel we are missing something, or you need further clarification, please contact us.
Registry | JukeBx does not use the registry. The installer that comes with JukeBx uses the registry only
for the required un-installation data, and not at all if you use the "Extract Only" mode. |
System Settings | JukeBx does not change any system settings. |
Files | All of its program files are stored in the installation directory, and all of its data files are stored in the
designated application data area, often "C:\Users\USERNAME\AppData\Roaming\Sinner\JukeBx". If you would prefer
that it saves in the same directory as JukeBx either run the program from a removable drive, such as a floppy of a USB drive, or delete the
"DefSet.txt" file from the JukeBx directory. These directories can be opened via the About box. |
Network | JukeBx and its installer do not access the internet in any way, but the ReadMe does have three graphic files that are
stored on the internet. (They are not used as web-beacons, merely spacers and images for the payment processors.) |
CPU | JukeBx has some CPU intensive functions, such as the quick-list, however we have tested JukeBx on a Intel Atom and it
works without any problems. |
Memory | JukeBx is memory demanding only if your cover image files are excessively large, that is greater than 5 MB. |
History
1.00 | Initial Version |
1.01 | LunaBase update, interface tweaks, multiple back, history, improved importing, anti-artist repeat |
1.1 | LunaBase update, interface revision, enhanced search |
1.11 | Multi-User support, Auto List save, Intervention Options, Network Mode, Media Filler |
1.2 | JPEG Covers, auto numbering fill, internal redesign, improved importer, associated tunes list |
1.3 | LunaBase update, faster quick list, Vista changes |
1.4 | File Buffer, auto-rate, multi-state, Top 100 list |
1.9 | Loads of minor changes. Forgotten what they were to be honest. If it is worked out this will be updated. |
Licence and Registration
Permission is given to evaluate JukeBx for a period of 30 days. After this time you are required to either register or remove
JukeBx. Permission is given for all forms of distribution, including CD compilations and Websites, providing the ZIP file is
unaltered and it is made clear that JukeBx is a Shareware program and that registration is required for continued usage. JukeBx
can be registered using PayPal, Reg.Net or Mail. For details on the terms of our licences and of our Buy-Three-Get-All policy please
refer to the payment page.
JukeBx is a copyrighted work and thus permission is not given for you to decompile, disassemble, modify, translate, enhance or
create derivative works from this program. If you feel that you need to do any of those actions, and that those rules do not apply to
you, contact us first.
Single User | |
| |
PayPal $10.00 USD |
|
| |
Mail | No longer accepted |
| |
Site | |
| |
PayPal $120 USD |
|
| |
Mail | No longer accepted |
Liability
Sinner Computing accepts no liability for this software to the maximum extent allowable by law. Installing this software is the decision
of the installer, and signifies that you agree with this liability statement. Thus, any damage/loss caused by the use of this software is
not in any way the responsibility of Sinner Computing. This includes, but is not limited to, physical damage and loss of income/time. In no
event shall the maximum liability of Sinner Computing exceed the registration fee paid by the user, if any. Because some jurisdictions do
not allow the exclusion or limitation of liability for consequential or incidental damages, in such jurisdictions the liability of
Sinner Computing shall be limited to the extent permitted by law. If at any time you do not find these conditions agreeable you are required to
remove this software.
Contact
Advice/insults (on the subject of the program, not the programmer) are always welcome. To help users keep up to date we send out
newsletters whenever there is a major new version of JukeBx. To join this list simply send an
EMail with "JukeADD" in the subject. To be removed from this list, write an EMail
with "JukeREMOVE" in the subject. (Sinner Computing does not sell your EMail address or any other personal information to anyone.)
In addition, we have a RSS feed that is updated whenever there is a new version of any program.