Silence a compiler warning introduced by custom changes and fix a
possible compile failure by including another header file in a header
file that we cleared before.
Now that we're not removing the config.h-inclusions from upstream's
source files we have to provide a dummy config.h. At the same time this
allows us to move macro definitions from CMakeLists.txt to config.h.
There have been massive changes in CALF's master branch. It makes no
sense to manually cherry-pick all these commits. Therefore rebased the
CALF codebase in LMMS to the one found in CALF master branch.
Eliminated some (not all) repetition in the code. Fixed a bug where old value
for Q and separation was taken from the wrong variable. Fixed a bug where
having a band bypassed or muted caused the graph to stop redrawing properly.
(cherry picked from commit 3be583385b0bfb69bb7e52ee7426fe27d515560c)
The small plugins don't really fit into the project and should be moved somewhere
else instead. Unfortunately, I don't have enough time to do it myself, so if
anyone needs them, feel free to make a separate project out of them, or merge
them (if possible, it may be very hard) into some other small plugin library.
(cherry picked from commit e03505a778ac3b8edb7a389a11eae03cbacc79fe)
Make the result of plugin_registry::get_by_uri() const, as no external code
should modify metadata objects.
(cherry picked from commit 2f9ae953b30bc8702d302df58f0c7f1a589a15c3)
Constify metadata functions. Constify other functions that really needed
it. Make variables keeping old state mutable for now. Move filter composition
operations into biquad.h. Replace global function get_all_plugins with
a singleton class that returns the same list (as const) or a single plugin
by URI. Add a skeleton implementation of functions in lv2_external_ui
and skeleton UI related functions for external UI.
(cherry picked from commit ae7f7293961a3ea3b194b73ab35886f94e562cd7)
Probably I forgot to cherry pick one or two commits from CALF Git repo
resulting in a slight diverge of source codes. Resynced the concerned
header files. Fixes the missing Pulsator plugin.
All versions of OS X except Snow Leopard ship GCC 4.0 which does not
understand the "-finline-functions-called-once" flag. Therefore do not
use this flag when building for OS X.
This reverts commit dd260245ec.
The commit fixed the compilation problem but according to upstream
causes new problems because of the huge data structures on the stack.
Upstream provided a better patch which will be applied next.
The std::vector::data() method is a special feature of GCC and
therefore not portable. This causes a compile failure of CALF plugin
on OS X. Therefore I replaced the code with standard arrays
allocated on stack.
Upstream needs to be informed about this patch.
Thanks to Daniel Klaffenbach for pointing out this issue.