PDA

View Full Version : Components



vexhash
September 3rd, 2016, 08:52 AM
Components is the main reason why I use foobar2000 on pc. The ability to play non-standard audio formats and ability to choose which formats you need to play makes this player unique and preferable.
I've been using Droidsound-E on android, as it lets me play most of game consoles audio formats, but there's no such thing as "component", all plugins for playing audio formats are already preinstalled and that's why this app is somewhat heavy.
Well, that's what I'm asking for - add a component functionality for your mobile app.

kode54
September 4th, 2016, 10:42 PM
Which would preclude it from inclusion in Google Play, Windows Store, and the App Store.

All three major software distribution channels require that applications be signed by their developer, and not be user modifiable, and not support loading user supplied executable code.

While it may be possible to hide some or all "components" behind free or paid or even subscription based In App Purchases, it won't be possible to make them downloaded separate from the main application. They will have to be bundled in the app to be usable.

Unless you also propose splitting the application up into several different flavors, with or without certain components bundled into the code, and all of the different versions monetized separately from the rest, since you can't combine monetization of multiple apps into a single app umbrella, at least not to my knowledge.

Unless you suggest another plausible workaround:

Including a Javascript interpreter (because none of the app stores support dynamic recompilation, so V8 and company are straight out), and compiling all of the decoders as Javascript modules using Emscripten. Sure, they'll be terribly slow, and some may no longer run in real time, but they can be downloaded at runtime if the user purchases them! You have to be shitting me if you think for one second that this is a viable solution.

If you want a version that runs user supplied code, you'll have to look into jailbreaking your device and sideloading the app yourself, and sideloading the user modules as well.

pljones
September 5th, 2016, 01:15 AM
So does an app like Stagelight - where real-time audio processing is more important than on foobar2000 as it's a DAW - include all the in-app purchasable synths and effects when you first install it, then? (The iOS and Android versions -- the Windows version isn't available from the Windows Store, possibly because it loads third-party content - VST plugins.)

kode54
September 6th, 2016, 02:02 AM
As a DAW, one would expect it to support Core Audio components such as DSPs and MIDI synthesizers. One does not expect to be able to download an arbitrary Core Audio component installing app to, say, add Ogg Vorbis or Impulse Tracker support to said DAW if it does not already have this support built in.

Although you're welcome to ask for a MIDI player which uses Core MIDI and requires the user to buy a third party application that plays MIDI sounds in real time, outside of the control of foobar2000. Or perhaps Core Audio plugins, if there are any General MIDI apps that support that API.

pljones
September 6th, 2016, 11:46 AM
I follow your response but if the issue is simply around third party content or content not signed alongside the application being offered, I could understand that.

(I don't use the Windows Store version of the DAW application in my example (I don't have a Windows Store account) - but the Windows application does support arbitrary unsigned code in VST plugins. The DAW also has in-house add-ons which are downloaded from within the app and supported by Windows, Android and iOS.)

kode54
September 7th, 2016, 05:32 PM
These guidelines (http://stackoverflow.com/questions/12972802/appstore-ios-apps-and-interpreted-code-where-do-they-draw-the-line) must have changed since 2013, then. I can't wait for dynamically compiled code support, since that would help several plug-ins I maintain which contain ARM emulators.

EDIT: I just checked, Stagelight is available for Windows desktop and Android, and on Android, it appears to support downloadable samples and loops, but not actual code synthesizers.

pljones
September 9th, 2016, 02:46 AM
The in-app store on Android (and all platforms) offers a section called "Features". Most of the items under "Features" could not be "samples and loops" (i.e. they do need executable code). (I'm not sure if you need the minimum pay-for version to get that, though.)

Now, I don't know if these are built-in but just need buying to unlock, and that's possible. However, in "My Stuff", each has a "reload" button that triggers a "download". It tries very hard to give the impression they're not built-in.

UrQuan3
September 17th, 2016, 09:48 PM
kode54, thank you for replying and explaining what the problem is with including component capability in the mobile version. Problem is, inside the components is nearly the entire reason I care about Foobar2000. In fact, it looks like you maintain all, or nearly all, of the components I care about. Now that I understand why the developers didn't include this from the beginning, I'm going to do some research and see if I can find a reasonable solution.