Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: The world must be coming to an end... DOSCab/WinCab Jukebox getting updated soon  (Read 8925 times)

0 Members and 1 Guest are viewing this topic.

Chris

  • Moderator
  • Trade Count: (+2)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 4574
  • Last login:September 21, 2019, 04:59:49 pm
    • Chris's MAME Cabinet
Yes, I'm finally making progress on DOSCab/WinCab Jukebox, only a year after I promised that the next update would be available "soon".  I've pushed off the CD- style jukebox support (and I may not go back to it, as so many others do that so well) and auto-indexing via ID3 support for now so I can concentrate on support for multiple resolutions, rotated displays, mouse/touchscreen support, and skin support.

I'm going to need a beta tester or two, preferably someone using an actual arcade monitor or a TV and/or someone with a touchscreen.  If you're interested in being a guinea pig, please let me know!  :)

--Chris
--Chris
DOSCab/WinCab Jukebox: http://www.dwjukebox.com

RacerX

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 831
  • Last login:June 17, 2022, 12:06:34 pm
  • Longtime member, sometime poster.
I'm only using a regular old CRT computer monitor, but I would help out in any way I can.

Chris

  • Moderator
  • Trade Count: (+2)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 4574
  • Last login:September 21, 2019, 04:59:49 pm
    • Chris's MAME Cabinet
Hmm... I still must have a bug or two in there somewhere...

--Chris
DOSCab/WinCab Jukebox: http://www.dwjukebox.com

RacerX

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 831
  • Last login:June 17, 2022, 12:06:34 pm
  • Longtime member, sometime poster.
ROTFL.  I love debugging!

Chris

  • Moderator
  • Trade Count: (+2)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 4574
  • Last login:September 21, 2019, 04:59:49 pm
    • Chris's MAME Cabinet
Rotation is still a bit wonky, but multi-resolution support is working.  Here's the default skin at 320x240.  Of course, for a low resolution like this I'd probably tinker with the skin.ini a bit, since the default font size is almost unreadable at this resolution...

--Chris
DOSCab/WinCab Jukebox: http://www.dwjukebox.com

Chris

  • Moderator
  • Trade Count: (+2)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 4574
  • Last login:September 21, 2019, 04:59:49 pm
    • Chris's MAME Cabinet
Rotation is still a bit wonky, but multi-resolution support is working.  Here's the default skin at 320x240.  Of course, for a low resolution like this I'd probably tinker with the skin.ini a bit, since the default font size is almost unreadable at this resolution...
Rotation is now working in all resolutions!  It's amazing how much you can screw things up by transposing a couple of variables...

I still need to fix some minor bugs in the selection process.  This weekend I hope to add auto-indexing (no more JUKELIST!  But you still have to run it at least once in Windows to pick up the long filenames...) and add mouse and touchscreen support (this will require being able to define clickable buttons in the skin), create a couple more skins, and write docs.  Ugh... writing the docs is probably going to take longer than writing the code!  :O

--Chris
--Chris
DOSCab/WinCab Jukebox: http://www.dwjukebox.com

RacerX

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 831
  • Last login:June 17, 2022, 12:06:34 pm
  • Longtime member, sometime poster.
I'm excited to see this latest release.  Thanks for enhancing an already great app, Chris!

DrewKaree

  • - AHOTW - Pompous revolving door windbag *YOINKER*
  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 9743
  • Last login:May 15, 2021, 05:31:18 pm
  • HAH! Nice one!
    • A lifelong project
Is there any way you could mve the jukebox picture down so that the rounded top would show, rather than the "grille" portion on the bottom?  
You’re always in control of your behavior. Sometimes you just control yourself
in ways that you later wish you hadn’t

Chris

  • Moderator
  • Trade Count: (+2)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 4574
  • Last login:September 21, 2019, 04:59:49 pm
    • Chris's MAME Cabinet
Is there any way you could mve the jukebox picture down so that the rounded top would show, rather than the "grille" portion on the bottom?  
If you just chop the bottom off the background pic, everything else will re-scale automatically.  (If you took some off the top you'd have to adjust the coordinates of the elements in skin.ini.

Here's what that skin looks like:

Code: [Select]
[skin]
background=images\bgclassc.pcx


[Display1]
# Now Playing display
Enabled=True
x=155
y=202
w=286
h=80
lines=4
color=green
bgcolor=black

[Display2]
# Song List display
Enabled=True
x=592
y=202
w=286
h=80
lines=4
color=green
bgcolor=black

[Display3]
# Selection display
Enabled=True
x=494
y=256
w=46
h=29
color=green
bgcolor=black

[Display4]
# Credit Display
Enabled=True
x=494
y=212
w=46
h=29
color=green
bgcolor=black

[TitleStrips]
type=double
font=bluehigh.ttf
fontsize=26
fontcolor=blue
smallfont=bluecond.ttf
smallfontsize=26
image=images\jb45lb01.pcx
width=320
height=108
stripcount=8
fontsmoothing=true

[Strip1]
x=162
y=308
address=A1

[Strip2]
x=162
y=418
address=B1

[Strip3]
x=162
y=528
address=C1

[Strip4]
x=162
y=638
address=D1

[Strip5]
x=542
y=308
address=A3

[Strip6]
x=542
y=418
address=B3

[Strip7]
x=542
y=528
address=C3

[Strip8]
x=542
y=638
address=D3

--Chris
DOSCab/WinCab Jukebox: http://www.dwjukebox.com

DrewKaree

  • - AHOTW - Pompous revolving door windbag *YOINKER*
  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 9743
  • Last login:May 15, 2021, 05:31:18 pm
  • HAH! Nice one!
    • A lifelong project
If you just chop the bottom off the background pic, everything else will re-scale automatically.  (If you took some off the top you'd have to adjust the coordinates of the elements in skin.ini.
So I can just photoshop the pic myself?  Is this true of past versions as well or just the newer version, cuz I'd like to see it "in action".
You’re always in control of your behavior. Sometimes you just control yourself
in ways that you later wish you hadn’t

Chris

  • Moderator
  • Trade Count: (+2)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 4574
  • Last login:September 21, 2019, 04:59:49 pm
    • Chris's MAME Cabinet
If you just chop the bottom off the background pic, everything else will re-scale automatically.  (If you took some off the top you'd have to adjust the coordinates of the elements in skin.ini.
So I can just photoshop the pic myself?  Is this true of past versions as well or just the newer version, cuz I'd like to see it "in action".
This is just in the new version.  You can change the background pic, the label images, the label font (font, color and size), the colors of the displays (individually), the number of lines for the multi-line displays... pretty much everything except the font used for the displays.

--Chris
--Chris
DOSCab/WinCab Jukebox: http://www.dwjukebox.com

Chris

  • Moderator
  • Trade Count: (+2)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 4574
  • Last login:September 21, 2019, 04:59:49 pm
    • Chris's MAME Cabinet
Yow... I just hooked up ID3 support and found that the state of the ID3 tags in my MP3 files is just awful...  :(

I am not a big MP3 person... do most people go through and clean up all the tags on their MP3 files?  I can't imagine converting the jukebox to use ID3 tags if most files have incorrect or missing tags...

--Chris
--Chris
DOSCab/WinCab Jukebox: http://www.dwjukebox.com

appleton71

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 39
  • Last login:January 03, 2021, 05:49:18 pm
Yow... I just hooked up ID3 support and found that the state of the ID3 tags in my MP3 files is just awful...  :(

I am not a big MP3 person... do most people go through and clean up all the tags on their MP3 files?  I can't imagine converting the jukebox to use ID3 tags if most files have incorrect or missing tags...

--Chris
My tags are pretty nasty too.  I downloaded a program called Tagmaster from AnalogX.com that lets you clean up tags a directory at a time.  I've only done about half of my many mp3s.  Personally, all I need is title and artist...the rest is just fluff.

DrewKaree

  • - AHOTW - Pompous revolving door windbag *YOINKER*
  • Wiki Master
  • Trade Count: (+1)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 9743
  • Last login:May 15, 2021, 05:31:18 pm
  • HAH! Nice one!
    • A lifelong project
Yow... I just hooked up ID3 support and found that the state of the ID3 tags in my MP3 files is just awful...  :(

I am not a big MP3 person... do most people go through and clean up all the tags on their MP3 files?  I can't imagine converting the jukebox to use ID3 tags if most files have incorrect or missing tags...

--Chris
You'll see my theory in the other thread, but using a general tag of Artist Name and Song Title will allow you to sort your whole collection, and if you want to add more variables, they'll still fall into the sort in their proper place.   Those first two are bare minimums which you should implement for ID3 sort, all others should be options.

Now....I cropped the bottom off the pic (yes, I downloaded the new beta to test this out!) and still the "arc" at the top of the "jukebox" is still lopped off.   Is there a pic out there with the arc complete?
You’re always in control of your behavior. Sometimes you just control yourself
in ways that you later wish you hadn’t

Chris

  • Moderator
  • Trade Count: (+2)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 4574
  • Last login:September 21, 2019, 04:59:49 pm
    • Chris's MAME Cabinet
Okay, I have the new indexer in place.  I need to do a bit of cleanup before I release a public beta, but I need some sleep so I'm done for the night.  I'll try to finish up tomorrow.

The indexer now works the same in both DOS and Windows, and is built in to the jukebox so JUKELIST is no longer necessary.  (Huzzah!).

Multiple directory trees of files can now be specified, and the directory scan is now recursive so subdirectories will be searched up to a depth specified in jukebox.ini.  If you have ID3 support  enabled in jukebox.ini, ID3 information will be used when available; if individual fields or the entire tag is missing, it will use the filename for the subject and either the current folder name (if it's one level off the top of the tree) or the parent folder name (if the current folder is deeper than one level off the top of the tree) is used for the artist, or Various if the file is in the root of the tree.  Titles will have excess information cropped from the beginning of the title, so a file called "02 - Avril Lavigne - Complicated.mp3" will come out as "Complicated".  This auto-crop looks for the last "- " (a dash followed by a space) in the filename and crops anything before it.  You can disable this behavior by setting SmartCrop to False in jukebox.ini.

File identifiers are created from the last six digits of the file size plus the first four non-space characters of the filename, and are thus compatible between DOS and Windows.  File identifiers are resolved to file paths at run time; becase of this, you can store song files on removable media and they will simply not appear if the media is unavailable.

All this indexing takes time.  On a system with 500 MP3 files, the first run takes about 40 seconds to get all of the ID3 information from the files and build the database.  Subsequent runs take about 1.5 seconds to resolve file identifiers to filenames.  If you are running in an environment where your song files rarely change, you can set AutoUpdate to False in jukebox.ini to load the previous indexes, which causes the jukebox to start almost instantly.  Deleting the index file (but not the database) will force the indexer to re-run, grabbing any new files and re-resolving old ones.

--Chris
--Chris
DOSCab/WinCab Jukebox: http://www.dwjukebox.com

RacerX

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 831
  • Last login:June 17, 2022, 12:06:34 pm
  • Longtime member, sometime poster.
That sounds awesome Chris!  I especially like your new allowances for removable media.  My mp3 jukebox is going to have a CD-Rom drive in it.  So I can pop in a CD with mp3's on it for Christmas or something like that.  Cool.  I also appreciate the ID3 tag support.

Thanks again for all of your efforts!

Chris

  • Moderator
  • Trade Count: (+2)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 4574
  • Last login:September 21, 2019, 04:59:49 pm
    • Chris's MAME Cabinet
Titles will have excess information cropped from the beginning of the title, so a file called "02 - Avril Lavigne - Complicated.mp3" will come out as "Complicated".  This auto-crop looks for the last "- " (a dash followed by a space) in the filename and crops anything before it.  You can disable this behavior by setting SmartCrop to False in jukebox.ini.
One other note: The database is stored as a plain text file so if you don't like what the indexer comes up with for the title or artist, you can edit it directly.  Records look like this:
Code: [Select]
{292960THEB}{The Boys Are Back In Town}{Thin Lizzy}{}{0}{1029626826}{267}{1}
{587648HOLD}{Hold Me Now}{Various}{Rock Of The 80's Volume 2}{0}{1015096278}{286}{0}
{610089IWIL}{I Will Remember You}{Sarah McLachlan}{}{0}{1029687624}{287}{1}
{319335ANGE}{Angel}{Sarah McLachlan}{City Of Angels}{4}{1029688080}{269}{0}
The first field is the file ID; you wouldn't want to change this or the filename resolution will fail.  The second field is the title.  The third is the artist.  The fourth is the album name. The fifth is the track number, or 0 if it could not be determined.  The sixth is the file date, in number of seconds since January 1, 1970; if this is different from the file, the indexer assumes you've updated an MP3 tag and recreates the data for the record.  The seventh field is the length of the song in seconds, and the last is the number of times the song has been played in the jukebox.  If you were to move any lines around or add or delete lines, the index file (jukebox.iwx or jukebox.idx) will be invalid and will need to be deleted; it will be recreated on the next run.

For those using DOS who already have their files organized by artist and actually liked JUKELIST.EXE, you can get the same effect by disabling ID3 support, running the jukebox once in Windows, then disable auto updates and copy everything to the DOS machine.  The DOS machine will then rebuild the index, matching up the short filenames with the file ID's. (If you have a large number of files with the same first six characters in the same folder, Windows 9x will be better than NT/2000/XP, as they handle short filenames differently when more than five files having the same six characters at the beginning of the name.)

Wow... I have a ton of docs to write, don't I?

--Chris

--Chris
DOSCab/WinCab Jukebox: http://www.dwjukebox.com

oswaldo

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 2
  • Last login:June 12, 2004, 02:21:39 am
  • I'm a llama!
I would love to tests out the new version of your app, i am presently using my arcade machine with your app as my jukebox, problem is though i have a rotated 20" monitor and get a sore neck selecting songs.....
regards

Yes, I'm finally making progress on DOSCab/WinCab Jukebox, only a year after I promised that the next update would be available "soon".  I've pushed off the CD- style jukebox support (and I may not go back to it, as so many others do that so well) and auto-indexing via ID3 support for now so I can concentrate on support for multiple resolutions, rotated displays, mouse/touchscreen support, and skin support.

I'm going to need a beta tester or two, preferably someone using an actual arcade monitor or a TV and/or someone with a touchscreen.  If you're interested in being a guinea pig, please let me know!  :)

--Chris