>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" 
> A : "FluidSynth mailing list" 
> 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
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