mmitch / gbsplay

gameboy sound player

Home Page:https://mmitch.github.io/gbsplay/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

request: gbsinfo for specified subsong

y opened this issue · comments

commented

I would like to pass a track number to gbsinfo to get information only for that subsong. Mainly I want to know the duration for each subsong. I could extract each subsong as a separate audiofile to determine this, but it would be more efficient to not have to extract them if this can be determine using the header data.

Also, maybe gbsinfo should show the sum total duration of all subsongs.

commented

Effectively the header does not have length information, the only way is to actually to run the song and see if it ends in silence or loops forever.

commented

The best way to add this would be to have a database file with information about all known game music dumps.

this seems like a candidate for a backwards-compatible GBSv2. maybe past a certain point in the data (how many banks do games USE for audio?) there could be data about estimated song lengths. this data could be summed to create a total length.

commented

gbsplay actually has a spec for an extended format, see https://github.com/mmitch/gbsplay/blob/master/gbsformat.txt which includes "Length of Subsong" already.
However that requires updating the files themselves, by now I think that a hvsc-style database file is a better approach (https://hvsc.de/download/C64Music/DOCUMENTS/Songlengths.faq).

With commit 9f3e0ed we have removed the support of the extended format mentioned above. So there currently is no subsong specific information available that gbsinfo could display.

The hvsc style database would be a solution to the original request, but I think that is more of a separate general community project than a new feature to gbsplay.