A single thread version would be great for embedded applications!

Sent from my iPhone

> On Jan 13, 2016, at 9:36 AM, Element Green <elem...@elementsofsound.org> 
> wrote:
> 
> Hello Johannes,
> 
> Seeing as I'm the one responsible for converting FluidSynth over to glib in 
> the first place, I thought it is only right that I respond ;-)
> 
> Prior to FluidSynth depending on glib, there was a bit of platform support 
> code.  This code was error prone, somewhat hard to maintain, and often 
> limited supported platforms.  Leveraging off of glib meant that all of this 
> code could be removed and FluidSynth would automatically be available on any 
> platform glib supports.  So this was primarily a convenience for developers.
> 
> However, there are cases where it would be nice to not have this dependency.  
> Embedded and mobile systems use is one example in addition to the Windows use 
> case you describe.  However, from what I have gathered, there are versions of 
> glib that do support Win9x which also meet the minimum required version for 
> FluidSynth.  FluidSynth currently depends on glib 2.6.5+.  This email thread 
> (http://gtk.10911.n7.nabble.com/Last-supported-version-of-GTK-for-Win9x-ME-td57072.html)
>  suggests that glib supported win9x with versions as late as 2.6.10 at least 
> (though it is actually talking about GTK in this case - which glib is a 
> dependency of).
> 
> Having said all that, it would be nice to have the ability to build a 
> possibly stripped down version of FluidSynth which would utilize a user 
> defined compatibility layer.  I did a quick glance at the current source 
> code.  From what I an tell, the hash table code is native to FluidSynth and 
> was lifted from glib sources.  The majority of the glib subsystem use is 
> related to thread creation/management, thread locking primitives, thread 
> signaling, thread private data, and atomic data operations.  For the single 
> thread use case, a lot of this code is not needed.  Internally the FluidSynth 
> source code still has it's own compatibility layer and from what I can see 
> does not reference glib directly.  The majority of this interface is defined 
> in utils/fluid_sys.c and utils/fluid_sys.h.  Defining platform specific 
> versions of these files would provide what I think you are seeking.  A lot of 
> those primitives are fairly simple really, and could probably be easily 
> lifted from glib sources for use on a specific platform.
> 
> At any rate, seems like a good idea.  It would take a little work though.
> 
> Best regards,
> 
> Element
> 
> 
> 
>> On Wed, Jan 13, 2016 at 6:52 AM, Johannes Schickel <lordh...@gmail.com> 
>> wrote:
>> Hello,
>> 
>> first of all thank you for your awesome project!
>> 
>> I am a member of ScummVM (http://www.scummvm.org) and I am currently looking 
>> into getting our FluidSynth support a bit more up to speed (i.e. get it into 
>> more of our ports, updating to the latest version, etc). It looks like there 
>> are some obstacles for this though. The biggest one is the glib dependency. 
>> For example, modern glib versions do not support Win9x anymore (2.6.9 is the 
>> last one to support this AFAICT from: 
>> http://gtk-win.sourceforge.net/home/index.php/Main/Downloads), which is some 
>> target we still support.
>> 
>> From a quick look at FluidSynth I have the feeling libfluidsynth includes a 
>> lot of code we are not interested in for ScummVM. We are only really 
>> interested in the actual synthesizer part. I hoped this part would not 
>> depend on glib, however I found references to glib's hash table and thread 
>> code. Is there any chance for the future that FluidSynth's core synthesizer 
>> could be built standalone and without glib dependency? This would allow us 
>> to switch to a version more up to date than FluidSynth 1.0.9.
>> 
>> Thanks,
>> Johannes
>> 
>> _______________________________________________
>> fluid-dev mailing list
>> fluid-dev@nongnu.org
>> https://lists.nongnu.org/mailman/listinfo/fluid-dev
> 
> _______________________________________________
> fluid-dev mailing list
> fluid-dev@nongnu.org
> https://lists.nongnu.org/mailman/listinfo/fluid-dev
_______________________________________________
fluid-dev mailing list
fluid-dev@nongnu.org
https://lists.nongnu.org/mailman/listinfo/fluid-dev

Reply via email to