Commit Graph

26 Commits

Author SHA1 Message Date
Lukas W
748cccd266 Merge branch 'gui_application' into ed_refac
Conflicts:
	src/core/Song.cpp
	src/gui/MainWindow.cpp
2015-01-07 00:03:32 +01:00
Tres Finocchiaro
3886cd43a9 Merge pull request #1478 from curlymorphic/i856
Proposed fix for 856 Recursive VST Effect Enhancement Request
2014-12-22 00:27:57 -05:00
Dave French
cc74273f60 Proposed fix for 1049 VST knobs won't remember settings 2014-12-21 14:19:48 +00:00
Dave French
f54540dea7 856 now loads absolute and relative paths correctly 2014-12-21 10:51:11 +00:00
Dave French
0d44dc6ac5 Proposed fix for 856 Recursive VST Effect Enhancement Request 2014-12-21 03:38:11 +00:00
Lukas W
1ee93409d1 Move Engine' GUI code to new GuiApplication class 2014-12-17 23:25:55 +01:00
Lukas W
5b77abd9a5 Rename fixes 2014-11-26 01:46:12 +01:00
Lukas W
968909c07c Rename engine to Engine 2014-11-26 00:49:55 +01:00
Lukas W
7d0e3945e5 Rename song to Song 2014-11-26 00:44:41 +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
Umcaruje
6fb923cba2 Correct the program name and site in the descriptions. 2014-11-04 22:56:50 +01:00
Lukas W
f6f44d0c5c Rename ConfigManager files (3) 2014-11-02 01:26:46 +01:00
Tobias Doerffel
4cee046909 Added initial Qt5 support
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.
2014-08-14 17:34:49 +02:00
Lukas W
2e7bfe17e6 Update code to use FileInfo instead of QFileInfo
Also removed all blocks similar to
```
#if QT_VERSION >= 0x040806
	filedialog.setOption( QFileDialog::DontUseCustomDirectoryIcons );
#endif
```
as this now takes place in the new subclass's constructor.
2014-01-24 15:37:41 +01: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
7633affa20 Use new QFileDialog::DontUseCustomDirectoryIcons flag for faster file dialogs
In Qt 4.8.6 there's a new option QFileDialog::DontUseCustomDirectoryIcons
promising much better performance when there are many folders.

Closes #511.
2013-09-13 21:29:53 +02: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
3cc01560be VST Automation: lock prevention
src/core/RemotePlugin.cpp @ RemotePlugin::process

Above function should be now more thread safe, but functionality remains.
This prevent lmms locks, when automation is connected to lmms VST plugin wrappers controler / knob on Linux.
On win32 build whenever is lmms wrapper parameter controler / knob  amended.

plugins/vst_base/VstPlugin.cpp @ VstPlugin::setParam
plugins/vst_base/RemoteVstPlugin.cpp @ RemoteVstPlugin::processMessage

In above functions we dont wait for message confirmation when parameter setter function finish, and dont send such confirmations.
This workaround prevent locks on Linux, whenever there is automation connected and if you try to move with VST plugin
(not via lmms plugins wrapper, but with VSTs internal window) than it freezes, on win32 build it will freeze whenever you connect
automation and than if you move your mouse above this VST plugin window.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2013-01-06 22:57:45 +01:00
Tobias Doerffel
bdaedcdf86 VstPlugin, RemoteVstPlugin: update program name via new idle update messages
Introduced new idle update messages for exchanging data periodically but
not inferring audio processing.
2012-11-26 20:16:06 +01:00
Tobias Doerffel
0d80f0c569 VstPlugin, RemoteVstPlugin: save/restore current program of VST plugin
Not all plugins save current program in their chunk (or do not restore
it properly). We therefore have to save and restore the current program
manually.

Closes #3581879.
2012-11-26 19:30:26 +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
quadro
d57b20ff2f LVSL: improved preset support
Fixed various bugs and crashes.
2011-11-11 23:58:37 +01: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
65a0313807 Merge branch 'win64-vst'
* win64-vst:
  VST support layer: fixed non-working 64 bit VST plugins
  VST support layer: added 32 bit VST plugin support for Win64
  Win64Toolchain: added 32 bit compiler configuration
  ZynAddSubFX: use new RemotePlugin::init() method
  RemotePlugin: added support for running remote process multiple times
(cherry picked from commit 65c073ec63)
2010-12-26 11:25:54 +01:00
Tobias Doerffel
337e6f3389 VstPlugin: flush temporary data exchange file
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)
2009-10-29 23:14:56 +01: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