Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > CSDb Discussions > Track Times in SID files?
2011-02-17 21:33
pmprog
Account closed

Registered: Nov 2005
Posts: 54
Track Times in SID files?

I've always wondered this, but why doesn't any of the SID file formats support a track time.

A couple of extra bytes per subtune per SID wouldn't be a huge loss, and it would mean any individual player doesn't need access to the 3MB file from HVSC to correctly know when to move on to the next track.

Given the database exists, it would also be pretty easy to write a program to go through all the files in HVSC, check if they match whichever SID file format supports the tracks times, and updates them with the tune lengths from the text file.

Does that not seem a good idea?
2011-02-17 21:34
chatGPZ

Registered: Dec 2001
Posts: 11386
too easy =)
2011-02-18 00:44
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
lack of coder who spends time to make old format into modern..
2011-02-18 01:20
iAN CooG

Registered: May 2002
Posts: 3194
I don't see any major gain in having the time of every subtunes inside the sid, instead of having them in a separate file.
If a sidplayer doesn't support yet the sldb (*) it won't support for sure the new format in future. Those sidplayers that already work with the sldb txt, what actual gain would they have by ALSO being able to read that info from inside the sid?

Why not adding the STIL and BUGLIST infos too at this point?
Implementing extra information would mean to use a variable lenght header, this needs to write a whole set of new tools (our toolchain consists of 7+1 programs but all the programs are tailored for sid v2)
SIDedit.exe    : sid header editor + disassembler, made in perl2exe,
                 unmaintained. I personally don't use it but others find it handy.
siddiag.exe    : diagnostic of header/code errors, memory usage map, trims
                 unused memory at end of sid file                         
sidclean.exe   : newer cleaner also trims at start if needed. still in beta but
                 will replace siddiag and siplay2/hacked                       
sidknown.exe   : identifies duplicates by actually playing the sid and
                 generating md5 hashes from the sid usage             
sidusage.exe   : detailed usage checker, generates a map read by siderror
siderror.exe   : reads maps generated by sidusage and reports badreads/bad
                 execution etc                                            
sldetect.exe   : songleghts.txt generator, actually plays the sids to detect
                 when they loop or stop emitting sounds to determine the    
                 lenghts                                                
sldb_merge.exe : accessory to sldetect.exe, to merge partial outputs
                 eliminating dupes (so sldetect could be run on updates instead
                 of the whole hvsc)                                            
siddump.exe    : hacked to also dump the executed disassembly code mostly used
                 to compare song output of similar/equal songs but also to spot
                 execution errors                                              


who will maintain, or rewrite where needed, the new tools?


Anyway a new format will be announced shortly, I hope.
We're about to add a PSID V3 supporting 2 new fields for 2SIDs that won't leave much more space in header.
In this moment there are 60 2SIDS that needed manual hexediting to the new fields, but there aren't many other around for sure, so a specific tool to edit the extra fields is not yet needed.

(*) I can think only of sidplay2/w which I use, infact I don't have any use of the sldb, I decide what to play and how much, not counting that 90% of the times i'm not listening to sids from the actual HVSC dir but from a work dir =)
2011-02-18 01:25
chatGPZ

Registered: Dec 2001
Posts: 11386
"but there aren't many other around for sure"
until someone makes sids from all those whacky stereoplayer tunes =)
2011-02-18 01:28
iAN CooG

Registered: May 2002
Posts: 3194
if you mean CGSC stereo tunes, it won't happen.
2011-02-18 06:58
Radiant

Registered: Sep 2004
Posts: 639
Quoting iAN CooG
I don't see any major gain in having the time of every subtunes inside the sid, instead of having them in a separate file. If a sidplayer doesn't support yet the sldb (*) it won't support for sure the new format in future. Those sidplayers that already work with the sldb txt, what actual gain would they have by ALSO being able to read that info from inside the sid?

From what I've heard implementing support for Songlengths.txt is really tedious and requires lots of trial and error, though. My guess is more players would support song lengths if it became less convoluted to implement. (I know Sasq fought with getting songlength support into Droidsound for the better part of a day and almost gave up, and he's by no means a bad coder.)
2011-02-18 09:08
Frantic

Registered: Mar 2003
Posts: 1648
I agree with the initial poster...

I think duration time is a pretty central feature of some (not all) tunes, and as such it should have a pretty obvious place in the sid header. It should not be specified in seconds or such, but in number of frames since almost every sid tune out there is sync'ed to the screen.

Three cases:

- DURATION xxxx frames
- NO END
- NOT YET SPECIFIED (which of the two above)

Fix it! ;)
2011-02-18 12:35
pmprog
Account closed

Registered: Nov 2005
Posts: 54
Quote: I don't see any major gain in having the time of every subtunes inside the sid, instead of having them in a separate file.
If a sidplayer doesn't support yet the sldb (*) it won't support for sure the new format in future. Those sidplayers that already work with the sldb txt, what actual gain would they have by ALSO being able to read that info from inside the sid?

Why not adding the STIL and BUGLIST infos too at this point?
Implementing extra information would mean to use a variable lenght header, this needs to write a whole set of new tools (our toolchain consists of 7+1 programs but all the programs are tailored for sid v2)
SIDedit.exe    : sid header editor + disassembler, made in perl2exe,
                 unmaintained. I personally don't use it but others find it handy.
siddiag.exe    : diagnostic of header/code errors, memory usage map, trims
                 unused memory at end of sid file                         
sidclean.exe   : newer cleaner also trims at start if needed. still in beta but
                 will replace siddiag and siplay2/hacked                       
sidknown.exe   : identifies duplicates by actually playing the sid and
                 generating md5 hashes from the sid usage             
sidusage.exe   : detailed usage checker, generates a map read by siderror
siderror.exe   : reads maps generated by sidusage and reports badreads/bad
                 execution etc                                            
sldetect.exe   : songleghts.txt generator, actually plays the sids to detect
                 when they loop or stop emitting sounds to determine the    
                 lenghts                                                
sldb_merge.exe : accessory to sldetect.exe, to merge partial outputs
                 eliminating dupes (so sldetect could be run on updates instead
                 of the whole hvsc)                                            
siddump.exe    : hacked to also dump the executed disassembly code mostly used
                 to compare song output of similar/equal songs but also to spot
                 execution errors                                              


who will maintain, or rewrite where needed, the new tools?


Anyway a new format will be announced shortly, I hope.
We're about to add a PSID V3 supporting 2 new fields for 2SIDs that won't leave much more space in header.
In this moment there are 60 2SIDS that needed manual hexediting to the new fields, but there aren't many other around for sure, so a specific tool to edit the extra fields is not yet needed.

(*) I can think only of sidplay2/w which I use, infact I don't have any use of the sldb, I decide what to play and how much, not counting that 90% of the times i'm not listening to sids from the actual HVSC dir but from a work dir =)


What about devices like SIDStick?
http://www.gadgetgangster.com/find-a-project/56?projectnum=236

Imagine getting a portable media player that you can just copy the SID files onto, without needing the DB too

Okay, you could argue you could put it on the SD card too, but that would probably require many more cycles to seek through the DB each time, than reading the necessary value straight out of the SID you're playing

Regarding STIL and BUGLIST, they don't really affect how a track should be played (well, BUGLIST might if it was converted to some kind of "patch" system to SIDs, but then why not fix the SIDs anyway)
2011-02-18 12:44
iAN CooG

Registered: May 2002
Posts: 3194
"why not fix the SIDs anyway"
yeah sure, pick one from the buglist and fix it. Send anytime!
hint: if it's in the buglist means that no one so far was able to fix it, or it's even impossible due to missing/broken data. Good luck.
2011-02-18 12:46
chatGPZ

Registered: Dec 2001
Posts: 11386
Quote:
From what I've heard implementing support for Songlengths.txt is really tedious and requires lots of trial and error,

my favourite WTF is, that it contains the pointless md5 (wth should one do with this?) as regular data.... and the filename, which is what you really want, is only there as a comment, so everyone who uses the db ignores the md5, and then adds whacky code to seek backwards to last comment and extract the filename. awesome =) the times beeing in min:sec format and not seconds only as you most likely need in your app then is only a small annoyance. somehow looks as whoever invented this format didnt code a thing before =P
 
... 68 posts hidden. Click here to view all posts....
 
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Guests online: 97
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 No Listen  (9.6)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top Organizers
1 Burglar  (9.9)
2 Sixx  (9.8)
3 hedning  (9.7)
4 Irata  (9.7)
5 Tim  (9.7)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.056 sec.