Commit Graph

64 Commits

Author SHA1 Message Date
Mike Choi
0b39426953 VST Effects: Open each effect only once, when loaded from project file
Folowing change should ensure VST effect is opened just once, once
loaded from project file.

Double opening seems to trace back to commit 184ddc4d1c
from 2006, when this VST effect save / load feature was introduced as new.

Anyway VST effect parameters seems to load corectly in
VstEffectControls::loadSettings, from project file even without double
VST effect opening.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2013-02-09 12:35:01 +01:00
Mike Choi
7084ec0be6 VST Effects: preserve effect name after LMMS project reload
This patch will set plugin name (information which is not stored with lmms
project file) according plugin file, without *.dll, when is LMMS project
loaded from the file.

Future verion could maybe use PluginBrowser or EffectSellectDialog for the
same.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2013-02-09 12:34:53 +01:00
Mike Choi
32e9ddc6e4 VST effect control window re-design
New outlook for VST effect control window

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2013-01-23 22:45:20 +01:00
Mike Choi
1c9c76f399 VST GUI fixes, improvements
Various fixes improvements:

+ Added support for VST parameters control for windows.
+ New `Close` button for VST parameter controls.
+ Faster GUI for all instruments, effects-loading, not only VSTs,
  and both one-instrument track window mode and normal window
  mode should be supported.
+ Better integration for VST GUIs on Linux, e.g. plugin window
  should not stay always on top of other windows.
+ VST GUI overlook should remain same with different wine setups
  ( except for whole virtual desktops emulations ).
+ VST effect control window merged with VST effect editor window
  should be more easier to control.
+ Little corections at effectviews model updates of instrument
  tracks effect chains.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2013-01-16 23:52:04 +01:00
Mike Choi
b784d3daf0 VST Effects: fix for uncontrollable plugin window
Supposed fix for 3595560, see also
http://sourceforge.net/apps/phpbb/lmms/viewtopic.php?f=7&t=778
http://sourceforge.net/tracker/?func=detail&aid=3595560&group_id=105168&atid=640434

VST effects pluginWidget is not deleted, when we close General Settings of instrument track,
on which are directly attached VST effects, but only when we remove this VST effects or tracks itself.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2013-01-13 18:56:47 +01:00
Mike Choi
f4cc037321 VST Control: Right window title for parameter manual edit
When you double-click on some knob to change its VST parameter value
manually, new dialog window now has same title as what was that knobs
name. (instead of "lmms" title string)

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2013-01-06 23:01:52 +01:00
Mike Choi
5b6fa164e7 VST Automation: Filter for automated parameters
Filter to display only automated / all knobs (new button) on LMMS VST parametr control window.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2013-01-06 23:01:27 +01:00
Mike Choi
ba03b70457 State of VST controls in LMMS control wrapper is reloaded after Save/Load, from plugins state
After project save/load unsaved VST control parameters in LMMS VST control wrapper are not set to zero now, but reloaded according plugins saved state.

No need to sync values manualy again, after project save, load.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2013-01-06 23:01:13 +01:00
Mike Choi
e8bdc7b3c1 VST Automation: Sync button fix
Only not automated values are synced from VST plugin, no need to sync already automated values.

Synced values are now not trackable with undo / redo, before all changes were tracked individualy,
but user could lose ability to undo easily changes before sync buton was pressed.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2013-01-06 22:59:47 +01:00
Mike Choi
c2e9918c8a VST Automation: crash prevention
Fixed destuctors for various types of VST automation panel removal.

Automated signals correct disconection on panel removal.

When you load new VST plugin in the place of old one, while automation
is already connected and active there, this should not result in LMMS crash
or reuse of that old automation connections and automation window destructor
should not leave zombie VST plugins on application exit.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2013-01-06 22:59:40 +01:00
Tobias Doerffel
1b7ae1f7a9 RemotePlugin, VstPlugin: reorganized and partly rewrote program/preset related functions
The code for managing programs/presets of RemotePlugin instances was
very confusing, mainly within the VstPlugin and RemoteVstPlugin class.
I therefore started to reorganize and rewrite functions.
2012-11-26 19:18:07 +01:00
Tobias Doerffel
6eb708ccee VeSTige/VstEffectControlDialog: fixed spelling error
Fixed minor spelling error.
2012-02-02 20:55:38 +01:00
Tobias Doerffel
f4976adcd7 VstEffect: removed unused slot declaration
The openPlugin() slot in VstEffectControls class is not implemented,
therefore do not declare it as otherwise MOC references it.
2011-11-23 13:00:36 +01:00
quadro
d57b20ff2f LVSL: improved preset support
Fixed various bugs and crashes.
2011-11-11 23:58:37 +01:00
Tobias Doerffel
63c1928f57 LVSL: fixed Win32 and Win64 build
Some minor tweaks were neccessary in order to properly build the updated
LVSL on Win32 and Win64.
2011-10-24 23:50:38 +02:00
quadro
4d645b335d LVSL: added support for (automatable) VST controls and VST presets
LMMS VST Support Layer has been greatly advanced as it now features
(automatable) VST controls as well as support for VST presets. This
still needs some work as it crashes with various plugins (e.g. z3ta+).

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2011-10-22 20:17:58 +02:00
Tobias Doerffel
625e70d50a Build system: fixed relative linker paths warnings
Fixed the warnings about relative linker paths issued by CMake >= 2.8.
2010-12-05 23:27:55 +01:00
Tobias Doerffel
49d833c2fd VstEffectControlDialog: fixed preprocessor macro logic
Fixed preprocessor macro logic that was messed up in commit
fa9e0f762c.
(cherry picked from commit 342ea2ba05)
2010-09-02 23:48:58 +02:00
Tobias Doerffel
1bf3768c1c VstEffectControlDialog: workaround for invisible GUI on Linux
For some reaons with recent versions of Qt we can't embed the VST FX
GUI into an existing EffectControlDialog anymore. As a workaround, embed
it into a new subwindow and added an additional show/hide button.

Closes #3028717.
(cherry picked from commit fa9e0f762c)
2010-09-02 17:38:05 +02:00
Tobias Doerffel
f85898ba6e Plugins: export PluginDescriptors and lmms_plugin_main function
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.
2010-07-23 22:16:06 +02:00
Tobias Doerffel
7c16094811 Fixed spelling errors
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)
2010-01-25 23:27:43 +01:00
Tobias Doerffel
ba4296136b Plugin::Descriptor::SubPluginFeatures: made some methods const
We can safely make fillDescriptionWidget() and listSubPluginKeys()
const methods. Furthermore descriptor pointer to listSubPluginKeys()
can be const as well. Might allow more optimizations by the compiler.
(cherry picked from commit 1c76c77d22)
2009-08-29 00:02:55 +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
Tobias Doerffel
edf2d4d104 Whole code base: various cleanups, removed SINGLE_SOURCE_COMPILE relicts
* cleaned up code and improved coding style
* removed old SINGLE_SOURCE_COMPILE macro relicts
* use QString::toUtf8() instead of QString::toAscii() wherever possible

(cherry picked from commit 0bb54199b0)
2009-08-05 17:17:57 +02:00
Tobias Doerffel
9c4dc40de1 VstEffect: check whether VST effect has an editor
Depending on whether VST effect has an editor return 1 or 0 in
VstEffectControls::getControlCount(). This prevents the EffectView in
the effect rack from showing a "Controls" button and creating an empty
subwindow.
(cherry picked from commit 3a4ae3a434)
2009-05-03 15:16:59 +02:00
Tobias Doerffel
0cb99b2d67 VstEffect: set displayName property at initialization
In VstEffect constructor set the displayName property in order to make
EffectView display actual plugin name rather than just "VST Effect".
(cherry picked from commit dce6ae9a7d)
2009-03-22 15:34:54 +01:00
Tobias Doerffel
9cf48736d9 Fixed file mode for files that were executable although they shouldn't be 2009-02-27 00:25:59 +01:00
Tobias Doerffel
541d9d5ad6 fixed crash when adding VST effects
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms/stable-0.4@1962 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-12-19 16:22:10 +00:00
Tobias Doerffel
061333bb7c made building the WINE-part of VST Support Layer optional to allow packaging it in separate package (e.g. on 64 bit platforms)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1800 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-10-25 14:01:13 +00:00
Tobias Doerffel
87ee43a079 made STRINGIFY_PLUGIN_NAME from embed.h a generic macro STRINGIFY in lmms_basics.h
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1784 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-10-19 21:48:57 +00:00
Tobias Doerffel
04053f53fb improved VST GUI embedding (closes #2167745)
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1780 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-10-19 16:20:38 +00:00
Tobias Doerffel
13c00f55a1 * added missing includes to compile with GCC 4.4
* optimized various loops for getting tree-vectorized, especially with upcoming GCC 4.4



git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1733 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-10-04 14:27:55 +00:00
Tobias Doerffel
adf8aed93c removed obsolete instrument-parallelization support as this is handled much better by worker threads and adds unneccessary complexity
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1718 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-30 11:14:32 +00:00
Tobias Doerffel
5b98f07f22 rewrote VST support layer to use the new remotePlugin-framework
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1542 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-09-03 16:07:15 +00:00
Tobias Doerffel
9b47d27f56 * improved concept for file types supported by certain plugins
* various small improvements for an even better ZynAddSubFX integration



git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1520 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-08-30 00:07:02 +00:00
Tobias Doerffel
64188a9b52 use XML rather than binary blobs for saving plugin-/effect-key
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1433 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-08-04 17:59:44 +00:00
Tobias Doerffel
257e60ab37 reduced header-dependencies
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1406 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-07-28 21:39:08 +00:00
Tobias Doerffel
be0c5b9bc4 various fixes for allowing out-of-tree builds
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1363 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-07-22 23:50:59 +00:00
Tobias Doerffel
53abd65d2e initial support for mingw-cross-compiling
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1356 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-07-22 14:42:34 +00:00
Tobias Doerffel
e637495489 migrated build-system to CMAKE
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1352 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-07-22 11:36:50 +00:00
Tobias Doerffel
28c689f953 changed return-type of effectControls::getControlCount()
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1124 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-06-14 17:11:51 +00:00
Tobias Doerffel
a53256b97b shrinked file-sizes via optipng
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1019 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-05-25 10:08:53 +00:00
Tobias Doerffel
aa08d06068 * plugins and core: use new pluginPixmapLoader
* lmmsStyle-class: load stylesheet here
* comboBox/comboBoxModel: use pixmapLoader-pointers rather than QPixmap-pointers
* in plugin-descriptor, hold a pointer to pixmapLoader instead of QPixmap itself
* embed-framework: introduced pixmapLoader and pluginPixmapLoader-classes for abstracting QPixmap-instantiation - models can hold pixmapLoaders without actually instantiating a QPixmap-object and views can access the pixmap
* main-window: removed settings-menu and moved setup-dialog to edit-menu
* config-manager: removed all the obsolete first-startup-wizard-code



git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@999 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-05-20 23:41:45 +00:00
Tobias Doerffel
db789b050e * LVSL: call waitpid(...) when closing plugin - fixes zombie processes
* VST-effect: finally made VST-effect plugin work
* core: when rendering from command-line, only create a QCoreApplication - needs further work
* Singerbot: integrated patches from William Steidtmann <billstei/at/hbci/dot/com> which makes Singerbot at least compile - doesn't seem to work yet though



git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@997 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-05-19 16:15:24 +00:00
Tobias Doerffel
64a3e8c054 renamed vst_control_dialog.cpp to vst_effect_control_dialog.cpp
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@995 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-05-19 10:33:43 +00:00
Tobias Doerffel
9ddbe1ca9c renamed vst_control_dialog.h to vst_effect_control_dialog.h
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@994 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-05-19 10:33:22 +00:00
Tobias Doerffel
108f3a9a68 corrected paths / includes
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@862 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-04-01 22:30:32 +00:00
Tobias Doerffel
3e29f447a9 coding-style improvements
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms-mv@698 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-02-19 18:15:23 +00:00
Tobias Doerffel
157940921c made effect-settings load again
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms-mv@668 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-01-18 17:08:25 +00:00
Tobias Doerffel
dc5d949af4 rewrote effect-framework, changes in plugin-instantiation
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms-mv@656 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-01-06 12:47:21 +00:00