Commit Graph

67 Commits

Author SHA1 Message Date
DomClark
de427bbcf8 Suspend plugin when changing sample rate/buffer size
Some plugins ignore updates to these values if they're changed while the plugin is in a "resumed" state, resulting in incorrect tuning after a change of sample rate.
2018-09-11 22:01:11 +09:00
Hyunin Song
0f3b41f590 Fix fwrite parameter ordering 2018-07-07 10:37:30 +09:00
Hyunin Song
792e4786ad Fix file name encoding issues with VST on Windows
Fix plugin loading and setting loading/saving
2018-07-05 20:16:01 +09:00
DomClark
8e9f74df37 Minor fixes
From MSDN: "In WM_SYSCOMMAND messages, the four low-order bits of the
wParam parameter are used internally by the system. To obtain the
correct result when testing the value of wParam, an application must
combine the value 0xFFF0 with the wParam value by using the bitwise AND
operator."
Also calculate the required window size using AdjustWindowRect, rather
than hard-coding some constants.
2018-05-30 09:02:05 +09:00
DomClark
fcc883f887 Preserve VST GUI positions and keep them on top 2018-05-30 09:02:05 +09:00
DomClark
ee18011dc7 Fix toggling UI for non-embedded VST effects 2018-05-30 09:02:05 +09:00
Dominic Clark
d30a22487e Don't call setParameter from audioMasterAutomate (#4279) 2018-04-03 19:08:53 +01:00
Dominic Clark
27007c258a Fix command line rendering with VSTs (#4093)
Fix command line rendering with VSTs
2018-01-26 10:48:46 -05:00
DomClark
e2c71e3369 Fix lack of sound in iZotope plugins (#4095) 2018-01-17 15:56:01 +09:00
DomClark
d0b3be7f00 Wait for reply when updating sample rate 2018-01-17 15:56:01 +09:00
DomClark
709fc7948b Set buffer size during plugin init
Fixes AmpliTube crash
2018-01-17 15:56:01 +09:00
DomClark
6e0dda692a Remove plugin lock from RemoteVstPlugin 2018-01-17 15:56:01 +09:00
Hyunin Song
463d02e299 Move SC_CLOSE handling code 2017-11-19 14:25:39 +09:00
Hyunin Song
7da7a70d60 Add Win32 embedding 2017-11-19 14:25:39 +09:00
Lukas W
6839746344 VstEmbed: Allow selecting method at runtime 2017-11-06 11:17:10 +01:00
Lukas W
df37833ca5 Merge branch 'stable-1.2' into fix/qt5-vst
# Conflicts:
#	plugins/vst_base/RemoteVstPlugin.cpp
2017-09-22 11:50:19 +02:00
DomClark
fb5a58a526 Don't use VST-provided memory when loading chunks (#3805) 2017-09-21 00:00:19 +02:00
DomClark
7429cb8155 Fix segfault on VST plugin I/O change 2017-09-08 23:14:52 +02:00
DomClark
fe98a9aa43 Fix some VST deadlocks/hangs 2017-09-08 23:14:52 +02:00
Lukas W
f7dab939ae Merge branch 'qt5-vst-2-stable' into fix/qt5-vst
# Conflicts:
#	plugins/vst_base/RemoteVstPlugin.cpp
#	plugins/vst_base/VstPlugin.cpp
2017-09-01 14:18:26 +02:00
Lukas W
f097be6c40 RemoteVst: Fix flickering when moving window 2017-09-01 12:20:20 +02:00
Lukas W
adef05fb71 X11EmbedContainer: Fix XEMBED protocol implementation 2017-09-01 12:20:20 +02:00
Javier Serrano Polo
7a9396d6ea Let Wine handle the window interface 2017-09-01 12:18:46 +02:00
Javier Serrano Polo
2d35de4182 Debug window ID 2017-09-01 12:18:46 +02:00
Javier Serrano Polo
f87f3638e1 Use window instead of embedder application 2017-09-01 12:18:46 +02:00
Javier Serrano Polo
6395cd4c41 Enable C++11 2017-09-01 12:18:46 +02:00
Javier Serrano Polo
ebe63d1425 Fixes for Windows builds 2017-09-01 12:08:48 +02:00
Javier Serrano Polo
878dd94e8d Embed in a separate window 2017-09-01 12:08:48 +02:00
grejppi
9e85d7c66e update all copyright headers to the proper url (#3326) 2017-02-06 02:41:15 +02:00
projectpitchin
604e5aeaa4 Fixed a spelling error in a debug message in RemoteVstPlugin::load. (#3279) 2017-01-20 19:15:59 -05:00
xhe
65d193ce1a Improve compatibility, avoid failing to compile (#3147)
following https://github.com/LMMS/lmms/issues/3146#issuecomment-266211689
2016-12-10 10:25:59 -05:00
Javier Serrano Polo
4b1fdc4821 Dropped VstParameterProperties
Added information related to VstTimeInfo
2016-06-09 23:53:45 +02:00
Javier Serrano Polo
252284b4b1 Pass build flags to wineg++ 2016-06-05 01:34:46 +02:00
Javier Serrano Polo
fa7d7a111a Synchronize with remote plugins using local sockets 2016-05-30 01:52:11 +02:00
Tres Finocchiaro
d89b54d768 Add CPU prioritization support for Windows 2015-01-14 14:33:21 -05:00
Umcaruje
6fb923cba2 Correct the program name and site in the descriptions. 2014-11-04 22:56:50 +01:00
Tobias Doerffel
6711f5d291 Added support for winpthreads library
Recent builds of MinGW64 runtime include the winpthreads library which
is not linked statically anymore and thus doesn't required non-portable
(de-)initialization function calls.
2014-07-06 13:52:32 +02:00
Hannu Haahti
b8476b742e RemoteVstPlugin: really close the plugin
(cherry picked from commit d50d376b2a)
2014-04-22 11:08:56 +02:00
Hannu Haahti
a34a0932d1 RemoteVstPlugin: don't mess with plugin internals 2014-02-24 00:57:03 +02:00
Hannu Haahti
1e3dcdec0d RemoteVstPlugin: close the plugin properly 2014-02-24 00:56:40 +02:00
Tobias Doerffel
5a9e0bdcef Moved VST sync functionality into new VstSyncController class
First attempt to clean up the mess in the Song class by moving the VST sync
functionality into its own class and just calling a few functions from it.
2014-02-03 20:04:57 +01:00
Tobias Doerffel
0ff636b363 RemoteVstPlugin: fixed handling of MIDI pitch bend events
Fix a regression introduced with commit 94f991848e.

Closes #172.
2014-01-30 00:00:44 +01:00
Tobias Doerffel
5d1335f390 RemoteVstPlugin: fix build failure due to out-of-bounds-array-access-warning
Newer versions of GCC seem to assume an array size of 0 for arrays whose
size is not specified explicitely. This causes a warning about an
out-of-bounds array access.
2014-01-26 10:04:03 +01:00
Tobias Doerffel
94f991848e RemoteVstPlugin: adapted MIDI changes
Fixes build failure after recent API changes.

Closes #157.
2014-01-26 01:47:29 +01:00
Tobias Doerffel
a356fadb5b RemoteVstPlugin: use intptr_t for X11 window ID 2014-01-18 02:13:37 +01:00
Mike Choi
50c2242caa VST sync patch: compatibility fix for 64bit builds
It seems 64bit builds for some reason have problems with VST Sync feature on,
workaround seems to be converting VST sync patch from double to floats,
which does work both with 32 and 64bit builds. Double precision
seems to produce odd numbers with 64bit build. (tested on VirtualBox Linux
Mint 14.1 64 bit OS)
(cherry picked from commit 011f87e6e60cccd16f3783e9c4885e03d95c1e56)

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2013-02-27 17:29:00 +01:00
Mike Choi
0ef2997ece VST to host sync
This patch should bring VST to host synchronization for LMMS.
 (e.g. for plugins like dBlue Glitch, TAL Filters).

Synchronization is done via shared memory, missing song time
positions are reccalculated and added to PPQ position sync values
(SHM - common input interface for sync of all VST plugins)
2013-02-09 12:33:22 +01:00
Mike Choi
c1a2c6b1fa VST effects: secure master channel freezing
Master channel keeps freezing, when VST effects are placed directly
into Master channels FxChain, on slower computers.

Provided solution prolongs VST initialisation phase, by waiting on two extra messages,
which usually follows initialisation and are possibly not yet implemented well.

IdSampleRateInformation,
IdBufferSizeInformation

This seems to prevent Master channel freezes e.g. on VST effects like Tiny-Q.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2013-01-23 22:46:16 +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
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