Commit Graph

2082 Commits

Author SHA1 Message Date
Hyunjin Song
4dce466873 Remove some Qt4 compatibility code 2019-03-27 07:05:38 +09:00
Hyunjin Song
7984bb9db6 Merge branch 'stable-1.2'
# Conflicts:
#	.travis.yml
#	.travis/linux..script.sh
#	.travis/linux.win.download.sh
#	.travis/linux.win32.script.sh
#	.travis/linux.win64.script.sh
#	.travis/osx..script.sh
#	include/VstSyncController.h
#	plugins/audio_file_processor/audio_file_processor.cpp
#	plugins/zynaddsubfx/zynaddsubfx
#	plugins/zynaddsubfx/zynaddsubfx/src/Misc/Bank.cpp
#	plugins/zynaddsubfx/zynaddsubfx/src/Misc/Bank.h
#	src/gui/SetupDialog.cpp
#	src/gui/editors/SongEditor.cpp
2019-03-26 09:53:33 +09:00
Johannes Lorenz
2061d6c35f Merge branch 'master' into instr-sub-plugins 2019-03-22 10:51:23 +01:00
Tres Finocchiaro
ea5cbe6789 Allow new Zyn bank creation on Linux (#4905)
Allow new Zyn bank creation on Linux
Closes #4642
2019-03-18 12:41:01 -04:00
tresf
79524168b3 Bump zyn submodule
Per #4642
2019-03-18 12:37:07 -04:00
Martin Pavelek
0c3db1045c Fix Blackman-Harris window formula (#4895)
Adds missing parentheses
2019-03-17 23:00:47 +09:00
Johannes Lorenz
4129be873e Add explenation for LadspaControls::m_noLink 2019-03-17 11:22:05 +01:00
Dominic Clark
205b57531d Don't show error when loading empty VeSTige instance 2019-03-14 09:44:48 +09:00
Dominic Clark
6fef905dfe Ensure VST windows show properly in taskbar 2019-03-14 09:44:48 +09:00
Dominic Clark
17f6235500 Add VST always-on-top config option 2019-03-14 09:44:48 +09:00
tresf
97d5529c18 Fix compilation on Qt4 2019-03-12 00:25:17 -04:00
Johannes Lorenz
37290ace1d Add info about LadspaControls::m_noLink 2019-03-11 23:03:43 +01:00
tresf
04768ee3e1 Fix zyn pitch on project load/export
Closes #3451
2019-03-11 14:24:12 -04:00
Hyunjin Song
ae4e40de97 Modify VST build systems to make debian integration work correctly 2019-03-11 16:20:42 +09:00
Hyunjin Song
8c4514ff20 Check if winegcc works before building RemoteVstPlugin 2019-03-11 16:20:42 +09:00
Michael Gregorius
2a72808095 Fix #3926: QCursor in AFP
Fix a crash that occurred on the following steps:
1. Add an AFP track.
2. Open it, and move the waveform display to overlap the track label
button.
3. Close the AFP window and open it again by clicking the track label.
4. Move the mouse pointer.

The problem occurs because the code makes the implicit assumption that
AudioFileProcessorWaveView::enterEvent (and hence
QApplication::setOverrideCursor) is called before
AudioFileProcessorWaveView::mouseMoveEvent. This is not the case when
the waveform display is on top of the track label. In this case the AFP
windows is opened with the mouse being immediately positioned over the
wave form display. There is no enter event and move events are issues
directly. This then leads to a crash in
AudioFileProcessorWaveView::mouseMoveEvent when trying to determine the
value for is_size_cursor because the override cursor is still null but
is dereferenced directly without checking.

Only adding a check would not solve the problem because in that case the
cursor would not change to the hand cursor when being moved inside the
waveform display.

The solution is to remove all calls to the global methods
setOverrideCursor and restoreOverrideCursor and to only set the cursor
locally.

This fix is based on a patch by gi0e5b06 which is committed under 8a10c52
in his repository but for which he never created a pull request.
2019-03-10 10:33:48 +01:00
Hyunjin Song
9148ce1b6f Fix loading 32bit VSTs when loading LMMS in the build directory
Fix another regression in #4797
2019-03-10 17:27:57 +09:00
Hyunjin Song
9ea2611fa7 Fix loading 32bit VSTs on Linux
Fix a regression in #4797
2019-03-09 20:47:30 +09:00
justnope
6b19455875 Install 32-bit RemoteVstPlugin to a separate directory (#4797) 2019-03-07 19:55:12 +09:00
Alexandre Almeida
009a451d0b Fix AudioFileProcessor tooltip (#4868) 2019-03-05 16:36:01 -05:00
Hyunjin Song
231a8407e8 Merge branch 'stable-1.2'
# Conflicts:
#	.travis.yml
#	.travis/linux..script.sh
#	.travis/linux.win32.script.sh
#	.travis/linux.win64.script.sh
#	.travis/osx..install.sh
#	.travis/osx..script.sh
#	data/locale/en.ts
#	data/locale/id.ts
#	include/Graph.h
#	include/VstSyncController.h
#	include/lmms_math.h
#	plugins/vst_base/RemoteVstPlugin.cpp
#	src/core/RemotePlugin.cpp
#	src/core/Song.cpp
#	src/core/Track.cpp
#	src/gui/SubWindow.cpp
#	src/gui/widgets/Graph.cpp
2019-02-24 20:45:52 +09:00
Douglas
8d707df171 Fix Bitinvader waveform cutoff behavior 2019-02-15 11:31:01 +09:00
Hyunjin Song
c1ae1ed5f4 MIDI import/export: map note volume and MIDI velocity with their full range (#4785)
* MIDI export: map volume to MIDI velocity correctly

* MIDI import: map MIDI velocity to note volume with full range
2019-01-21 18:49:25 +01:00
Dominic Clark
1faaf008c8 Don't memcpy null pointer 2019-01-19 16:29:15 +00:00
Dominic Clark
79374b3a0f Link RemoteZynAddSubFx with -mwindows 2019-01-19 16:29:15 +00: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
Douglas
1404b723b5 Initialize peak controller last sample with base value fix (Stable 1.2) (#4699) 2019-01-16 19:59:40 +00:00
Lukas W
a0ace860f4 MSVC: Fix SID (#4505)
Use the provided working buffer instead of a local one to avoid use of VLA
2019-01-06 19:27:58 -05:00
Johannes Lorenz
aa0ce7fc54 Improve CALF's CMakelists
Let CALF's CMakelists apply the name filter only on the basenames of the
files, but not on their directories. This prevents errors if the LMMS folder
is under a directory which contains, e.g., "lv2".
2018-12-28 16:02:40 +01:00
Johannes Lorenz
f3b23830fb Fix missing IntrumentTrack header 2018-12-27 22:37:34 +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
Dominic Clark
614bca7f04 Make ppqPos in VST sync sample accurate 2018-12-08 00:30:45 +01:00
Dominic Clark
3a94ed3f3f Fix occasional Sinnah hang 2018-12-08 00:30:45 +01:00
Dominic Clark
277e8b6444 Don't create MDI subwindow for VSTi without GUI 2018-12-08 00:30:45 +01:00
Dominic Clark
2070ef21f5 Handle automation on processing thread (#4692) 2018-11-13 07:24:08 +09:00
Hyunjin Song
4252f755c2 Merge branch 'stable-1.2'
# Conflicts:
#	cmake/nsis/CMakeLists.txt
#	src/core/ProjectRenderer.cpp
#	src/tracks/Pattern.cpp
2018-10-29 16:20:58 +09:00
Hyunjin Song
1f7cd3ed5a Allow building SF2 player with FluidSynth 2.x (#4678)
Resolves the incompatibility between FluidSynth 1.x and 2.x
due to some API changes by shimming some functions.

Note that 1.x and 2.x are not binary compatible.
2018-10-28 10:31:33 +09:00
Hyunjin Song
222b28a71e Add '-Wno-misleading-indentation' only for GCC >= 6 2018-09-21 10:33:33 +09:00
Hyunjin Song
9fe74c2730 Specify infinte timeout in tryLock on export
Ensures remote plugins always process sound on export.
Follow-up of 408b72c798.
2018-09-19 19:52:08 +09:00
Hyunjin Song
78142cee3d Update ZynAddSubFX submodule 2018-09-18 09:56:09 +09:00
Hyunjin Song
4069aaada2 Merge branch 'stable-1.2'
# Conflicts:
#	.travis/osx..install.sh
#	CMakeLists.txt
#	cmake/apple/install_apple.sh.in
#	doc/lmms.1
#	include/VstSyncController.h
#	plugins/carlabase/carla.h
#	plugins/vestige/vestige.cpp
#	plugins/vst_base/CMakeLists.txt
#	plugins/vst_base/RemoteVstPlugin.cpp
#	plugins/vst_base/Win64/CMakeLists.txt
#	plugins/zynaddsubfx/zynaddsubfx
#	plugins/zynaddsubfx/zynaddsubfx/src/Misc/QtXmlWrapper.cpp
#	src/core/Song.cpp
#	src/core/main.cpp
2018-09-18 09:54:38 +09:00
Karmo Rosental
dd7b0865fb Update UI 60 times per second (#4570)
* Update UI 60 times per second

* Adjust falloff values
2018-09-17 23:49:25 +09:00
Tres Finocchiaro
153f15f4b4 Add Carla support for MacOS (#4558)
Add Carla support for MacOS
2018-09-15 09:32:29 -04:00
Hyunjin Song
f37ca49e6d Fix decimal separator handling (#4547)
Makes LMMS can handle both periods and commas properly when loading real numbers.
2018-09-12 11:02:40 +09:00
Dominic Clark
c3db486be0 Set VST program first when restoring settings
Fixes a bug where some VSTs (e.g. Temper) would have their settings reset on project load, due to using programs as presets.
2018-09-11 22:01:11 +09:00
justnope
4c7c68f45a Initialise OLE in RemoteVstPlugin
Some plugins don't initialise it themselves, expecting it already to be
done for them, and so are liable to hang without it (e.g. TX16Wx).

Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>
Co-authored-by: Dominic Clark <mrdomclark@gmail.com>
2018-09-11 22:01:11 +09:00
DomClark
0ad8527ff7 Link RemoteVstPlugin with -mwindows
Stops each remote plugin process spawning a console host, and seems more in line with what other hosts do.
2018-09-11 22:01:11 +09:00
DomClark
53dadd5735 Fix VST windows resizing a little incorrectly
This was fixed for setting the initial size of the window in 8e9f74d, but I missed the resizing case.
2018-09-11 22:01:11 +09:00
DomClark
2c5cda563b Fix kVstTransportChanged flag usage in VST sync
Changed according to feedback from AudioBlast. The flag used to be set most of the time, now it is only set when playback starts/stops, looping is toggled, or playback jumps around.
2018-09-11 22:01:11 +09:00
DomClark
cc2ae66540 Fix hang when updateInOutCount called from processReplacing
Ignore requests to change the I/O count from within processReplacing and print a warning instead; the shared memory is in use so it can't be reallocated. Add a special case to return immediately if the I/O count hasn't changed at all; this will prevent spurious warnings when the plugin is only updating the latency and should reduce unnecessary reallocations in general.
2018-09-11 22:01:11 +09:00