| |
SparkyNZ Account closed
Registered: Jan 2011 Posts: 34 |
New iPhone SID player
Hi Guys. If anybody is interested my iPhone app for playing mods, SIDs and iPhone media library is now available.
https://itunes.apple.com/nz/app/geektunes/id715319265?mt=8
Its not meant to look pretty but its a good "one stop shop" job for me and I wanted to share it with any other Mod/Sid lovers out there.
You can put the C64Music.zip file from HVSC onto the device and it will plays SIDs from the one ZIP file.
I also have song length config files etc that I will be uploading to my site.. once I finish the manual.
https://sites.google.com/site/geektunes2/
I hope somebody finds it useful. If there's enough interest I'll go ahead and port it to Android once I'm finished adding all the features I have in the pipeline.
Cheers
Sparky |
|
... 48 posts hidden. Click here to view all posts.... |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
Quote: so one could make vsid a web app and make it play sids that are pulled directly from some online repository? :)
Well... seeing the power of emscripten I'm sure most apps can be automagically turned into web apps with some weeks of tuning. |
| |
Mr. SID
Registered: Jan 2003 Posts: 424 |
The problem here is that downloading the code from some site and emulating it is a potential vulnerability.
The scenario they want to prevent is that you (or someone else) is using a bug in the emulation code and a well prepared C64 executable to overflow a buffer and execute some native code. That would allow people to use private APIs and do all kinds of nasty stuff.
Remember, all apps are signed binaries, so injecting any native code is a big no-no and will break the security chain.
If an app uses a webview to run some Javascript, it will be executed using a "slow" Javascript VM, to prevent the same kind of problem. As an app you can't make a page executable and generate native code, so the modern Javascript JITs can't work.
I had my own app rejected for this a while ago too, but I'll release the code anyway. |
| |
ruk
Registered: Jan 2012 Posts: 43 |
Again, Bitcoin. May this be just the reason why all those Bitcoin wallet apps are getting rejected since every transaction holds a small script?
http://www.forbes.com/sites/kashmirhill/2014/02/07/bitcoin-love..
But if I understand you correctly, making for example a SID player with a bunch of SIDs embedded *will* pass Apple's dreaded app review, but *will not* if there is a download functionality? |
| |
SparkyNZ Account closed
Registered: Jan 2011 Posts: 34 |
Quoting RukAgain, Bitcoin. May this be just the reason why all those Bitcoin wallet apps are getting rejected since every transaction holds a small script?
http://www.forbes.com/sites/kashmirhill/2014/02/07/bitcoin-love..
But if I understand you correctly, making for example a SID player with a bunch of SIDs embedded *will* pass Apple's dreaded app review, but *will not* if there is a download functionality?
Ironically that's what they said. However I'm not about to upset the nice guys at HVSC and some of the Sid composers who would object. Embedding SIDS wouldn't change the fact that I would be emulating and launching up to 45,000 programs. I would say the only way around this would be to convert the output of each and every Sid into a sequential script that would be a pseudo set of Sid instructions.. Akin to a mod format that drives a ReSid chip. That way they arent "Sid files" and I'd have no 6510 processor so to speak. Tools such as Siddump could be modified to produce a raw script that I could then analyse and compress.. And you would hope that the resulting script would be smaller than an mp3 :-)
This script conversion would be done offline on a PC tho .. Not on the iPhone obviously. |
| |
Perplex
Registered: Feb 2009 Posts: 255 |
Instead of modifying siddump, how about using the output from "vsid -sounddev dump tune.sid"? It outputs lines containing just number of cycles since last write, register being written to, and value being written. Which is just what you need to make such a data format, nothing more, nothing less. (Well, apart from some way to detect when the music loops, but you can use the Songlengths.txt file in HVSC for that.)
The resulting dump file a bit smaller than a MP3 in most cases, although not that much. But it compresses very well, about 30-50KB per minute gzipped for a couple of tunes I tried. |
| |
MagerValp
Registered: Dec 2001 Posts: 1074 |
But since Apple already allows you to include the original SID files with the application, there's no need to siddump them first. |
| |
SparkyNZ Account closed
Registered: Jan 2011 Posts: 34 |
Quoting MagerValpBut since Apple already allows you to include the original SID files with the application, there's no need to siddump them first.
Just because Apple have said so doesn't mean that I can.. see above. |
| |
SparkyNZ Account closed
Registered: Jan 2011 Posts: 34 |
Quoting PerplexInstead of modifying siddump, how about using the output from "vsid -sounddev dump tune.sid"?
Thanks heaps. I may take a look at that. I'm more interested in getting an Android port done at the moment but its definitely worth considering in the future. I did get 75% through writing a SID tracker 18months or so ago so that could be the way to go. :-) |
| |
Artlace Account closed
Registered: Mar 2014 Posts: 9 |
SparkyNZ: Thanks a bunch, I just downloaded the source (after JB-ing my iWhatnot and managed to compile+install on it. Eat this, Apple.
I have some trouble with the SDKs and it crashes when trying to open a file but getting there. Thanks again!
Also Apple didn't really make me happy with these new "rules". Sorry but I don't buy this arbitrary code execution bullshit when an app can have thousands of them. |
| |
Artlace Account closed
Registered: Mar 2014 Posts: 9 |
Well I made it to produce music. With AppSync and an .ipa file I managed to install it and make iTunes believe that it's allowed to transfer files. It also rebuilt its library fine.
It plays SIDs randomly but crashes whenever I want to access any playlist. I reckon it's not a compiling issue but most likely an iOS7.x issue which Apple handled (again) gracefully. Lot of older apps do this. I managed to catch a stackdump with iPhone simulator though but it's not really helpful just yet. |
Previous - 1 | 2 | 3 | 4 | 5 | 6 - Next |