The pluginWidget of a VstPlugin (i.e. the VST editor) might be destroyed
outside VstPlugin's control resulting in a dangling pointer. This leads
to crashes for example when changing the model of an EffectView where a
VST plugin is attached, i.e. when re-opening a InstrumentTrackWindow of
an InstrumentTrack with a VST effect inside.
This can be fixed easily by using QPointer.
Closes#3045102.
(cherry picked from commit f4b84a6058)
When adding the new knobs for automatable parameters of ZynAddSubFX,
I forgot to include them in the save/load routines.
(cherry picked from commit 534c4debb5)
Added knobs for some MIDI controls that are recognized by ZynAddSubFX.
This allows to automate some basic parameters of ZynAddSubFX inside LMMS.
(cherry picked from commit 7a4f110af3)
* zynaddsubfx-master:
FLTK/CMakeLists.txt: fix CMAKE_MODULE_PATH, don't use 3rdparty code
ZynAddSubFX/FLTK: updated to SVN revision 7680
ZynAddSubFX: check whether QDomDocument::setContent() succeeded
ZynAddSubFX: completely reinitialize config after changing working dir
ZynAddSubFX: set working directory before setting preset directory
ZynAddSubFX/CMakeLists.txt: use global binary dir as last include dir
ZynAddSubFX/CMakeLists.txt: remove accidently added subdirectory
ZynAddSubFX: resynced with upstream (version 2.4.1)
ZynAddSubFX/FLTK: updated to SVN revision 6970
Misc: Minor changes to filter_ to reduce warnings (cherry picked from commit e2b1eb9b1077e6516c0cc4e2283e5c886bed0e58)
Cleanup: Separated Presets into Presets/PresetsArray
ZynAddSubFX: fixed commit d61283ad93
ZynAddSubFX/FLTK: updated to SVN revision 6943
small changelog fix (cherry picked from commit c8d411b5f7e7a295286c1ac2c09ae22f15a1db51)
VirKeyboard: Fixed possible segfault
small changes on Bandwidth on Reverb (cherry picked from commit d0b0a4e00a44559a4e78035fd04568bd4bab9651)
ZynAddSubFX: new QtXmlWrapper, a QtXml-based XML backend for ZASF
(cherry picked from commit 278b70384e)
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.
(cherry picked from commit 000f67d01d)
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 :-(
(cherry picked from commit 30060e41b7)
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.
(cherry picked from commit fe7486750b)
* calf-updates:
Fix incorrect plugin class (spotted by Luis Garrido).
Add windowing-based antialiasing to hard sync in Monosynth; update last stretch even if synth is idle. (cherry picked from commit d64a0487d88f6730ef90dd6d79b892ad4a114138)
(cherry picked from commit 8ef98b63db)
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.
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.
(cherry picked from commit 4393ec8281)
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.
(cherry picked from commit ace2266529)
Cross compile support for Win32 and Win64 has been unified,
simplified and adapted to the new MinGW64-based build environment.
This finally allows to produce working Win64 binaries.
(cherry picked from commit 51103bb674)
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.
(cherry picked from commit 22489ae321)
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.
(cherry picked from commit 70b80efec1)
* calf-updates:
Simplify Multiband Compressor code and fix several bugs.
Remove zombie small plugin code.
Remove small plugins together with all the supporting infrastructure.
Add Doxygen documentation for plugin_registry class.
More refactoring.
General refactoring. Start implementing external GUI.
+ LV2: add external UI header (not used for anything yet)
(cherry picked from commit ceacb484a1)
Fixed some spelling errors found by Lintian while checking the Debian
package of LMMS. Thanks to Patrick Winnertz for pointing out this issue.
(cherry picked from commit 9fd3dacb67)
* calf-updates:
CALF: resync source files due to forgotten commits
+ JACK host: implemented Save/Save as...; Open not implemented yet - who could possibly want THAT?
+ EQ: Fix adding EQ plugin using menu in calfjackhost
Some changes in style, smaller h/v-scale added
+ LADSPA: make plugin IDs unique across Calf plugins, add an install-time check
+ EQ-5: refactoring to eliminate code duplication, side effect: stereo meters
+ EQ-n: shorter names for calfjackhost and others
+ Equalizers: convert lists of per-band parameters using macros (ugly, but effective)
+ EQ-8, EQ-12: reduce copypasta by using a class template
+ Compatibility: workaround for GStreamer crash bug in Ubuntu 9.10 (thanks to Stefan Kost for diagnosing the problem and suggesting the workaround)
+ Compressor simplification, added optional audio ports
(cherry picked from commit c8a444d026)
* calf-updates:
+ Deesser: use correct threshold
+ Equalizer: remove unused variables
+ Gain reduction module: clearer authorship information
+ Framework: placeholder for waveshaper class (need it to merge further changes from Markus)
(cherry picked from commit 774bd74c77)
* calf-updates:
New widget: Tube with light and falloff
New Deesser, some minor bugs in sc-comp
Sidechain compressor bugs/settings, 3 equalizer
Minor bugs, sidechain frequency display
New FX: Sidechain compressor
New button (big mama), VU-meters with falloff and hold, bug in delay (value)
In the middle of nowhere
Fully redesigned
Sidebars, GUI layouts, black buttons again, input knob for compressor
Added 6 new LED's and peak hold function for VU-meters
meter_gain in gain_reduction module with falloff
(cherry picked from commit 083c2e1b0b)
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.
(cherry picked from commit 81cea79c38)
Up to now the MainWindow's icon was used for VST plugin GUI subwindows.
Improve this a little bit by using the VeSTige logo now.
(cherry picked from commit 5e711875f5)
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.
(cherry picked from commit bf0f0151d2)
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.
(cherry picked from commit 5f241e6374)
Commit 3c18e436cd makes it impossible to
build LMMS with embedded ZynAddSubFX if "-Wl,--as-needed" is used in
LINKER_FLAGS during the link step of RemoteZynAddSubFx:
Linking CXX executable RemoteZynAddSubFx
libZynAddSubFxCore.so: undefined reference to `fftwf_plan_r2r_1d'
libZynAddSubFxCore.so: undefined reference to `fftwf_execute'
libZynAddSubFxCore.so: undefined reference to `fftwf_destroy_plan'
This happens because fftw3f, which is a system lib, is linked to before
the ZASF core libs when linking RemoteZynAddSubFx. With "--as-needed",
correct library order matters.
(cherry picked from commit 0f28295ac7)
Added #include <pthread.h> in PADnoteParameters.h to fix windows compile error
Patch by: Tobias Doerffel
(cherry picked from commit 14d2751bed1e6bb11805bb17e4a73e622c85a4ac)
(cherry picked from commit 415a966d25)
VstPlugin creates a temporary file for exchanging data chunks of VST
plugins with the remote process. After calling QFile::write(...) data
has not neccessarily been written due to QFile's internal write buffer.
Therefore explicitely call QFile::flush() so all data is guaranteed
to be written.
Fixes problems with plugins which save small data chunks.
(cherry picked from commit 4b8ddcc14f)
LMMS' ZynAddSubFX plugin creates a temporary file for exchanging XML
data with the remote process. After calling QFile::write(...) data
has not neccessarily been written due to QFile's internal write buffer.
Therefore explicitely call QFile::flush() so all data is guaranteed
to be written.
Closes#2877916.
(cherry picked from commit 17b388d482)
Still QString::toAscii() & friends were used in several places causing
problems such as failed access to files with non-ASCII characters in
name.
Closes#2884115.
(cherry picked from commit 1633cf2593)
Updated FLTK to SVN revision 6921 of branch-1.3:
- Managing all Widget flags in a single location now (STR #2161)
- Fixed all color related call to Fl_Color type (STR #2208)
- File chooser preview now recognizes utf8 encoded
text files (STR #2218)
- Empty functions in Fluid no longer create an
implementation (STR #2259)
- Fixed Fluid dependency on X11 (STR #2261)
- Updated the bundled libpng to v1.2.40 (released Sep. 10, 2009)
- Fixed Fl_Choice contrast with light-on-dark settings (STR #2219)
- Fixed X server "lock", if a modal dialog window is opened
while a menu is active (STR #1986)
- Updated mirror sites in documentation (STR #2220)
- Setting a default font for Xft (STR #2216)
- Temporarily limited builds to 32-bit on OX S to stay
compatible to Snow Leopard
- Fixed Windows compile bug with "#define USE_COLORMAP 0"
(STR #2241)
(cherry picked from commit c734023be2)
* zynaddsubfx-master: (28 commits)
ZynAddSubFX: explicitely link RemoteZynAddSubFx.exe against Core library
Revert "ZynAddSubFX/FLTK: updated to SVN revision 6909"
Style: Restylized entire codebase
SUBnote: integrated memcpy/memset
ADnote: started to use memset/memcpy
ADnote: Documented/added const usage
OSS: Added failsafe based upon Jérémie Andréi patch
Unison improvements
Bandwidth effect on Reverb
Started to rewrite the Reverb's Bandwidth effect (based on a better idea)
ZynAddSubFX/FLTK: updated to SVN revision 6909
Merge branch 'master' into newXML
ZynAddSubFX: rebuilt UI files with non-buggy Fluid
ZynAddSubFX: rebuilt source files from UI files
Merge branch 'master' of ssh://zynaddsubfx.git.sourceforge.net/gitroot/zynaddsubfx/zynaddsubfx
Started to implement Bandwidth to the Reverb effect.
Small enhancements and bugfixes to Unison
Made unison vibratto LFO smoother
Other improvements and bugfixes on Unison.
Bugfixes
...
(cherry picked from commit fbacebca65)
ZynAddSubFX has gained some new developer power so development has been
going on well for quite a while now in their Git repo. It's time for
the first big resync so future changes can be integrated easily.
(cherry picked from commit 3c18e436cd)
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.
(cherry picked from commit 01ae99d6aa)
* calf-updates:
+ DSP primitives: fix a rather stupid bug in clamping functions
+ Monosynth: fix type bug that made it impossible to compile with g++ 4.2
+ AutoHell: update AUTHORS file
+ GUI, Multiband Compressor, Toggle button: apply more fixes and additions by Markus Schmidt
+ Multiband Compressor: better metadata
+ Multiband Compressor: new module (first version, by Markus Schmidt, based on code by me and Thor) plus associated refactoring and graph colour scheme update
(cherry picked from commit 65f6bb7135)
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.
(cherry picked from commit 68bd237061)
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.
(cherry picked from commit dd260245ec)
Source directory structure of the CALF plugin shipped with LMMS was
not equal with original one which makes cherry-picking commits from
CALF Git impossible.
(cherry picked from commit b8d339e196)
There's no need to call plugin dispatcher in hostCallback. It makes
plugins like Garritan Personal Orchestra 4 lock up. After removing
these calls the affected plugins work.
(cherry picked from commit 44e25a6ad5)