fluid-dev
[Top][All Lists]
Advanced

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

Re: [fluid-dev] Bundling ladspa.h


From: Ceresa Jean-Jacques
Subject: Re: [fluid-dev] Bundling ladspa.h
Date: Mon, 13 Nov 2017 15:03:51 +0100 (CET)

>I'm proposing to bundle the compile-time dependency (i.e. the ladspa.h header file) with FluidSynth and remove the compile-time switches and "#ifdef LADSPA" from the >codebase.

 

It would be a turn in a sad direction.

The great force of FluidSynth library is that it is made of 4 smalls modules completely independent (In short, the synthesizer, the audio driver , the sequencer, and the midifile loader). This concept is particularly well suited for embedded applications subsystems. Any developer is able to keep only the modules he need.

The great interest is to keep the synthesizer module (i.e codebase) as light and understandable as possible for developper and reviewer.  So if any application doesn't not need any LADSPA at all, that here no reason that this synthetizer module became fat (as thoses  glib shared  library became). (As an example for embedded systems the fluidsynth library  is about 188ko and its need a shared glib library of 1215ko and FluidSynyh is using only less than 5ko of code inside this stupid shared library).

 

The more FluidSynth will be independant of any others code (as possible) the more it will be easy to maintain for developer and the more it will be easy to use for end users.

So removing the Cmake options and compile-time switches  "#ifdef LADSPA" from the codebase (i.e the synthesize module) should be incoherent and inappropriate.

 

I hope for many developers that this kind of direction will never be taken.

jjc

 

 

> Message du 13/11/17 10:02
> De : "Marcus Weseloh" <address@hidden>
> A : "FluidSynth mailing list" <address@hidden>
> Copie à :
> Objet : [fluid-dev] Bundling ladspa.h
>
>
Hi all,

>
as the LADSPA subsystem has been cleaned up and has been shown to also work on WIndows, I'm proposing to bundle the compile-time dependency (i.e. the ladspa.h header file) with FluidSynth and remove the compile-time switches and "#ifdef LADSPA" from the codebase.
>

>
LADSPA isn't actively developed anymore, the header file has been unchanged for a number of years. And quite a few other open-source projects also include the LADSPA header file in their codebase, for example Ardour and Audacity do that. Bundling it and removing the #ifdefs reduce complexity, both for developers and end-users.

>
LADSPA should still stay disabled by default, in which case the performance impact of this change would be two additional (if synth->ladspa_fx != NULL) for each rendered block. And the LADSPA subsystem only allocates memory when it is enabled. It will increase the size of the library a little bit, but I don't think that is realy a problem. We add new code to FluidSynth in other places as well.

>
As I see it, the only thing that might be a problem is the dependency on gmodule. When LADSPA is always compiled it, FluidSynth requires not only glib and gthread, but also the gmodule. But as all three libs are part of the glib distribution, that doesn't seem a huge problem to me.

>
So I would really like to get your feedback on this. Is there any reason not to bundle ladspa.h and always compiling it for all platforms?

>
Cheers,

>
    Marcus



_______________________________________________
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]