| |
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 |
|
| |
redcrab
Registered: Aug 2011 Posts: 33 |
Sweet app! Finally I've got the entire HVSC in my pocket. There's room for improvements, but I guess there will be more features in the future. |
| |
Steppe
Registered: Jan 2002 Posts: 1510 |
Would be interested in a nice Android port. Using Droidsound so far, but it's got its issues (small ones), but wouldn't mind trying out another player. |
| |
SparkyNZ Account closed
Registered: Jan 2011 Posts: 34 |
Quote: Would be interested in a nice Android port. Using Droidsound so far, but it's got its issues (small ones), but wouldn't mind trying out another player.
Hi. I probably had the same issues with DroidSound that you do. I didn't get any response from the developer so decided to go ahead with my own player.
I am very keen to port GeekTunes across to Android. The only thing thats stopping me from doing so at the moment is trying to complete the next iPhone version.
I admit the iPhone version was made for me alone at first since I have an "iPod kit" in my car. Not having a remote control kit for Android in my car, I'm just a little worried about how I'd test/implement this feature. Still.. thats one of many features.
Thanks for the interest. I'll get it onto Android at some stage. |
| |
Dano
Registered: Jul 2004 Posts: 226 |
sounds sweet, will give it a try this weekend. thumbs up for importing hvsc!
is there a way to define and save playlists for later use in the car? the would be really awesome!
what sid-engine you are using for replay?
having a dension car-link in my car, too, this would make drive to work and back a little more nice..! :) |
| |
SparkyNZ Account closed
Registered: Jan 2011 Posts: 34 |
Quote: sounds sweet, will give it a try this weekend. thumbs up for importing hvsc!
is there a way to define and save playlists for later use in the car? the would be really awesome!
what sid-engine you are using for replay?
having a dension car-link in my car, too, this would make drive to work and back a little more nice..! :)
Hi. Yes you can define playlists. In fact you can even select a particular Sid artist and drop their entire tune collection into your playlist. Reyn Ouwehand, Galway and Matt Gray are all in mine.
I used ReSid - same as all the other players ;-)
You can skip back and forth through the playlists with your car remote.
Cheers
Paul |
| |
Dano
Registered: Jul 2004 Posts: 226 |
seems like i can't reach my phone via the ip you're displaying when starting the ftp server.
and why's there a port 4444 displayed when you define 7410 before?
is there a way to access my non-jailbroken iphone via wlan somehow? that 10.xxx.xxx.xxx ip it reads seems like my o2 mobile ip..
don't have my itunes here at work, so.. ^^ ;)
btw. you should put those to-download files somewhere on a decent webserver, not on mediafire. would be easier if the phone would download the needed files via a click instead of the user having to do it by hand.
if you need some webspace i could give you some megabytes on mine. :)
you could ask the hvsc guys if they may put a useable zip-file for you on their webspace..?
you could even think about social playlists for users to share their playlists for others who could then download them and use them on their phones. dk brought up this idea and i kinda like that thought. :) |
| |
SparkyNZ Account closed
Registered: Jan 2011 Posts: 34 |
Quote: seems like i can't reach my phone via the ip you're displaying when starting the ftp server.
and why's there a port 4444 displayed when you define 7410 before?
is there a way to access my non-jailbroken iphone via wlan somehow? that 10.xxx.xxx.xxx ip it reads seems like my o2 mobile ip..
don't have my itunes here at work, so.. ^^ ;)
btw. you should put those to-download files somewhere on a decent webserver, not on mediafire. would be easier if the phone would download the needed files via a click instead of the user having to do it by hand.
if you need some webspace i could give you some megabytes on mine. :)
you could ask the hvsc guys if they may put a useable zip-file for you on their webspace..?
you could even think about social playlists for users to share their playlists for others who could then download them and use them on their phones. dk brought up this idea and i kinda like that thought. :)
Hi dano. If you can't reach your phone it could be because you have 3G enabled? FTP is for Wifi but it may be getting the address from the 3G. Could be a bug. The FTP implementation is a bit flaky. As you noticed, port 7410 is ignored (I did mention this in the GeekTuned manual - it is a bug which I fixed in the v1.2 version).
I agree with your comments about the config files. Early days tho. I also worry about putting web file download into apps in case web space is changed. I can make the config address configurable but.. Being a Dad with 2 young kids and working full time.. I'm quite surprised GeekTunes got as far as it did. It is a hobby and the return will never match the time invested in it. But I will add your thoughts to my to do list.
I think the big problem with me is that I am not really web savvy. Playlists are only in the app to keep my partner happy.. And she doesn't even know what a mod or Sid file is :-)
Thanks for the purchasing the app - I'll do my best to add features over time. I'm still fighting with getting landscape working properly.. And itching to start an Android port.. And support med files.. And lha support.. And goat tracker.. And... The list just goes on and on! :-) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11130 |
Quote:I used ReSid - same as all the other players ;-)
how to get the sourcecode of your app then? (you know its GPL right?) |
| |
SparkyNZ Account closed
Registered: Jan 2011 Posts: 34 |
Quote: Quote:I used ReSid - same as all the other players ;-)
how to get the sourcecode of your app then? (you know its GPL right?)
I haven't modified the source. It just makes use of it.
Would seem a shame to pull the SID support out of the app. The player list logic is all my code. I could make the source freely available, minus my playerlist code.. ?
Keep in mind this app was written as an easier means of playing my MP3 music library by having big easy to use buttons. SID support is a nice-to-have feature since I find the other players impossible to use while driving. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11130 |
if you statically link against the resid code, then you must make the whole sourcecode available (to anyone who buys the app anyway) under a gpl compatible license. whether you modify the resid code is irrelevant. |
| |
SparkyNZ Account closed
Registered: Jan 2011 Posts: 34 |
Quote: if you statically link against the resid code, then you must make the whole sourcecode available (to anyone who buys the app anyway) under a gpl compatible license. whether you modify the resid code is irrelevant.
What if you recompile the resid code as opposed to statically linking?
Have you bought the app - are you wanting to add changes to my source yourself? |
| |
chatGPZ
Registered: Dec 2001 Posts: 11130 |
Quote:What if you recompile the resid code as opposed to statically linking?
the only way to avoid gpl infection is to link dynamically, ie when the gpl portion comes from a dynamic library that is loaded at runtime, and which can be changed by the user.
Quote:Have you bought the app - are you wanting to add changes to my source yourself?
i dont even have a mobile, so no =) but i am interested in all things that are based on code that originates from VICE, and frequently someone from the VICE team has bought such apps and requested sourcecode so we can share it. |
| |
SparkyNZ Account closed
Registered: Jan 2011 Posts: 34 |
OK, well lets take this offline and PM me if you'd like something in particular. Cheers Paul |
| |
Control
Registered: Apr 2002 Posts: 4 |
Apple does not allow dynamic linking on iOS, and by statically linking or "recompling" GPL-covered code you must essentially open source the app.
For details read the lincense itself, especially sections 5 and 6 |
| |
SparkyNZ Account closed
Registered: Jan 2011 Posts: 34 |
Quote: Apple does not allow dynamic linking on iOS, and by statically linking or "recompling" GPL-covered code you must essentially open source the app.
For details read the lincense itself, especially sections 5 and 6
Fine, I'll open source the app. |
| |
bob-uk Account closed
Registered: Sep 2005 Posts: 3 |
Quote: 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
Purchased & installed the app and added HVSC complete on there and sucessfully built the library etc.
Find the app really useful on first run. Easily able to get to the tunes I wanted. Will experiment with it further later. Good work pal. |
| |
SparkyNZ Account closed
Registered: Jan 2011 Posts: 34 |
Quote: Purchased & installed the app and added HVSC complete on there and sucessfully built the library etc.
Find the app really useful on first run. Easily able to get to the tunes I wanted. Will experiment with it further later. Good work pal.
Thanks Bob!
I should be releasing v1.2 soon so you'll be able to get a free update on the AppStore. Just adding a few more features and fixed some bugs. |
| |
SparkyNZ Account closed
Registered: Jan 2011 Posts: 34 |
Quoting danoyou could even think about social playlists for users to share their playlists for others who could then download them and use them on their phones. dk brought up this idea and i kinda like that thought. :)
Hi dano. I've been having a think about these social playlists you mentioned a few weeks ago.. I quite like the idea actually.. but not sure how keen anybody else would be for this? I've got the HVSC top 100 list which is great for a quick trip down memory lane, but it would be great for people to share their favourites out of the 45,000 or so SIDs on HVSC. I put my player on random.. I have found some gems but there are a lot to wade through.. Social playlists could be a good idea.
Anyway, I should be release v1.2 of my app soon. This does have web download of HVSC and configuration.. so hopefully is a little easier to set up.
So in the meantime.. I may consider social playlists in v1.3.. Would need more than 10 users first though. :-) |
| |
Dano
Registered: Jul 2004 Posts: 226 |
hi sparky, nice to hear about it. :)
some (annoying) problems i found as i have geektunes running in my car to and from work about every day..
1.) some tunes skip after some seconds (1-2) of playing. maybe a problem with reading songlength data?
2.) random playing sometimes stops playing after a tune. skipping/next track doesn't continue playback. have to choose a different tune and then everything goes on as normal..
3.) is there no mode to play one song after another ordered by name? so far it seems to only play random.
4.) in about every tune theres on some random time in the tune a short buzzing noise of about a second or less.
5.) in lock screen the name and author of the tune isn't displayed. yet you can skip tracks next and before and pause/play.
6.) when i disconnect headphones or remove my iphone from the (dension) dock the playback doesn't stop but continues after a second. seems like the app isn't reacting on a "disconnect" message? should definitly stop, as it's rather nervracking to unlock and stop the playback every time.
that's about all i could remember out of head here at work.
hth. |
| |
SparkyNZ Account closed
Registered: Jan 2011 Posts: 34 |
Quoting danohi sparky, nice to hear about it. :)
some (annoying) problems i found as i have geektunes running in my car to and from work about every day..
hth.
Some of your problems should have been addressed with v1.2. Points 4) and 6) won't be. I haven't had any problems relating to buzzing etc and I've been using it for weeks. I'll make a note and do some investigation regarding 6) - disconnection. If its easy enough, I'll slip it into v1.2 before submitting to Apple.
Unfortunately, no, there's no means at present of playing all SID tunes alphabetically in order. You can go int the SID list and select the first tune belonging to an artist and that will play all the tunes by that artist in alphabetical order.
I'll make a note - alphabetical mode list could be something you could perhaps control in settings. |
| |
SparkyNZ Account closed
Registered: Jan 2011 Posts: 34 |
Quoting dano6.) when i disconnect headphones or remove my iphone from the (dension) dock the playback doesn't stop but continues after a second. seems like the app isn't reacting on a "disconnect" message? should definitly stop, as it's rather nervracking to unlock and stop the playback every time.
Your wish is my command.. I've added this event handling to v1.2. Pull your headphones out and playback will stop. |
| |
Dano
Registered: Jul 2004 Posts: 226 |
1.2 was installed on my phone over night it seems.
i would cheer if the app wouldn't always crash after importing the HVSC sids into the database.. :(
tried rebooting the phone, didn't help either.
my phone is a iphone 4, running ios 7.01 or so. didn't update to the current version yet.
edit: deleted the app to completely reinstall, but the itunes store still downloads 1.1 to my phone. *sigh* let's see if it will update itself soon..
edit: deleted, re-installed the app and re-downloaded hvsc via in-app routines, now geektunes v1.2 seems to work properly. *sigh*
edit: first thing i noticed it still doesn't display the name in the lockscreen and it still doesn't react on the pause-button there. skip previous and next do work though. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11130 |
Quote:Fine, I'll open source the app.
so, how to get the source code? still no mention of GPL parts anywhere on the site either... |
| |
SparkyNZ Account closed
Registered: Jan 2011 Posts: 34 |
https://github.com/SparkyNZ/GeekTunes |
| |
chatGPZ
Registered: Dec 2001 Posts: 11130 |
thanks! |
| |
SparkyNZ Account closed
Registered: Jan 2011 Posts: 34 |
Quoting Groepazthanks!
Haven't had a chance to update my website sorry - will make a note in regard to ReSID and GPL. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11130 |
cleaned up on request by the OP. please direct offtopic babble here |
| |
SparkyNZ Account closed
Registered: Jan 2011 Posts: 34 |
Apple has told me that I need to remove SID file support. This is sad news but I will conform and do as I have been told. Other SID players such as Modiser, C64Player etc will be told to do the same thing since we are not allowed to emulate a 6510 blah blah.
I will be dropping SID support from all future iOS versions but I promise to continue supporting SID on the Android platform. I had intended adding more features to the iOS version first but now that Apple have killed off SID support, I will be porting my app to Android next before adding any additional features to the iOS version (bearing in mind that SID supports was only one feature of the player).
I am truly sorry about this but Apple is a force that will not be reckoned with. When I spoke to them on the phone they could not give me a reason why emulating an 80's processor is a problem except "It clearly states in the Developer guidelines section blah blah that you are not allowed to do this".
All I can recommend is that if you have the current 1.2 version for SID files, do not download the new version. It will disappear from the store and be replaced by an MP3/MOD only version.
Once again, I'm sorry that Apple has done this. I did point out that they themselves had already approved my SID supporting app twice - as well as other SID playing apps but all they said was that they would be tightening up on apps not adhering to guidelines in the future.
I struggle to accept that they will not allow owners of phones to install files of their own choice.. but who am I to argue.. |
| |
Mr.Ammo Account closed
Registered: Oct 2002 Posts: 228 |
You can always release a version with SID-support for jailbroken iphones and ipads. |
| |
ruk
Registered: Jan 2012 Posts: 43 |
It seems that the Frodo-based app C64 by manomio is gone too. No official word on their homepage, but I can't find it in appstore any more.
http://www.manomio.com
Direct link
http://itunes.apple.com/us/app/commodore-64/id305504539?mt=8
Are they going to enforce this on other emulation-based apps as well?
There's a ton of them for all kinds of retro systems, e.g ZX Spectrum, Amiga, Intellivision. bla blah blah
And not at least those official SEGA Megadrive games, like Golden Axe. From what I've learned those are not more than SEGA Megadrive / Genesis emulators running "roms". Wouldn't be surprised if Konami's and Namco's game collections also are emus.
Question is, are they "afraid" of emulation, since this could probably be extended to emulating for instance the Android platform, or are they concerned with the use of proprietary stuff like the C64 KERNAL and BASIC roms?
The later I can understand. But not so much pure emulation. |
| |
JackAsser
Registered: Jun 2002 Posts: 1989 |
Why not lie? "I'm not emulating the cpu but merly analysing the data and extracting notes to be played through CoreSound" |
| |
SparkyNZ Account closed
Registered: Jan 2011 Posts: 34 |
Quoting JackAsserWhy not lie? "I'm not emulating the cpu but merly analysing the data and extracting notes to be played through CoreSound"
They're not entirely stupid.. They did suggest that I could bundle up the SIDS as part of my app which was a complete contradiction. I then spoke with the HVSC guys while pondering doing so but at the end of the day Apple would just realise that they'd made a mistake in telling me to do so then tell me to remove the embdedded SIDS again. Besides.. I'm sure a load of Sid authors would be unhappy with me if I did that. Perhaps I write a tool that downloads them on a pc and converts them into a 'special' format? Nah.. I just can't be bothered with the bull. A decent Android phone and some compatible car kit will be the way I'm going. I ain't paying an Apple developer license if I can't even recover the cost of it.
I'm sure I can find a way of looking after those who have already purchased the app with SIDs in mind if they get in touch with me once the support is removed. |
| |
SparkyNZ Account closed
Registered: Jan 2011 Posts: 34 |
Quoting RukAre they going to enforce this on other emulation-based apps as well?
Yes. Any app that launches "executable code" is in breach of their "guidelines".
Quoting RukQuestion is, are they "afraid" of emulation, since this could probably be extended to emulating for instance the Android platform, or are they concerned with the use of proprietary stuff like the C64 KERNAL and BASIC roms?
The later I can understand. But not so much pure emulation.
Maybe a C64 virus could be lurking deep within a SID file :-) Really I have no idea. Maybe this is why they invented Apple TV as well - so they can control and tell you exactly what you can and cannot watch.. |
| |
JackAsser
Registered: Jun 2002 Posts: 1989 |
Oh well i know the feeling. I was unable to publish my nsf-player but that was mostly due to possible copyright infringments, which Apple is correct in. |
| |
mankeli
Registered: Oct 2010 Posts: 110 |
Does Apple have any problem about the GPL license of ReSID? |
| |
SparkyNZ Account closed
Registered: Jan 2011 Posts: 34 |
Quoting mankeliDoes Apple have any problem about the GPL license of ReSID?
Their problem concerns emulation of any form of executable file. |
| |
mankeli
Registered: Oct 2010 Posts: 110 |
Ah I missed the beginning of the conversation about GPL.
Btw, do you know how Apple noticed that you are running an emulator?
I also wonder about how do they define an "emulator". They still execute Javascript, programs generate their own shader code, monkey island ports run on Scumm, other games run script languages as well, etc.
Or was the problem exactly the fact that you can supply the executable code _yourself_? If this is the case, maybe you could make a self-contained HVSC application.
Plus: This ban is quite stupid in this case, as the "emulator" here is basically just a very specialized data compression algorithm. :-) |
| |
MagerValp
Registered: Dec 2001 Posts: 1056 |
Quoting mankeliOr was the problem exactly the fact that you can supply the executable code _yourself_?
Yes, this is the scenario that's in violation of Apple's developer guidelines. If you were to include HVSC with the application it'd be ok. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11130 |
that however raises serious doubts about javascript and html5 too ... how is that different? =) wasnt there even a VICE port based on those? =) |
| |
ruk
Registered: Jan 2012 Posts: 43 |
And Bitcoins
https://en.bitcoin.it/wiki/Script |
| |
JackAsser
Registered: Jun 2002 Posts: 1989 |
Quote: that however raises serious doubts about javascript and html5 too ... how is that different? =) wasnt there even a VICE port based on those? =)
I just say emscripten |
| |
chatGPZ
Registered: Dec 2001 Posts: 11130 |
so one could make vsid a web app and make it play sids that are pulled directly from some online repository? :) |
| |
mankeli
Registered: Oct 2010 Posts: 110 |
There's a sid player for Nokia N9 which downloads .sids from some online HVSC site and it doesn't play local sids at all. :) |
| |
JackAsser
Registered: Jun 2002 Posts: 1989 |
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: 421 |
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: 254 |
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: 1056 |
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. |