Commit Graph
76 Commits
Author SHA1 Message Date
Tres Finocchiaro 0e88a27389 Add support for SDL2 (#3732) 2017-08-01 00:39:00 -04:00
Karmo Rosental dc829f48af Added support for wine-stable from WineHQ repositories. (#3708)
Added support for wine-stable from WineHQ repositories.
2017-07-19 15:46:27 -04:00
Hyunin Song cc3822141e Merge branch 'stable-1.2' into master (@liushuyu) 2017-07-15 08:08:07 +09: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
Michael Gregorius c2f26a76d4 Implement MP3 encoding support
Implement MP3 encoding support
2017-06-12 13:57:08 -04:00
tresf 7a82d5b0c6 Revert "Fix sporadic msys2 pkg-config path problems"
This reverts commit 4e76b78691.
2017-04-30 09:26:07 -07:00
tresf 4e76b78691 Fix sporadic msys2 pkg-config path problems
Closes #3492
2017-04-30 09:17:31 -07:00
Karmo Rosental 0b43741f7e Added support for official wine-devel and wine-staging packages. (#3278)
* Added support for wine-devel packages.

* Added support for wine-staging packages.

* Staging extra flags.

* Dynamic Wine branch detection (stable, devel, staging).

* Using STRING() to correct WINE_INCLUDE_DIR and WINE_LIBRARY.

* Don't override CMAKE_PREFIX_PATH.

* REPLACE outputs new variables.

* Renamed variables.
2017-04-01 12:15:23 +00: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 9543800c32 Add COPYING-CMAKE-SCRIPTS (#3445) 2017-03-20 10:35:52 -04:00
Javier Serrano Polo 5626a49704 Sort plug-in embedded resources (#3014) 2016-09-10 02:31:35 +00:00
Javier Serrano Polo 5eb0ae2d75 Implement version major.minor.release-stage.build (#3011) 2016-09-10 02:27:59 +00:00
Oskar Wallgren ba76bfe5a6 Strip prefix 'g' from the version hash (#2952) 2016-07-31 10:16:54 -04:00
Javier Serrano Polo 935100b071 Search Wine in the i386 multiarch directory 2016-07-21 02:18:52 +02:00
Javier Serrano Polo 5b2283feec Sort lists generated from globbing expressions 2016-06-07 20:15:55 +02:00
Javier Serrano Polo d599955750 Fixed MinGW pkg-config configuration 2016-05-29 03:34:29 +02:00
David Carlier 43a0718d0b Adding OpenBSD's sndio support.
Updating jackmsr's work, adding sndio cmake module.
Updating 64 bits OS arch detection (amd64).
2016-03-26 12:48:28 +00:00
David Carlier f4890ec375 Make it workable on OpenBSD
- Additional LMMS_BUILD flag.
- Disallow on plugins -Wl,-no-undefined which triggers undefined references.
- Make sure X11 headers are found.

Lib ossaudio is needed only for OpenBSD

redundant expression removal

simplify condition for detection OS 'kind'

seems the last commit brought an issue on OSx travis test ....
2016-03-25 14:44:15 +00:00
Umcaruje 1507e4b175 Merge pull request #2578 from ycollet/fix_2572
Change the link of carlabase to SHARED and explicitly link carlarack and carlapatchbay to carlabase.
2016-02-29 17:34:26 +01:00
Colin Wallace 59276a0307 Only use libc++ on APPLE; remove LMMS_BUILD_CLANG define, as it's no longer needed 2016-02-25 20:23:32 -08: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
Tres Finocchiaro 8e633df1ee Adds better versioning for non-stable builds
Allows version forcing via `cmake -DFORCE_VERSION=1.1.1-foo`
2015-10-19 11:30:22 -04:00
Ryan Schmidt 571e4fd31a Detect 32-bit/64-bit correctly based on CFLAGS
The user might invoke cmake with CFLAGS containing "-m32" or (on OS X) "-arch i386" while on a 64-bit machine to indicate that it should build for 32-bit instead.
2015-09-15 14:55:33 -04:00
Andrew Kelley f7ff96fe4f add libsoundio audio backend
This adds libsoundio (http://libsound.io/) as an available audio
backend. libsoundio supports JACK, PulseAudio, ALSA, CoreAudio,
WASAPI, and a dummy backend.
2015-09-13 16:07:10 -07:00
tresf 2035ff3e3c Initial Homebrew on OSX Lion patch 2015-08-17 12:39:41 -04:00
Lukas W f770164730 CMake: FindWine: Add aliases for finding winegcc 2015-07-06 17:40:10 +02:00
Lukas W e0f077ba02 Merge branch 'master' into cmake_dist
# Conflicts:
#	include/Plugin.h
#	src/core/Plugin.cpp
2015-03-21 11:53:00 +01:00
Augustin Cavalier 48ac1b02eb DetectMachine: de-convolute 'if' maze and add Haiku. 2015-03-05 12:39:35 -05: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
Tobias Doerffel 059ddc2875 CMake/FindWine: search for wineg++ executable
Instead of relying on wineg++ being in PATH search for it as it might
reside somewhere else.
2014-05-02 00:17:42 +02:00
Tobias Doerffel 5325e635c3 CMake/FindWine: add suffix for finding library on Debian Testing
On Debian Testing the WINE libraries reside in /usr/lib/<arch>/wine.
Therefore add according suffix to search in as well.
2014-05-01 00:41:24 +02:00
Tobias Doerffel 3f6ff1deb0 Removed libsamplerate from source tree
Drop another 3rdparty component and rely on system libraries instead.
2014-02-18 23:40:40 +01: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
Lukas W 22ca7acb81 Add FindWine module and use it in main CMakeLists.txt
Old CheckLibraryExists implementation didn't work on my system.
A find module should be better and also easier to maintain.
2014-01-15 17:17:29 +01:00
Tobias Doerffel 39f904117f DetectMachine.cmake: do not use lib64 as LIB_DIR anymore
Installing to $prefix/lib64 is not usual anymore and thus we change it here
to just install all libraries to $prefix/lib.
2014-01-12 18:20:32 +01:00
Tobias Doerffel b65cf661a2 MinGWCrossCompile.cmake: fix cross builds with recent versions of CMake
LMMS failed to build with recent versions of CMake if CMAKE_RC_COMPILER
was not set in MinGWCrossCompile.cmake. Furthermore PKG_CONFIG_FOUND
manually needs to be set to TRUE.
2011-10-22 20:40:06 +02:00
Tobias Doerffel aed2d69ff8 Build system: revised Qt4 detection for Win32/Win64 builds
I updated the MinGW cross compiling packages to come alogn with
Qt 4.7 and a revised build architecture. Qt's devel tools such as
qmake, moc & friends are now built natively and allow using them like
native Qt installations. This means there's less to hardcode in the
MinGWCrossCompile file.
2011-01-02 00:59:46 +01:00
Tobias Doerffel a38c762730 Build system: removed FindPkgConfig.cmake
Removed FindPkgConfig.cmake as it's part of all even less recent
CMake installations.
2011-01-02 00:58:25 +01:00
Tobias Doerffel 4641fcc6d3 Audio: Re-enabled PortAudio backend
The PortAudio backend lay down broken for quite a while. However as it
offers much better realtime capabilities on Windows compared to SDL, I
started to resurrect it, removed support for PortAudio < 1.9 and fixed
various bugs and crashes.
2011-01-02 00:54:43 +01: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 1513b0c437 Win32Toolchain: define CFLAGS/CXXFLAGS in top level build_mingw32 script
All flags which are used now for building Win32 version of LMMS are now
defined in the top level build_mingw32 script instead of the
Win32Toolchain cmake files.
2010-07-25 19:22:28 +02:00
Tobias Doerffel c59fe081ee Improved support for MinGW cross compile builds
Cross compile support for Win32 and Win64 has been unified,
simplified and adapted to the new MinGW64-based build environment.
This finally allows to produce working Win64 binaries.
(cherry picked from commit 51103bb674)
2010-05-17 23:43:52 +02:00
Tobias Doerffel cc821a1a03 Win32 toolchain: various fixes + march=i686
In build_mingw32 script fixed path to Win32Toolchain.cmake. In this
file set march=i686 and mtune=generic.
(cherry picked from commit c2e0cde213)
2009-12-25 00:42:08 +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