This prevents a race condition with Qt5. A foreach loop makes a copy of its
Qt container, increasing the reference count to the container's internal
data. Qt5 often asserts isDetached(), which requires the reference count to
be <= 1. This assertion fails when the foreach loop increases the reference
count at exactly the wrong moment. Using a range-based for loop prevents an
unnecessary copy from being made and ensures this race condition isn't
triggered.
The translation of the instrument plugins description does not work in Instruments pluginBrowser
Translation of the effect plugins description not showing in effects selector
Replace tabs with spaces in the fix indentation (as Tres request)
More French translations added
Remove the call to tr() inside the macro makeknob (DualFilterControlDialog.cpp) and tr() the strings before calling makeknob
Fix DualFilter description (was labeled as "A native amplifier plugin") (DualFilter.cpp)
Add French translation for the Dual filter knobs.
Move tr() out of macro's so lupdate find them for translation (extract litterals in "ts" file).
Full French translation of Monstro :-)
Make NES translatable (some tr() missing)
Remove tr() from macros (litterals not extracted by lupdate
Translate NES to French
Translate Watsyn Synth as others
Missing Q_OBJECT in DelayControlsDialog definition prevents its translation
Translate Delay plugin to French
Make EqControlsDialog translatable
Fix selected-note volume bug
Closes#2070
Fix a typo in French translation.
Add EqControlsDialog.h to the MOCFILES list in Eq CMakeLists.txt
Remove definition of slot updateVuMeters() in EqControlsDialog.h which is not implemented
The effect selection dialog now also shows the information for the native
plugins. This included name, description, author as well as the plugin
icon.
Also removed the group box with the title "Plugin description" because
it should be rather obvious to the user that further information about
the plugin is shown. This removes some clutter from the dialog.
This singleton class handles management of plugin search paths and plugin
discovery. Search paths are (if they exist):
* <lmms-exe-dir>/../lib/lmms: This is the common location on Unixoids
(Not included in Windows builds)
* <lmms-exe-dir>/plugins: For portable and Windows installations
* The path given by the compile define LMMS_PLUGIN_DIR
* Environment variable LMMS_PLUGIN_DIR if given
This commit also tweaks the build script to output built plugins to
"${CMAKE_BINARY_DIR}/plugins". This way lmms can find plugins during
development without the need to use `make install`.
Plugin::getDescriptorsOfAvailPlugins and ConfigManager::pluginDir were
removed.
LMMS now properly builds and runs with Qt5. Various deprecated functions
had to be replaced like QString::toAscii()/fromAscii(). Also occurences
of FALSE/TRUE have been replaced with false/true.
LmmsStyle now derives from QProxyStyle and sets a style instance as base
style (Plastique for Qt4, Fusion for Qt5).
MOC files are not included anymore but added as regular source files.
What's missing is support for embedding VST plugins into a subwindow
inside LMMS on Linux/X11 due to missing QX11EmbedContainer class in Qt5.
Build instructions can be found in INSTALL.Qt5
Minimum version requirement for Qt4 has been raised to 4.6.0 for best
API compatibility between Qt4 and Qt5.
Sort plugin names and make sure that effects without sub plugins (i.e.
native LMMS effects) are listed first in order to better advertise our
cool plugins.
Closes#331.
Instead of writing QVector<Plugin::Descriptor> everywhere, mix up
iterators etc. centrally define Plugin::DescriptorList and use it
everywhere.
Additionally made pointers to Plugin::Descriptor and
Plugin::Descriptor::SubPluginFeatures::Key const in various places
so we can use ConstIterator everywhere when iterating through
Plugin::DescriptorList.
(cherry picked from commit 2287eca802)
All of the GUI code of EffectSelectDialog has been replaced by an
according UI file. Also merged EffectListWidget class into
EffectSelectDialog to further simplify logic.
(cherry picked from commit cb85bfc906)
Most files and most of the core classes and their methods have been
renamed to match new coding style conventions:
391 files changed, 25400 insertions(+), 25598 deletions(-)
Furthermore splitted some files where model and view classes were
declared or implemented together in the same file.
Should be tested thoroughly as I might have missed renaming some virtual
methods or SIGNAL/SLOT parameters.
(cherry picked from commit 8c9a9dd14c)