fluid-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [fluid-dev] Android Support


From: sqweek
Subject: Re: [fluid-dev] Android Support
Date: Wed, 10 Jan 2018 10:52:21 +0800

It's great that fluidsynth provides audio drivers, but for those of us who want to take care of actually playing the audio ourselves (in my case I'm mixing in other waveforms) what do you think about the idea of a "fluidsynth core" type of build config?

ie. It just builds the bits required to synthesize the sample data, and no audio drivers. Is glib still a hard dependency at that point? I feel like it removes all threading concerns- or is the synthesizer itself multithreaded? The main system-level interfacing I see remaining is reading soundfonts from disk, which standard C FILE streams should do portably. I expect I'm missing something as I don't know much about fluidsynth internals.


FWIW I wrote my own script¹ to compile a minimal fluidsynth on windows. It was so long ago I can't remember if that's because I struggled with cmake or because I chose not to install cmake (I've never had a good experience with it). And I'm biased in the sense that I'd love to see the glib dependency disappear (it's pretty annoying to build on non-linux systems! although it's only done once per platform so not a huge cost overall).

¹ http://sqweek.net/tmp/sqbuild.sh.txt

-sqweek

On 10 January 2018 at 00:08, Tom M. <address@hidden> wrote:
> I read http://fluidsynth.sourceforge.net/api/ and basically understand how to set the synthesizer up, but unfortunately I don’t have a clue what to send to fluid_synth_write_s16 if I don’t have a driver.

You would use fluid_synth_write_*() to pull synthesized audio from the synth and manually clobber that into ALSA, openSLES or whatever you use for playing audio. I do not recommend this procedure, for exactly this use-case fluidsynth provides audio drivers.

So again, I would welcome any PR or patch that adds openSLES to fluidsynth submitted by someone who has tested it (or is able to do so).

Regarding building fluidsynth on andriod: I would appreciate a solution that works with cmake, at least the wiki has some info about cross compilation if that helps:
https://github.com/FluidSynth/fluidsynth/wiki/BuildingWithCMake#cross-compilation

I'm open to any change or addition to fluidsynth's cmake build system that would make andriod builds possible or easier. However getting rid of the glib dependency and providing a custom implementation of fluid_sys.c is not an acceptable solution for upstream.

In every case: If you use fluidsynth for your proprietary [andriod|ios|...] app, make sure you respect fluidsynth's LGPL:
https://github.com/FluidSynth/fluidsynth/wiki/LicensingFAQ#ios-and-the-app-store


Tom


_______________________________________________
fluid-dev mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/fluid-dev


reply via email to

[Prev in Thread] Current Thread [Next in Thread]