Custom changes made to the config after first initialization got lost
after setting work directory. Therefore moved custom initialization into
a separate function which is called after setting work directory.
The local binary directory should be more prioritized regarding
file inclusions. Otherwise for example the global embedded_resources.h
gets included instead of the plugin-specific one.
On non-Linux platforms configuration file was saved in the application
path which definitely is not desired and also will not work in many
situations. Therefore always save ZynAddSubFX configuration file in
LMMS working directory.
Added a window icon to ZynAddSubFX windows for better appearance.
This is currently only possible for the win32 version a lot more hacks
are required to achieve this for X as well :-(
It's now possible to hide the ZynAddSubFX UI by simply closing its main
window instead of going back to LMMS and toggle the "Show UI" button.
Furthermore moved code for GUI thread into a non-static member function
of RemoteZynAddSubFx and removed the old code for handling IdHideUI
messages.
Various plugins were missing the PLUGIN_EXPORT declaration with their
PluginDescriptor instantiations and lmms_plugin_main implementation
which made some plugins not show up with latest Win32 build.
(cherry picked from commit f85898ba6e)
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.
The global channel link checkbox did not work as expected as of the
M/V-split during 0.3.x -> 0.4.x development. Connected the slot
responsible for updating individual ports after toggling checkbox and
fixed the logic behind.
Closes#2964800.
The per-note-panning support is broken (not sure whether this is a bug
in FluidSynth or our code) and leads to improperly panned sounds all
the time - even with all notes being panned to center. Thus disable it
until we have a proper fix for it.
There's currently no need for analyzing the sound data if
SpectrumAnalyzer's view is not visible. This saves some CPU time
if SpectrumAnalyzer's view is not shown.
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.
In Base64::decode() we mess around with pointers so it's more type-safe
to realize everything as a template function. This also silences compiler
warning about dereferencing type-punned pointer in Vibed plugin.
Updated FLTK to SVN revision 6970 of branch-1.3:
- Added Josef Vitu to CREDITS.
- Moved OS X code base to the more moder Cocoa toolkit thanks to the awesome work of Manolo Gouy (STR #2221). This is a big one! I tested all test applications under 32-bit autoconf and Xcode, and a few apps under 64bit intel. No PPC testing was done. Please verify this patch if you have the machine!
- Some fixes for the Cocoa port
- Xcode project was not building Cocoa code!
- Removed typedef that simply renamed char* to Fl_String, as discussed in the mailing list.
- Checked in SebHoll's API mods, fixed indents.
o Added user_data() to Fl_Tree_Item
o Added insert() and add() methods that allow specification of Fl_Tree_Prefs
o Changed Fl_Pixmap args to Fl_Image for more flexibility
o Fixes for positioning of items in the presence of user icons
o find_children() changed from protected -> public
- Small fixed to SebHoll's user_data() mods (init + copy ctor),
- Fumbeling about at the Cocoa implementation.
- Fix for Mac's "ALT" key symbol: saucepan right side up, pancake not on floor.
- Sorted Xcode source files (somewhat). Added Manolos patches to fix the Sys_Menu widget pointer.
- Patced antialised fonts for Cocoa builds
- Applied patch from dec 10th. It does not solve the problem that the About dialog drops behind the Sudoku window though...
- Applied the 'recap.zip' files to the Cocoa patch. About diaog now correct. Much other stuff should work better now. Exciting!
- New patches appliet for Cocoa port. Fixed(?) STR 2232 workaround for X11 keyrepeat bbbbuuuuuuggggg.
- Added Manolo Gouy to CREDITS for his great work on porting FLTK 1.3 on Mac OS X to Cocoa. (Also fixed some space/tab inconsistencies).
- Re-indented src/Fl_Input.cxx
- Trying to fix update rectangles and dnd in Cocoa. Currently, invalidating a rectangle does not work. This can be seen when dragging data within an application, for example.
-Separated the Presets into two classes to reduce the g++ warnings about
discarded arguments
-Note: looking at these classes, they need a bit more work to have them fit
one good abstraction
(cherry picked from commit 92c2a9016f1663d0ad48dac081f277baaed37701)
As of Stk 4.4 all classes and types have been moved to the namespace "stk".
This breaks build of the Mallets plugin. This can be easily fixed by
using the namespace "stk". For compatibility reasons we have to declare
the namespace before, because it did not exist in previous versions.
Closes#2870878.
It's not a good idea to allocate the buffer for VST chunk data on the
stack as chunks might become quite big (several megabytes) and thus
could cause a stack overflow. Fix this by using new/delete.