Commit Graph

38 Commits

Author SHA1 Message Date
Johannes Lorenz
52d1f5588a Remove useless include 2019-03-22 18:32:59 +01:00
Johannes Lorenz
2061d6c35f Merge branch 'master' into instr-sub-plugins 2019-03-22 10:51:23 +01:00
Johannes Lorenz
7e75a82f7e Always instantiate at least a dummy plugin 2019-03-16 22:05:46 +01:00
Johannes Lorenz
2d71d6163b Rework after code reading
* Fix possible segfault in `SubPluginFeatures::displayName`
* Minor fixes
2019-03-15 18:42:34 +01:00
Johannes Lorenz
d5dcebed83 Use QString for SubPluginFeatures' virtuals
The former virtuals returned `const char*`, which lead to invalid reads when
`LadspaSubPluginFeatures` returned pointers to temporary `QByteArray::data`.
2019-01-18 23:22:52 +01:00
Johannes Lorenz
fcd1a7ee86 Fix or remove wrong or useless debug printfs 2018-12-27 22:15:56 +01:00
Johannes Lorenz
a1b355828e Allow sub plugins for instruments aswell
* Move m_key member of Effect into Plugin
* Pass key to Instrument ctors and instantiaters
* Add pluginKeys to all plugin selector widgets, and let them pass the keys
  when instantiating the instruments; or, if the keys must be passed over
  threads, pass the keys to the Engine using `Engine::setDndPluginKey()`
* As instrument plugin libraries now also need to get their key passed, their
  second argument, which was always the same as the first, is now used to pass
  the sub plugin keys. This affects *all* instrument plugins.
* Plugin.h: Add more virtuals to `SubPluginFeatures` in order to draw logos
  and images into instrument selector widgets
* LadspaSubPluginFeatures: Implement the `displayName` virtual because the
  new behaviour to resolve displayNames is to first look at the
  SubPluginFeatures, which, without override, returns the superior plugin's
  name (Plugin.cpp)

Additional:

* PluginFactory.h: Allow setting up search paths without discovering plugins
  yet
* Plugin.h: Add full documentation (should be checked)
2018-12-27 21:24:19 +01:00
Lukas W
29f832034a Remove unused includes (#3429) 2017-03-16 11:35:18 +00:00
grejppi
9e85d7c66e update all copyright headers to the proper url (#3326) 2017-02-06 02:41:15 +02:00
Colin Wallace
1944499fa3 remove double-undercscore prefix from portName function 2015-09-05 22:00:14 -07:00
Lukas W
8b0b2df38e Fix compilation for Qt 5.0 2015-06-21 15:41:26 +02:00
Colin Wallace
860d419c14 Replace 'Engine::hasGUI()' with 'gui != nullptr' 2015-06-16 05:40:05 +00:00
Lukas W
e0f077ba02 Merge branch 'master' into cmake_dist
# Conflicts:
#	include/Plugin.h
#	src/core/Plugin.cpp
2015-03-21 11:53:00 +01:00
Lukas W
7be47230e3 Introduce PluginFactory class
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.
2015-01-29 13:48:52 +01:00
Alexandre Almeida
9e370ff121 Update Plugin.cpp 2015-01-19 23:19:18 -02:00
Amadeus Folego
edebf5d7da Refactor loading song errors notification 2015-01-13 00:18:36 -02:00
Lukas W
1ee93409d1 Move Engine' GUI code to new GuiApplication class 2014-12-17 23:25:55 +01:00
Lukas W
5f4cdac802 Merge branch 'master' into rename
Conflicts:
	src/core/Song.cpp
	src/gui/LfoControllerDialog.cpp
	src/tracks/InstrumentTrack.cpp
2014-11-26 11:45:55 +01:00
Lukas W
968909c07c Rename engine to Engine 2014-11-26 00:49:55 +01:00
Vesa
ed11ccbf50 Fix conflict 2014-11-25 21:29:00 +02:00
Vesa
eea784ce71 Merge branch 'master' of github.com:LMMS/lmms 2014-11-25 21:24:21 +02:00
Vesa
33665a2848 Merge branch 'stable-1.1'
Conflicts:
	include/Effect.h
	include/Plugin.h
2014-11-25 21:23:57 +02:00
Vesa V
435c64cc70 Merge pull request #1285 from grindhold/issue_55
Issue 55
2014-11-25 21:20:21 +02:00
Daniel Winzen
df3a03f64c Add more missing Q_OBJECT macros 2014-11-21 21:08:48 +01:00
grindhold
61a380a2d4 renamed method logError to collectErrorForUI 2014-11-21 19:02:27 +01:00
grindhold
69bf4b4a24 implemented proper behaviour for VST plugins 2014-11-20 01:47:13 +01:00
Lukas W
8e8879f735 Merge stable-1.1
Conflicts:
	include/ConfigManager.h
	include/MidiTime.h
	include/string_pair_drag.h
	src/gui/string_pair_drag.cpp
	src/gui/widgets/rubberband.cpp
2014-11-10 19:26:59 +01:00
grindhold
27a136fe03 added capability to collect multiple errormessages and display them at once 2014-11-10 10:35:07 +01:00
Umcaruje
6fb923cba2 Correct the program name and site in the descriptions. 2014-11-04 22:56:50 +01:00
Lukas W
47831c99c5 Rename ConfigManager files (2) 2014-11-02 01:08:27 +01:00
Lukas W
100a67cd3c Rename configManager to ConfigManager 2014-11-02 01:02:33 +01:00
Tobias Doerffel
feba89354b Plugin: cleanup & coding style fixes 2014-09-01 14:18:45 +02:00
Tobias Doerffel
89a363741a Plugin: use qWarning() instead of printf() 2014-09-01 14:03:51 +02:00
Tobias Doerffel
1c289b0726 Plugin: use QFileInfo::baseName() 2014-09-01 14:00:32 +02:00
Tobias Doerffel
0ff1f91c1b Mixer: renamed class and file name
The mixer class is now named "Mixer" and accessible via engine::mixer().
2014-01-08 22:35:14 +01:00
Tobias Doerffel
5ba1340ed0 Plugin: typedef DescriptorList + more const improvements
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)
2009-08-29 00:07:05 +02:00
Tobias Doerffel
f4dbb2ff5c sed: s/( void )/(), s/FALSE/false/, s/TRUE/true
Replaced remaining occurences of old constants and superfluous "void"
on empty argument list of functions.
(cherry picked from commit 166701f9f3)
2009-08-25 01:42:20 +02:00
Tobias Doerffel
1d5cb23385 File and class renames part 1
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)
2009-08-25 01:30:41 +02:00