Tuesday, September 02, 2008

mSID and the High Voltage SID Collection

The default format for running the High Voltage SID Collection (HVSC) on the device will be in a ZIP archive. The HVSC is about 65mb zip'ed up, which in turn contains a 200mb uncompressed archive, C64Music.zip. This inner archive contains over 35,000 files. It is impractical to expect that will extract on the device in a reasonable amount of time, hence the decision to stick with an archive. I will provide a re-compressed version of C64Music.zip, which you will be able to download via mSID and from then on, one should be able to download the HVSC updates direct from their site. I will also include a sqlite database of all the files, in order to improve performance for searching. I expect that long-term, the role of the database will grow to become your store of ratings, play lists, etc. Given it's sqlite, it will be open to reading and updating.

From an implementation perspective, I have pulled together the necessary code to be able to read a ZIP archive as Cocoa does not have ZIP support built in. I have built this as a .framework, and will probably open-source it at some point.

The browser will use the familiar hierarchical navigation built in to the iPhone.

13 comments:

Timothy Barrington-Smythe said...

Man, that's sounding good! Given you'll be having STIL and songlength support, I'm assuming you will of course support subtunes? There was a SID player on another platform where I got all excited, only to discover it would only play the default tune, not all the other ones.

So I guess it'd work by scanning the zip archive of files to pull the one you want?

Regardless, I am ridiculously excited and can't wait!!! Once again my offer to beta test still stands. (I have an iPod Touch).

Keep up the good work!

DnP said...

Please release it!! :)

Timothy Barrington-Smythe said...

Out of interest, what sort of time overhead is there on pulling them from the zip file over reading them natively? Because something occurred to me. Could you maybe make it so jailbroken folk could copy the files over and have them unarchived on there? Yes I know it'd take considerably more space, that's why I ask about the overhead of using the zip format.

What a year this is. Spore is out, and a SID player is coming for the iPhone/iPod Touch. What a time to be alive:)

Timothy Barrington-Smythe said...

dnp: What? You think he's done and deliberately holding it back? Give the man some space to work his mojo. I'm sure it'll be worth the wait.

Stuart said...

@Timothy,

I'll definitely be benchmarking; however, I don't expect it to be a issue, as we're dealing with files that fit in a computer with 64k of RAM. I do like your idea to still allow browsing the native file system, for someone who has jailbroken. It will have to be in the user home directory, since I'll be restricted to this with an SDK app.

I've got it working where you can suspend the phone, and it keeps playing. I know, it's a simple thing, but it took some to find how to achieve this via the SDK.

Stuart said...

...and yes, subtunes will be supported.

Anonymous said...

so?

Timothy Barrington-Smythe said...

Yes, it's been almost 3 weeks. A wee update would be nice.

Stuart said...

Indeed - I've been discussing a collaboration effort with Andreas, who is the developer of SIDPLAY 4 for the Mac. Arguably, SIDPLAY 4 is the best SID player available today, in terms of a polished user interface. It is actually the engine I was basing my work on, so a very natural fit.

Timothy Barrington-Smythe said...

Oh sweet! Sounds great.

Anonymous said...

I'm loosing my faith...

Timothy Barrington-Smythe said...

Any chance of a beta for us jailbroken folks? I am concerned this may never see the light of day.

I honestly did not expect to have to wait this long for a SID player on the iPod Touch/iPhone. (NOTE: This is not a dig at you. Merely commenting on having my device almost a year. I figured a SID player would be released by somebody very early on.)

Anonymous said...

Hey, any news. No pressure, just looking forward completing the iPhone experience.