In compat code of InstrumentTrack::loadTrackSpecificSettings() also
check for nodeName being equal to ControllerConnection::classNodeName().
This avoids trying to load the non-existing instrument "connection".
In master branch this has been fixed ugly in commit 22c877d4 before,
however implement a cleaner solution which is also suitable for
backporting.
Closes#3021259.
We must not set the Qt::WA_OpaquePaintEvent attribute when using a
semitransparent background image in paintEvent(). Fixes artifacts
in EffectView's shadowed border.
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.
The SampleTrackView did not explicitely have a SampleTrack model
attached and thus trackView::modelChanged() was not called. This way
SampleTrackView's mute and solo buttons were not connected to the
according models of the SampleTrack model. Fix this by calling
setModel() in SampleTrackView::SampleTrackView() (as done in
constructors of other track types too) and overload the
SampleTrackView::modelChanged() method.
Closes#3043836.
According to http://www.ladspa.org/ladspa_sdk/shared_plugins.html,
LADSPA_PATH is supposed to be delimited by colons. This patch does so,
except on Windows. On Windows we use ';' instead of ':' since colon is
a legal character for a path.
The specializations to utilize different styles is a nice idea, but it
is hard to discover which styles a user may have installed.
Additionally, it would be impossible to override a system style. This
patch implemnts ClassicStyle as a QProxyStyle.
This additionally fixes the missing dependency on toolbar_bg. Utilize
CSS now.
Added a one-window-mode which allows to have only one instrument track
window open at a time. The content of this window is replaced each time
you open a different track.
Furthermore added global reception and forwarding of key events to the
piano widget of the top-most instrument track window. This for example
enables the user to play test sounds while tweaking some effects in a
different subwindow.
First attempts to get away from QPlastiqueStyle as the default style
and instead dynamically use an overloaded version of the native style.
Still needs lots of tuning, especially regarding colors.
The height of TextFloat objects was not sufficient e.g. when used as
tooltips for knobs (while changing their values). Fixed improper
geometry calculation and static values in TextFloat::paintEvent().
Using QVector involves calls to malloc & friends which are not RT safe
and thus must not be used in AudioJack::processCallback(). Instead
allocate the required array upon initialization.
(cherry picked from commit ae7a4e4c2f13432d39b13c25b66231bdd6a1cc65)
There's been some more code that is only required if AUDIO_PORT_SUPPORT
is set. Added according #ifdefs and fixed a typo in AudioPort support
code.
(cherry picked from commit e98726ae992c77fb2dfdb6668319b5521ff8aaef)
* remote-plugin-fixes:
RemotePlugin: sleep in waitForMessage() when actively waiting for data
RemotePlugin: better code order in sendMessage() + cleanups
RemotePlugin: coding style fixes + inline keyword reduces
RemotePlugin: smaller buffers for number to string conversions
RemotePlugin: added branch prediction hints
* 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
Fix setting CMAKE_MODULE_PATH to respect the previous content of this
variable. Furthermore do not process subdirectories with 3rdparty code
even if no libjpeg, libpng or libz was found on the target system.
Updated FLTK to SVN revision 7680 of branch-1.3:
- Fixed X11/XDBE double buffering (STR #2152, #2197)
- Added new label and image alignments (STR #2269)
- Added documentation for event delivery (STR #1983)
- Fixed menu and tooltip window animation bug under X11 (compiz)
by setting an appropriate window type (STR #2082)
- redesigned CMake files (STR #2317).
- Fixed max. fd calculation, if USE_POLL is enabled (STR #2324)
- Fixed clipping for offscreen rendering (OSX, STR #2330)
- Added printing support (Fl_Printer class and friends) for native
printing on Windows and Mac OS X, PostScript printing on X11
with CUPS or lp, and PostScript file output on all platforms
- Added basic Fl_Device abstraction layer for all drawing functions
- Fixed possibility of wrong flags() in Fl_Window::iconlabel()
(STR #2161)
- Fixed Scrollbar events when max is less than min (STR #2283)
- Added argument-less constructor in Fuid Widget Class
- Fixed menu item counting issue in Fluid (STR #2322)
- Added Fl_Menu_::find_item by callback
- Removed redundant Fl_Group casts
- Added indexing to Fl_Preferences
- Integrated default menu into Demo test app
- Added automated Xcode IDE file generation to Fluid
- Fixed lost top item in Fluid's tree browser (STR #2233)
- Fixed crash in test/Editor when freeing buffer
too soon (STR #2294)
- Fixed Fl_Preferences Cygwin wide character bug (STR #2164)
- Fixed sorting in Fl_Browser - last item would not
be sorted (STR #2300)
- Fixed window levels in OS X Cocoa (STR #2316)
- Added jpeg support to Fluid image() element
- Added loading jpeg images from memory
- Added binary data type to Fluid
- File chosser preview would hang if a device was choosen
- Replaced _WIN32 symbols that had come with UTF-8 and the
new Fl_Table widget with WIN32
- Fixed a buffer overflow in fl_utf8from_mb() (STR #2279)
- Fixed a Windows GDI leak when testing alpha blending capabilities
- Fixed a name conflict with new (VS 2008 Express) winsock2.h
versions and another conflict that produced compile errors
with VS 2008 Express (STR #2301)
- Widgets now remove stale entries from the default callback
queue when they are deleted (STR #2302)
- Moved OS X code base to the more moder Cocoa toolkit thanks
to the awesome work of Manolo Gouy (STR #2221)
- Added template to generate new projects with Xcode.
- New widgets: Fl_Tree, Fl_Table, Fl_Native_File_Chooser
- added Fl_Menu_ methods: insert(), find_index(), clear_submenu()
- Bug reports/enhancements now refer to the STR form http://www.fltk.org/str.php
After updating some external libraries, libFLAC-8.dll is now required
as well, so install it into the win32 package.
(cherry picked from commit e8c8054535)
When saving settings in ZynAddSubFxInstrument::saveSettings() check
whether the call to QDomDocument::setContent() succeeded. Otherwise
LMMS crashes when calling QDomDocument::importNode() later due to a bug
in QtXml.
Fixes crash in the unlikely situation that transmission of XML data from
the ZynAddSubFX plugin to LMMS somehow failed.
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.
Printing error messages using fprintf() does not help much with
RemotePlugins as their stdout/stderr usually is not redirected to the
parent process. Instead use the debugMessage() function.
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.
We must not have any file called config.h in directories which are added
to global include directories. For example when building the CALF plugin
the file config.h from libsamplerate was used rather than CALF's local
one. Fixes missing LADSPA symbols in CALF library if no usable
libsamplerate was found in the system at configure time.
Also bumped version number in src_config.h.
When calling TrackContentObject::paste(), only the content should be
pasted, not the position. This fixes pasting for example note patterns
and is also a more generic solution for the bug fixed in commit
4ec5c6afe1.
Closes#3005649.