Commit Graph

36 Commits

Author SHA1 Message Date
Dominic Clark
550c7bf82e Improve use of strip command (#6505) 2022-09-06 17:25:59 +01:00
Shmuel H
ae9d619abd BuildPlugin: Always remove 'lib' suffix from the DLL name 2019-09-24 10:47:24 +03:00
Lukas W
4fd8e08f3b Rewrite CMake dependency installation
Replaces the hard-coded library paths by a method based on CMake's
GetPrerequisites module which recursively finds a binary file's linked
libraries. Advantage: Potentially works on any system without adaption as
long as CMake supports it, so it could be used to create portable Linux
packages as well. Disadvantage: "Potentially".

Co-Authored-By: Hyunjin Song <tteu.ingog@gmail.com>
2019-08-31 09:09:49 +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
Tres Finocchiaro
153f15f4b4 Add Carla support for MacOS (#4558)
Add Carla support for MacOS
2018-09-15 09:32:29 -04:00
Lukas W
47a5248d1d Linux compile fixes 2018-07-07 16:40:37 +02:00
Lukas W
966bf1c6de Use CMake GenerateExportHeader 2018-07-07 11:20:54 +02:00
Lukas W
3c6f200beb Merge branch 'stable-1.2'
# Conflicts:
#	cmake/modules/BuildPlugin.cmake
#	plugins/CMakeLists.txt
#	plugins/LadspaEffect/swh/CMakeLists.txt
#	plugins/LadspaEffect/tap/CMakeLists.txt
#	plugins/zynaddsubfx/zynaddsubfx
#	plugins/zynaddsubfx/zynaddsubfx/src/Misc/QtXmlWrapper.cpp
#	src/gui/MainWindow.cpp
2018-07-06 12:42:15 +02:00
Lukas W
d1c36d7b96 CMake: Fix errors when path contains spaces 2018-06-20 08:47:10 +02:00
Tres Finocchiaro
7f9d01e3b6 Enable auto-uploading of PRs (#4041)
Removes Qt4 from build system
Uploads PRs to transfer.sh
2017-12-23 02:23:32 -05:00
Lukas W
6224e5ed6b MSVC: Various fixes
* CMake
  * Compiler flags fixes
  * Don't strip
* Fix default template argument errors
* Fix VLAs. MSVC doesn't support C99, so Variable-Length-Arrays are not
  available. Use QVarLengthArray instead.
2017-11-22 13:49:57 +01:00
gnudles
dff76b2e83 Xpressive plugin (#3259)
* First Preview of the X-Pressive Plugin
(exprtk.hpp is not included, get it from my exprtk fork in the branch
internal_data_functions)
available keys:
f- note's frequency. available only in the output expressions
t- time in seconds. in the Waves (W1,W2,W3) it's in the range [0,1)
key- the note's keyboard key. available only in the output expressions.
v- the note's velocity (divided by 255.0 so it is in the range [0,1]).
available only in the output expressions.
rel- gives 0 while the key is holded, and 1 after the key release.
available only in the output expressions.
A1,A2,A3- general purpose knobs (you can control them with the
automations). available only in the output expressions.
W1,W2,W3- precalculated wave forms. can be also load from file. you can
use them only in the output expressions
available functions:
cent(x)- gives pow(2,x/1200)
rand()- random number generator. in range [-1,1). each call gives other
value.
randv(i)- random vector (with pseudo infinite integer cells). the values
are in range [-1,1). it's stays consistent only across the note
playback. so each note playback will get other vector (even on the same
key).
sinew- sine wave with period of 1.
saww- saw wave with period of 1.
squarew- square wave with period of 1.
trianglew- triangle wave with period of 1.
expw- exponent wave with period of 1.
expnw- another exponent wave with period of 1.
moogw- moog wave with period of 1.
moogsaww- moog-saw wave with period of 1.
you can use * % ^ / + - pow sin log pi etc.

* Xpressive Plug-In:
Added Release transition knob that control the "rel" variable. (the
duration of transit from 0 to 1)
Fixed some problems in the displays. (update display when changing
A1,A2,A3, clear display with invalid expression.

* X-Pressive Plug-In: Few more fixes
Changed the callbacks in exprfront.cpp to be templated.
Added help.
Added ExprTk.hpp.
some bug fixes (inf issues).
Added integrate function.

* Special version of ExprTk with modified license (BSL) for the LMMS project https://github.com/LMMS/lmms

* Xpressive Plug-In- fixed some building errors.
Added the "e" euler's constant.

* Xpressive Plug-In - fix mingw64 issues

* X-Pressive Plug-in:
Added "trel" (time since release) variable.
The integrate function can now have unlimited usage.
Added selective interpolation per wave.
Improved a little the random vector function.
Some other improvements, code cleaning, etc...

* Xpressive Plug-In:
move clearGraph definition into Graph.cpp.
fixed compilation errors. (oops..)

* X-Pressive plug-in: updated presets names

* X-Pressive plug-in
added semitone function, added sample-rate variable

* X-Pressive plug-in, code cleaning, changed the rendering function to
achieve performace gain.

* X-Pressive plug-in - fix the string counting function

* X-Pressive plug-in - until somebody will find a better solution,
exprtk.hpp is patched under the name exprtk.patched.hpp ...

* X-Pressive plug-in - fix compiling errors.

* X-Pressive plug-in - added patch file for exprtk.hpp,
added last function that gives last calculated samples.
moved ExprSynth to be with ExprFront for performance reasons.

* X-Pressive plugin - moved the patched file back to the source tree, added .gitignore file..

* X-Pressive plugin - fix compilation error. (isnan isinf)

* X-Pressive plugin - tried to fix embed.cpp problem,
added new variable to the parser (tempo)

* X-Pressive plugin - fixed cmake script

* X-Pressive plugin - updated the license and the diff file.

* Updates to ExprTk

* Added return statement enable/disable via parser settings

Added exprtk_disable_return_statement macro for disabling return statements and associated exceptions at the source code level.

* X-Pressive plugin - updated CMakeLists.txt to use the correct flags on each platform.
also added exprtk.hpp as a dependency for the patch command.
Updated the exprtk diff file.

* X-Pressive plugin - moved the enhanced features flag to the WIN64 installation.

* X-Pressive plugin - another fix for CMakeLists.txt

* Minor updates to ExprTk

Updated multi-sub expression operator to return final sub-expression type.
Updates to exprtk_disable_return_statement macro for disabling return statements and associated exceptions at the source code level.

* X-Pressive plug-in - added try-block around exprtk calls and enabled the
-fexceptions flag, so patch file is no longer needed.

* X-Pressive plug-in - small fix in CMakeLists.txt

* Update ExprTk to tip of branch.

* X-Pressive plugin - added graph drawing feature..

* Updating exprtk.hpp to the latest upstream version
2017-06-26 19:45:59 +02:00
Lukas W
9f905bce3e Use Qt's Resource System (2nd approach) (#1891)
* Remove bin2res, use Qt's resource system
* Use QDir search paths and QImageReader in getIconPixmap
* Don't include "embed.cpp" in plugins
* getIconPixmap: Use QPixmapCache, use QPixmap::fromImageReader
* Require CMake 2.8.9

* Fix ReverbSC embed usage
2017-03-26 22:06:43 +02:00
Javier Serrano Polo
5626a49704 Sort plug-in embedded resources (#3014) 2016-09-10 02:31:35 +00:00
Yann Collette
d3d97b3275 Change the link of carlabase to SHARED and explicitly link carlarack and carlapatchbay to carlabase. 2016-02-17 21:53:23 +01:00
tresf
a7f8251f4b Initial changes for MSYS support 2015-10-30 17:05:26 -04:00
Lukas W
2a0c08afa2 Fix windows build 2015-01-29 16:37:10 +01:00
Lukas W
4c0705359a OSX fix try #2 2015-01-15 22:23:26 +01:00
Lukas W
d4d26a6138 OSX fix 2015-01-15 21:35:46 +01:00
Lukas W
ce5398414c Clean BuildPlugin.cmake 2015-01-13 01:22:31 +01:00
Lukas W
38f544f9a0 Fix embedded resources 2015-01-11 22:59:27 +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
7f602cd6c0 Fix for #42: Make search path for plugins relative
Makes the search path that is compiled into the lmms executable relative.
2014-01-18 21:31:20 +01:00
Andrew Kelley
629c076be5 BuildPlugin.cmake: add include directory
If libraries are being used from somewhere other than
/usr/include or /usr/local/include, building plugins would fail.
Now it checks CMAKE_INSTALL_PREFIX/include.
(cherry picked from commit a86ca968b7)
2009-08-14 15:35:15 +02:00
Tobias Doerffel
ef425f4460 also search top-source dir for LMMS import library for windows builds
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1807 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-10-27 22:37:12 +00:00
Tobias Doerffel
30c7732665 various fixes for successfully building LMMS for win64
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1804 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-10-27 21:25:46 +00:00
Tobias Doerffel
8c4abb3aec added missing dependency to bin2res-target in order to build properly when using "make -jX"
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1481 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-08-23 22:22:32 +00:00
Tobias Doerffel
67095e36b2 * made cmake-files ready for NSIS-packaging
* added win-resource-object to LMMS-binary



git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1427 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-08-01 21:09:32 +00:00
Tobias Doerffel
11b85eb323 added support for building LMMS on OS X and generating a DMG-package
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1404 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-07-28 21:35:40 +00:00
Tobias Doerffel
1a2123f69d less header-dependencies and moved some type-definitions
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1373 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-07-26 19:06:58 +00:00
Tobias Doerffel
64c691af8a support for cmake < 2.4.8
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1369 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-07-23 18:45:37 +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
4db1099f7f fixed clean-target
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1359 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-07-22 21:47:31 +00:00
Tobias Doerffel
c6240956ed fixes for successfully cross-compiling
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1357 0778d3d1-df1d-0410-868b-ea421aaaa00d
2008-07-22 21:07:19 +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