Build Your Own Arcade Controls Forum

Software Support => DOS/WinCab => Topic started by: froggerman on April 11, 2007, 07:00:27 pm

Title: Timer Question - DB Problem - Feature Question
Post by: froggerman on April 11, 2007, 07:00:27 pm
Hi Chris,

I am in the process of update some of my skins and making sure that I have all of the options set correctly. I used your version 3.1.2 default.skn as the starting point. While doing this I noticed that there are two [Timer] sections in the file. The first one:

[Timers]
# These timers are specified in hundredths of a second. 
# Pre and Post song delays default to 0, Inter (between)
# song delay defaults to 200 (2 seconds) if Pre and
# Post are 0, otherwise it defaults to 0.

PreSongDelay = 200
PostSongDelay = 100
InterSongDelay = 0

The second one:

[Timers]
# These timers are specified in centiseconds (1/100th of a second)

DelayBeforeSong = 100
DelayAfterSong = 0

# DelayBetweenSongs will override SongDelay if it's specified in
# jukebox.ini, on the assumption that if it's specified here there is
# probably an animation or sound effect tied to it.
DelayBetweenSongs = 100

I would assume that only one of these should be in this file. Is the first one the correct one?

I have just ripped an number of CD and am trying to add them to the database. Certain songs are causing WinCab to crash. I have set the debuglevel to 5. If I remove the last song found in the log file, it will continue to add files until it comes to another one. These files names are all very long but I am not sure that this is the problem. What should I be looking at to fix this problem?

Lastly, are you familiar with Replaygain? I have been using it recently and it seems to work very well. Is there a way that this could be used with WinCab?

Thanks, Bryce.
Title: Re: Timer Question - DB Problem - Feature Question
Post by: Chris on April 12, 2007, 01:05:18 am
How in the world did I do that?  Yes, the first one should be correct.

I am aware of ReplayGain but it is not likely to be supported any time soon.

The files that crash WinCab are likely to be bad MP3 files.  Windows Media Player is a lot more tolerant of bad MP3's than WinCab is, but Microsoft has a few more programmers on it than I do.  :)

Title: Re: Timer Question - DB Problem - Feature Question
Post by: froggerman on April 12, 2007, 02:02:02 am
Hi Chris,

I think there is zero chance that this problem is caused by bad MP3 files. These files were just generated from the wave files. I think it is because of the length of the ID3 Artist, Album and Title.

Here are the Titles (file names) that have the problem:

02 - I'm Just An Old Chunk Of Coal (But I'm Gonna Be A Diamond Someday).mp3
11 - Are The Good Times Really Over (I Wish A Buck Was Still Silver).mp3
08 - If I Said You Had A Beautiful Body Would You Hold It Against Me.mp3
20 - If You're Gonna Play In Texas (You Gotta Have A Fiddle In The Band).mp3
14 - Indian Reservation (The Lament of the Cherokee Reservation Indian).mp3
20 - Put Your Arms Around Me, Honey (I Never Knew Any Girl Like You).mp3
13 - Does Your Chewing Gum Lose It's Flavor (On The Bedpost Over Night).mp3

Also, any Title in the following directory won't work:

The Rock 'N' Roll Era - Frankie Valli & The Four Seasons- 1962-1967

I know that this is a strange problem, but you might want to have a look at your code when you have a chance.

This is not stopping me from doing anything. I just thought you would like to know.

Cheers, Bryce.
Title: Re: Timer Question - DB Problem - Feature Question
Post by: Chris on April 12, 2007, 08:08:52 am
I think there is zero chance that this problem is caused by bad MP3 files. These files were just generated from the wave files. I think it is because of the length of the ID3 Artist, Album and Title.
You could try turning off ID3 support if you belkieve ID3 tags are the problem.  The juke crops any long strings down to 64 characters before storing them, though, to deal with just this sort of issue.
Quote
Also, any Title in the following directory won't work:

The Rock 'N' Roll Era - Frankie Valli & The Four Seasons- 1962-1967
The ampersand is probably the issue.  Until I fix it, if you change & to "and" it should work.
Title: Re: Timer Question - DB Problem - Feature Question
Post by: froggerman on April 12, 2007, 05:55:26 pm
Hi Chris,

I tired your suggestion to turn of the ID3 support and I was able to scan the entire mp3 collection with no problem. This does not produce the same results as the ID3 tags but it should help to localize the problem.

I tried taking out the ampersand for Frankie Valli & The Four Seasons, but that did not change the problem.

I have the a small file with the last group of messages from the WinCab log file (Debug leve 5) if you would like to have a look.

Cheers, Bryce.
Title: Re: Timer Question - DB Problem - Feature Question
Post by: Chris on April 12, 2007, 06:01:15 pm
Hi Chris,

I tired your suggestion to turn of the ID3 support and I was able to scan the entire mp3 collection with no problem. This does not produce the same results as the ID3 tags but it should help to localize the problem.
Could be a bad tag, but WinCab actually copes with bad tags pretty well.  Now that the collection scanned, can you actually play the songs that bombed out on the scan before or do they die when they play?

Quote
I tried taking out the ampersand for Frankie Valli & The Four Seasons, but that did not change the problem.
Odd.  Might be because the ampersand is already in the database.  See if you can manually hack those songs out of the database file (it'll load in a text editor) and see if you can scan it again...

Quote
I have the a small file with the last group of messages from the WinCab log file (Debug leve 5) if you would like to have a look.

Logs are always handy!

--Chris
Title: Re: Timer Question - DB Problem - Feature Question
Post by: welshmark on April 18, 2007, 10:00:24 pm
I've had a few strange MP3 files that caused Wincab to exit to Windows.  I took the files, burnt them to cd-rw as a music cd, then ripped them back as MP3 files and manually retagged them.  Cured the problem in every instance.  Never figured out a common denominator though.
Title: Re: Timer Question - DB Problem - Feature Question
Post by: froggerman on April 19, 2007, 04:57:10 am
Hi Chris,

Sorry to take so long to get back to you but I have had company here and I have not been able to look at this. The problem is being cause by the handling of log ID3 tags. I have examples of the Album tag, the Artist tag and of course the Title tag all causing the problem.

If the tag is 63 characters or longer, WinCab just dies when it processes the tag. If I shorten the tag to 62 characters there is no problem. I have tried it with all 3 tag types and this is the problem each time.

There is no problem with this being from a corrupt database, as this was a new install and when this error occurs, no database is created.

Here are a couple of examples from the WinCab Debug Log:

0:00:07.13-LVL3-INDEXER-LOOP: Working on 02 - I'm Just An Old Chunk Of Coal (But I'm Gonna Be A Diamond Someday).mp3 (5376600 bytes)...
0:00:07.13-LVL4-INDEXER-LOOP: No match (no pointer). File ID=37660002-I
0:00:07.13-LVL4-INDEXER-LOOP: ** ID3 tag found.
0:00:07.17-LVL5-GETID3FIELD: String is Unicode, Raw data: 0 49 0 27 0 6d 0 20
0:00:07.17-LVL5-GETID3FIELD: Converted data: ''

0:00:07.45-LVL3-INDEXER-LOOP: Working on 11 - Are The Good Times Really Over (I Wish A Buck Was Still Silver).mp3 (5088707 bytes)...
0:00:07.45-LVL4-INDEXER-LOOP: No match (no pointer). File ID=08870711-A
0:00:07.45-LVL4-INDEXER-LOOP: ** ID3 tag found.
0:00:07.50-LVL5-GETID3FIELD: String is Unicode, Raw data: 0 41 0 72 0 65 0 20
0:00:07.50-LVL5-GETID3FIELD: Converted data: 'Are The Good Times Really Over (I Wish A Buck Was Still Silver)'

I hope this helps you find the problem, Bryce.

P.S. I did try these same files with other programs and they processed the files without error.

Title: Re: Timer Question - DB Problem - Feature Question
Post by: Chris on April 19, 2007, 05:29:36 pm
WinCab's internal string limit is set at 64 characters.  According to the log these are Unicode strings, so I'm probably not leaving enough buffer space somewhere for the Unicode end-of-string marker.
Title: Re: Timer Question - DB Problem - Feature Question
Post by: froggerman on April 26, 2007, 08:12:11 pm
Hi Chris,

I changed the tags from Unicode to ISO-8859-1. There are no problems processing the ISO-8859-1 tags.

Cheers, Bryce.
Title: Re: Timer Question - DB Problem - Feature Question
Post by: Chris on April 26, 2007, 11:07:16 pm
Thanks.  That narrows down the problem pretty well.