Commit Graph

295 Commits

Author SHA1 Message Date
Tres Finocchiaro
dc78b15a03 Add Windows JACK support (#5716)
Add Windows JACK support
Also adds JACK as a submodule
2020-10-30 16:57:20 -04:00
Johannes Lorenz
7e986a8323 Compile LMMS using C++14
This replaces `set(CMAKE_CXX_STANDARD 14)` by `set(CMAKE_CXX_STANDARD 11)`
wherever it is required. Wherever it is superseded by parental
`CMakeLists.txt`, this command is now removed.
2020-10-04 15:25:41 +02:00
Dominic Clark
5efb3a19cb Fix use of translation functions (#5629) 2020-08-30 19:27:17 +01:00
pmerry96
b0333b6281 RemoteVstPlugin32: Fix Qt version check with MSVC 2019 + Qt 5.15 (#5607) 2020-08-05 16:49:23 +09:00
Spekular
17565caf53 Improved relative paths (#5117)
* Create PathUtils

* Replace old SampleBuffer calls

* Fix automatic track names

* Fix things

* Remove accidental duplicate file

* Add includes

* More incldues

* PhysSong's code review + style

* Fix vestige loading?

Seems more reasonable to convert from relative on load and to relative on save than vice versa.

* Typo fix

* More Bases

* Enable more bases

* Add missing semicolons in prefixes

* Nicer sample track tooltip

* Use correct directories

"userXDir" gives the default dir for ladspa, sf2, and gig. "xDir" gives the user dir.

* Make relative to both default and custom locations

Part 1

* Make relative to both default and custom locations

Part 2

* Typofix

* Typofix

* Fix upgrade function after base renaming

* Fix Tests

* Update tests/src/core/RelativePathsTest.cpp

Co-Authored-By: Hyunjin Song <tteu.ingog@gmail.com>

* Choose UserXBase over DefaultXBase if identical

toShortestRelative sticks with the first base found if two bases give the same path length. By placing UserXBase Bases before DefaultXBase Bases in the relativeBases vector, toShortestRelative will prioritize them.

* Ensure baseLocation always has trailing slash

Otherwise, a user configuring a path without one will break things.

* Move loc declaration out of switch

* Semicolon

* Apply suggestions from code review...

* Include PathUtil and sort includes

* More granular includes

* Apply suggestions from code review

Co-Authored-By: Hyunjin Song <tteu.ingog@gmail.com>

* Update include/PathUtil.h

* Leave empty paths alone

* Fix stupid merge

* Really fix merge. Hopefully

* Switch Base from enum to class enum

* Don't pass Base by reference

* Use QStringLiteral for static QString allocation in basePrefix method

* Make VST loading more similar to previous implementation

* Fix tests after enum change

* Attempt to fix VST loading, nicer name for sample clips

* Fix last review comment

Don't append a "/" that will be removed by cleanPath later

* Apply suggestions from code review

Co-authored-by: Dominic Clark <mrdomclark@gmail.com>

Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>
Co-authored-by: Dominic Clark <mrdomclark@gmail.com>
2020-07-28 17:07:35 +02:00
Ibuki
1e8fcbdf2d Show VST parameter string (#5321) 2020-05-17 11:15:39 +09:00
Hyunjin Song
044c88c271 Merge branch 'stable-1.2'
# Conflicts:
#	.gitmodules
#	.travis.yml
#	.travis/linux..before_install.sh
#	.travis/linux..install.sh
#	CMakeLists.txt
#	cmake/linux/package_linux.sh.in
#	cmake/modules/BuildPlugin.cmake
#	include/AutomatableModel.h
#	plugins/MidiImport/MidiImport.cpp
#	plugins/carlapatchbay/CMakeLists.txt
#	plugins/carlarack/CMakeLists.txt
#	src/core/Song.cpp
#	src/core/Track.cpp
#	src/gui/editors/SongEditor.cpp
#	tests/src/core/AutomatableModelTest.cpp
2020-04-04 12:08:55 +09:00
Hyunjin Song
94431ea9de RemoteVstPlugin: fix issues with FXP/FXB files on Windows (#5411) 2020-03-01 12:03:49 +09:00
Dominic Clark
cf4bb7b851 Fix remote plugin crash reading parameters from Grooove plugin (#5300) 2019-11-17 16:09:48 +00:00
David CARLIER
dac59a5fa0 C++11 inheritance updates
Add `override` and remove `virtual` where applicable
2019-10-31 20:05:33 +01:00
Hyunjin Song
7ebaa0e211 Merge branch 'stable-1.2'
# Conflicts:
#	data/locale/pl.ts
#	include/SongEditor.h
#	plugins/vst_base/CMakeLists.txt
#	src/core/Song.cpp
#	src/gui/editors/SongEditor.cpp
2019-10-21 11:18:39 +09:00
Shmuel H
d005eec1aa MSVC: Move MSVC year detection to DetectMachine.cmake. 2019-10-17 03:03:26 +03:00
Hyunjin Song
95c46a805d RemoteVstPlugin: fix crashes when failed to open a file (#5235) 2019-10-15 11:18:46 +09:00
Hyunjin Song
16390f61a5 Work around a winegcc bug of Wine >= 4.14 (#5210)
See https://bugs.winehq.org/show_bug.cgi?id=47710 for details
2019-10-07 08:01:48 +09:00
Shmuel H
57a486c75d Merge pull request #5142 from Reflexe/cmake/install-refactor
Support automatic dll collection and refactor cmake installation process.
2019-09-24 11:36:24 +03:00
Shmuel H
1324cf48c1 Enable automatic dll installation for RemoteVstPlugin32
Co-Authored-By: Hyunjin Song <tteu.ingog@gmail.com>
2019-09-24 10:47:24 +03:00
Dominic Clark
91cf5bd88d Support compilation with MSVC 2019 (#5180) 2019-09-10 15:17:55 +01:00
Hussam al-Homsi
5431cc7942 Replace tLimit() with qBound() and remove templates.h (#5040)
* Replace tLimit() with qBound()

* Remove templates.h
2019-06-15 23:33:29 +03:00
Hyunjin Song
6d7ce58dec Merge branch 'stable-1.2'
# Conflicts:
#	CMakeLists.txt
#	cmake/linux/package_linux.sh.in
#	src/3rdparty/CMakeLists.txt
#	src/core/Track.cpp
#	src/gui/editors/PianoRoll.cpp
#	src/tracks/SampleTrack.cpp
2019-05-06 15:46:17 +09:00
Dominic Clark
ca9a9564cd Make more connections direct for automation (#4942) 2019-04-26 12:59:53 +01: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
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
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
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
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
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
2070ef21f5 Handle automation on processing thread (#4692) 2018-11-13 07:24:08 +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
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
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
Lukas W
7ddca851d1 VstPlugin: Fix detecting machine type with relative paths 2018-07-26 14:16:15 +02:00
Lukas W
ff1c30e35d Merge remote-tracking branch 'lukas/cleanup/qt4'
# Conflicts:
#	cmake/toolchains/common/MSYS.cmake
2018-07-17 08:52:49 +02:00
Lukas W
d42194f8e1 VstPlugin: Fix define naming conflict with MinGW 2018-07-07 17:16:08 +02:00
Lukas W
8165152552 MSVC VST compilation fixes 2018-07-07 17:16:08 +02:00
Lukas W
fe2483e309 Enable 64bit VSTs on Linux
* Remove trial-and-error approach of detecting VST's machine types. Read PE
  headers instead.
* Add RemoteVstPlugin64 to AppImage
2018-07-07 17:16:08 +02:00
justnope
f2a8f56944 MSVC fixes (#4352)
* locale: using path instead of individual files to reduce command line size
* remotevstplugin: changed order return type & calling convention (compiler error)
* lmmsobj: removed single quotes for command line defines
* added vcpkg support & std::make_unique for MSVC
* carla: include exports header
* package_linux: corrected RemoteVstPlugin name
* vstbase: toolchain file conditional on MSVC
* Added install for remotevstplugin
* msvc: installer works with vcpkg

Remotevst 64bit install removed due to an ApImage problem
2018-07-07 17:16:08 +02:00
Lukas W
20a6b96161 Fix 64bit VSTs on Linux by fixing callback calling convention 2018-07-07 17:16:08 +02:00
Lukas W
90799d91ea Mingw64 compilation fixes 2018-07-07 17:16:08 +02:00
Lukas W
48cdce9a79 Fix compilation with MinGW versions without threads support
Older versions of MinGW don't provide std::mutex or std::thread
2018-07-07 17:16:08 +02:00