I've created a branch of Modizer with my changes to make most DSF files playback at full speed on the iPhone 4. This involved adding a flag to toggle the sample rate down to 22050hz instead of 44100hz.
The flag is not hooked up in the UI, because I don't understand how I'm supposed to edit that. All of the settings views are showing up as mashed on top of one another, and if I pull them apart and add a new control it won't let me hook up an outlet to the controller for it.
I just thought I'd put a link out there, in case someone wants to look at these changes. I don't know if I'm going to try and squeeze any more performance out of it, because 22050 is fine for most cases and you can set the DSF Ratio to 1. I had wanted to more extensive DSF modifications at some point, but I'm probably not going to do those.
I was using it most of the day at work today, and noticed a bug in the current 1.5 code.
Whenever I set the DSF Ratio to 1, if I close and re-open the app the settings screen says 1 but it's actually back to the default of 15 and I need to manually switch it to something else then back to 1.
This was easy to notice because some music plays back at a slower tempo when the ratio is something higher than 1. I'm assuming the value never gets pushed back into aosdk_dsf_samplecycle_ratio when loaded. Maybe other settings have the same problem as well.
I've just updated the git repo with 1.5rc2.
It should fixed the settings issue. I wanted to add your changes but I don't see an easy way to do it from the github interface.
Could you send me your changes as a pull request ? it will be very easy for me to integrate them in the master branch.
To be honest I'm rather new to git. For pmdmini support, Misty De Meo did a fork of the master branch and send submitted her changes using pull requests. All I had to do was check that I was ok with the changes and validated them to have them integrated in the master branch.
I don't know what I'm doing either. I've used SVN for a few years, Git is new to me.
I've submitted a request for you pull the changes in. You might want to look over it and omit the files XCode changed that you don't need.
Just to note, which you'll see looking at the code, I decided to make separate 22khz versions of some of the AICA methods instead of adding several checks for the sample rate flag. I felt that it might be faster this way, so there wouldn't be overhead of checking the flag in several places. If you don't like this, it should be simple to fix.
I also disabled Thumb in the build config, because it seemed like it might be faster with it off. I haven't actually done any testing to see if it's faster though.