Skip to content

Commit 9df27e9

Browse files
committed
Merge branch 'master' into refac/memory
2 parents 846ca17 + 28ee260 commit 9df27e9

File tree

566 files changed

+18781
-29281
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

566 files changed

+18781
-29281
lines changed

.appveyor.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@ environment:
88
matrix:
99
- compiler: msvc
1010
install:
11-
- vcpkg install --triplet %PLATFORM%-windows --recurse fftw3 libsamplerate libsndfile sdl2
11+
- cd C:\Tools\vcpkg
12+
- git pull
13+
- .\bootstrap-vcpkg.bat
14+
- cd %APPVEYOR_BUILD_FOLDER%
15+
- vcpkg install --triplet %PLATFORM%-windows --recurse fftw3 libsamplerate libsndfile lilv lv2 sdl2
1216
- nuget install clcache -Version 4.1.0
1317
build_script:
1418
- cd %APPVEYOR_BUILD_FOLDER%

.circleci/config.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ jobs:
170170
environment:
171171
<<: *common_environment
172172
macos:
173-
xcode: "9.3.1"
173+
xcode: "10.3.0"
174174
steps:
175175
- checkout
176176
- *init
@@ -179,9 +179,9 @@ jobs:
179179
- run:
180180
name: Install Homebrew dependencies
181181
command: |
182-
# unlink Homebrew's python 2 to prevent an node-gyp error
183-
brew unlink python@2 || true
184-
brew update && brew install ccache fftw cmake pkg-config libogg libvorbis lame libsndfile libsamplerate jack sdl libgig libsoundio stk fluid-synth portaudio fltk qt5 carla
182+
# uninstall Homebrew's python 2 to prevent errors on brew install
183+
brew uninstall python@2 || true
184+
brew update && brew install ccache fftw cmake pkg-config libogg libvorbis lame libsndfile libsamplerate jack sdl libgig libsoundio lilv lv2 stk fluid-synth portaudio fltk qt5 carla
185185
- run:
186186
name: Install nodejs dependencies
187187
command: npm install -g appdmg

.gitmodules

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
url = https://github.com/Lukas-W/qt5-x11embed.git
44
[submodule "src/3rdparty/rpmalloc/rpmalloc"]
55
path = src/3rdparty/rpmalloc/rpmalloc
6-
url = https://github.com/rampantpixels/rpmalloc.git
6+
url = https://github.com/mjansson/rpmalloc.git
77
[submodule "plugins/zynaddsubfx/zynaddsubfx"]
88
path = plugins/zynaddsubfx/zynaddsubfx
99
url = https://github.com/lmms/zynaddsubfx.git
@@ -43,3 +43,12 @@
4343
[submodule "plugins/carlabase/carla"]
4444
path = plugins/carlabase/carla
4545
url = https://github.com/falktx/carla
46+
[submodule "plugins/sid/resid"]
47+
path = plugins/Sid/resid
48+
url = https://github.com/simonowen/resid
49+
[submodule "src/3rdparty/jack2"]
50+
path = src/3rdparty/jack2
51+
url = https://github.com/jackaudio/jack2
52+
[submodule "plugins/LadspaEffect/cmt/cmt"]
53+
path = plugins/LadspaEffect/cmt/cmt
54+
url = https://github.com/lmms/cmt

.travis.yml

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ matrix:
2222
git:
2323
depth: false
2424
- os: osx
25-
osx_image: xcode9.4
25+
osx_image: xcode10.3
2626
before_install:
2727
# appdmg doesn't work with old Node.js
2828
- if [ "$TRAVIS_OS_NAME" = osx ]; then nvm install 10; fi
@@ -31,17 +31,3 @@ script: ${TRAVIS_BUILD_DIR}/.travis/script.sh
3131
after_script: ${TRAVIS_BUILD_DIR}/.travis/after_script.sh
3232
before_deploy:
3333
- if [ "$TARGET_OS" != debian-sid ]; then make package; fi
34-
deploy:
35-
provider: releases
36-
api_key:
37-
secure: d4a+x4Gugpss7JK2DcHjyBZDmEFFh4iVfKDfITSD50T6Mc6At4LMgojvEu+6qT6IyOY2vm3UVT6fhyeuWDTRDwW9tfFlaHVA0h8aTRD+eAXOA7pQ8rEMwQO3+WCKuKTfEqUkpL4wxhww8dpkv54tqeIs0S4TBqz9tk8UhzU7XbE=
38-
file_glob: true
39-
file:
40-
- lmms-${TRAVIS_TAG:1}-$TARGET_OS.exe
41-
- /var/cache/pbuilder/result/lmms_*.tar.xz
42-
skip_cleanup: true
43-
on:
44-
tags: true
45-
all_branches: true
46-
condition: '"$TARGET_DEPLOY" = True'
47-
repo: LMMS/lmms

.travis/linux..install.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,11 @@ SWH_PACKAGES="perl libxml2-utils libxml-perl liblist-moreutils-perl"
1313
# VST dependencies
1414
VST_PACKAGES="wine-dev qt59x11extras qtbase5-private-dev libxcb-util0-dev libxcb-keysyms1-dev"
1515

16+
# LV2 dependencies; libsuil-dev is not required
17+
LV2_PACKAGES="lv2-dev liblilv-dev"
18+
1619
# Help with unmet dependencies
17-
PACKAGES="$PACKAGES $SWH_PACKAGES $VST_PACKAGES libjack-jackd2-0"
20+
PACKAGES="$PACKAGES $SWH_PACKAGES $VST_PACKAGES $LV2_PACKAGES libjack-jackd2-0"
1821

1922
# shellcheck disable=SC2086
2023
sudo apt-get install -y $PACKAGES

.travis/osx..install.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
set -e
44

5-
PACKAGES="cmake pkg-config libogg libvorbis lame libsndfile libsamplerate jack sdl libgig libsoundio stk fluid-synth portaudio node fltk qt carla"
5+
PACKAGES="cmake pkg-config libogg libvorbis lame libsndfile libsamplerate lilv lv2 jack sdl libgig libsoundio stk fluid-synth portaudio node fltk qt carla"
66

77
if "${TRAVIS}"; then
88
PACKAGES="$PACKAGES ccache"

.travis/script.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ if [ "$TYPE" = 'style' ]; then
1313

1414
else
1515

16-
export CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=RelWithDebInfo"
16+
export CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUNDLE_QT_TRANSLATIONS=ON"
1717

1818
if [ -z "$TRAVIS_TAG" ]; then
1919
export CMAKE_FLAGS="$CMAKE_FLAGS -DUSE_CCACHE=ON"

CMakeLists.txt

Lines changed: 84 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ IF(COMMAND CMAKE_POLICY)
1818
CMAKE_POLICY(SET CMP0057 NEW)
1919
ENDIF(COMMAND CMAKE_POLICY)
2020

21+
22+
# Import of windows.h breaks min()/max()
23+
ADD_DEFINITIONS(-DNOMINMAX)
24+
2125
INCLUDE(PluginList)
2226
INCLUDE(CheckSubmodules)
2327
INCLUDE(AddFileDependencies)
@@ -27,24 +31,24 @@ INCLUDE(GenerateExportHeader)
2731

2832
STRING(TOUPPER "${CMAKE_PROJECT_NAME}" PROJECT_NAME_UCASE)
2933

30-
SET(PROJECT_YEAR 2019)
34+
SET(PROJECT_YEAR 2020)
3135

3236
SET(PROJECT_AUTHOR "LMMS Developers")
3337
SET(PROJECT_URL "https://lmms.io")
3438
SET(PROJECT_EMAIL "[email protected]")
3539
SET(PROJECT_DESCRIPTION "${PROJECT_NAME_UCASE} - Free music production software")
3640
SET(PROJECT_COPYRIGHT "2008-${PROJECT_YEAR} ${PROJECT_AUTHOR}")
3741
SET(VERSION_MAJOR "1")
38-
SET(VERSION_MINOR "2")
39-
SET(VERSION_RELEASE "1")
40-
SET(VERSION_STAGE "")
41-
SET(VERSION_BUILD "0")
42+
SET(VERSION_MINOR "3")
43+
SET(VERSION_RELEASE "0")
44+
SET(VERSION_STAGE "alpha")
45+
SET(VERSION_BUILD "")
4246
SET(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_RELEASE}")
4347
IF(VERSION_STAGE)
4448
SET(VERSION "${VERSION}-${VERSION_STAGE}")
4549
ENDIF()
4650
IF(VERSION_BUILD)
47-
SET(VERSION "${VERSION}.${VERSION_BUILD}")
51+
SET(VERSION "${VERSION}-${VERSION_BUILD}")
4852
ENDIF()
4953

5054
# Override version information for non-base builds
@@ -58,6 +62,8 @@ OPTION(WANT_CARLA "Include Carla plugin" ON)
5862
OPTION(WANT_CMT "Include Computer Music Toolkit LADSPA plugins" ON)
5963
OPTION(WANT_JACK "Include JACK (Jack Audio Connection Kit) support" ON)
6064
OPTION(WANT_WEAKJACK "Loosely link JACK libraries" ON)
65+
OPTION(WANT_LV2 "Include Lv2 plugins" ON)
66+
OPTION(WANT_SUIL "Include SUIL for LV2 plugin UIs" ON)
6167
OPTION(WANT_MP3LAME "Include MP3/Lame support" ON)
6268
OPTION(WANT_OGGVORBIS "Include OGG/Vorbis support" ON)
6369
OPTION(WANT_PULSEAUDIO "Include PulseAudio support" ON)
@@ -75,6 +81,7 @@ OPTION(WANT_VST_32 "Include 32-bit VST support" ON)
7581
OPTION(WANT_VST_64 "Include 64-bit VST support" ON)
7682
OPTION(WANT_WINMM "Include WinMM MIDI support" OFF)
7783
OPTION(WANT_DEBUG_FPE "Debug floating point exceptions" OFF)
84+
OPTION(BUNDLE_QT_TRANSLATIONS "Install Qt translation files for LMMS" OFF)
7885

7986

8087
IF(LMMS_BUILD_APPLE)
@@ -94,14 +101,13 @@ ENDIF(LMMS_BUILD_APPLE)
94101

95102
IF(LMMS_BUILD_WIN32)
96103
SET(WANT_ALSA OFF)
97-
SET(WANT_JACK OFF)
98104
SET(WANT_PULSEAUDIO OFF)
99105
SET(WANT_SNDIO OFF)
100106
SET(WANT_SOUNDIO OFF)
101107
SET(WANT_WINMM ON)
108+
SET(BUNDLE_QT_TRANSLATIONS ON)
102109
SET(LMMS_HAVE_WINMM TRUE)
103110
SET(STATUS_ALSA "<not supported on this platform>")
104-
SET(STATUS_JACK "<not supported on this platform>")
105111
SET(STATUS_PULSEAUDIO "<not supported on this platform>")
106112
SET(STATUS_SOUNDIO "<disabled in this release>")
107113
SET(STATUS_WINMM "OK")
@@ -171,6 +177,17 @@ ENDIF()
171177
# Resolve Qt5::qmake to full path for use in packaging scripts
172178
GET_TARGET_PROPERTY(QT_QMAKE_EXECUTABLE "${Qt5Core_QMAKE_EXECUTABLE}" IMPORTED_LOCATION)
173179

180+
# Find the location of Qt translation files
181+
execute_process(COMMAND ${QT_QMAKE_EXECUTABLE} -query QT_INSTALL_TRANSLATIONS
182+
OUTPUT_VARIABLE QT_TRANSLATIONS_DIR
183+
OUTPUT_STRIP_TRAILING_WHITESPACE
184+
ERROR_QUIET
185+
)
186+
IF(EXISTS "${QT_TRANSLATIONS_DIR}")
187+
MESSAGE("-- Found Qt translations in ${QT_TRANSLATIONS_DIR}")
188+
ADD_DEFINITIONS(-D'QT_TRANSLATIONS_DIR="${QT_TRANSLATIONS_DIR}"')
189+
ENDIF()
190+
174191
# check for libsndfile
175192
FIND_PACKAGE(SndFile REQUIRED)
176193
IF(NOT SNDFILE_FOUND)
@@ -181,6 +198,44 @@ IF(NOT SNDFILE_VERSION VERSION_LESS 1.0.26)
181198
SET(LMMS_HAVE_SF_COMPLEVEL TRUE)
182199
ENDIF()
183200

201+
IF(WANT_LV2)
202+
IF(PKG_CONFIG_FOUND)
203+
PKG_CHECK_MODULES(LV2 lv2)
204+
PKG_CHECK_MODULES(LILV lilv-0)
205+
ENDIF()
206+
IF(NOT LV2_FOUND AND NOT LILV_FOUND)
207+
FIND_PACKAGE(LV2 CONFIG)
208+
FIND_PACKAGE(LILV CONFIG)
209+
IF(LILV_FOUND)
210+
SET(LILV_LIBRARIES "lilv::lilv")
211+
ENDIF()
212+
ENDIF()
213+
IF(LV2_FOUND AND LILV_FOUND)
214+
SET(LMMS_HAVE_LV2 TRUE)
215+
SET(STATUS_LV2 "OK")
216+
ELSE()
217+
SET(STATUS_LV2 "not found, install it or set PKG_CONFIG_PATH appropriately")
218+
ENDIF()
219+
ELSE(WANT_LV2)
220+
SET(STATUS_LV2 "not built as requested")
221+
ENDIF(WANT_LV2)
222+
223+
IF(WANT_SUIL)
224+
IF(PKG_CONFIG_FOUND)
225+
PKG_CHECK_MODULES(SUIL suil-0)
226+
IF(SUIL_FOUND)
227+
SET(LMMS_HAVE_SUIL TRUE)
228+
SET(STATUS_SUIL "OK")
229+
ELSE()
230+
SET(STATUS_SUIL "not found, install it or set PKG_CONFIG_PATH appropriately")
231+
ENDIF()
232+
ELSE()
233+
SET(STATUS_SUIL "not found, requires pkg-config")
234+
ENDIF()
235+
ELSE(WANT_SUIL)
236+
SET(STATUS_SUIL "not built as requested")
237+
ENDIF(WANT_SUIL)
238+
184239
IF(WANT_CALF)
185240
SET(LMMS_HAVE_CALF TRUE)
186241
SET(STATUS_CALF "OK")
@@ -384,23 +439,26 @@ ENDIF(NOT LMMS_HAVE_ALSA)
384439

385440
# check for JACK
386441
IF(WANT_JACK)
387-
PKG_CHECK_MODULES(JACK jack>=0.77)
388-
IF(JACK_FOUND)
389-
IF(WANT_WEAKJACK)
390-
SET(LMMS_HAVE_WEAKJACK TRUE)
391-
SET(WEAKJACK_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/src/3rdparty/weakjack/weakjack")
392-
SET(STATUS_JACK "OK (weak linking enabled)")
393-
# use dlsym instead
394-
SET(JACK_LIBRARIES ${CMAKE_DL_LIBS})
395-
ELSE()
442+
IF(WANT_WEAKJACK)
443+
SET(LMMS_HAVE_WEAKJACK TRUE)
444+
SET(WEAKJACK_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/src/3rdparty/weakjack/weakjack)
445+
SET(JACK_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/src/3rdparty/jack2/common)
446+
SET(STATUS_JACK "OK (weak linking enabled)")
447+
# use dlsym instead
448+
SET(JACK_LIBRARIES ${CMAKE_DL_LIBS})
449+
SET(LMMS_HAVE_JACK TRUE)
450+
SET(JACK_FOUND TRUE)
451+
ELSE()
452+
PKG_CHECK_MODULES(JACK jack>=0.77)
453+
IF(JACK_FOUND)
396454
SET(STATUS_JACK "OK")
397455
ENDIF()
398-
SET(LMMS_HAVE_JACK TRUE)
399-
ELSE(JACK_FOUND)
456+
ENDIF()
457+
458+
IF(NOT JACK_FOUND)
400459
SET(JACK_INCLUDE_DIRS "")
401-
SET(STATUS_JACK "not found, please install libjack0.100.0-dev (or similar) "
402-
"if you require JACK support")
403-
ENDIF(JACK_FOUND)
460+
SET(STATUS_JACK "not found")
461+
ENDIF()
404462
ENDIF(WANT_JACK)
405463

406464
# check for FFTW3F-library
@@ -438,9 +496,9 @@ If(WANT_GIG)
438496
ENDIF(WANT_GIG)
439497

440498
# check for pthreads
441-
IF(LMMS_BUILD_LINUX OR LMMS_BUILD_APPLE OR LMMS_BUILD_OPENBSD OR LMMS_BUILD_FREEBSD)
499+
IF(LMMS_BUILD_LINUX OR LMMS_BUILD_APPLE OR LMMS_BUILD_OPENBSD OR LMMS_BUILD_FREEBSD OR LMMS_BUILD_HAIKU)
442500
FIND_PACKAGE(Threads)
443-
ENDIF(LMMS_BUILD_LINUX OR LMMS_BUILD_APPLE OR LMMS_BUILD_OPENBSD OR LMMS_BUILD_FREEBSD)
501+
ENDIF(LMMS_BUILD_LINUX OR LMMS_BUILD_APPLE OR LMMS_BUILD_OPENBSD OR LMMS_BUILD_FREEBSD OR LMMS_BUILD_HAIKU)
444502

445503
# check for sndio (roaraudio won't work yet)
446504
IF(WANT_SNDIO)
@@ -686,6 +744,8 @@ MESSAGE(
686744
MESSAGE(
687745
"Optional plugins\n"
688746
"----------------\n"
747+
"* Lv2 plugins : ${STATUS_LV2}\n"
748+
"* SUIL for plugin UIs : ${STATUS_SUIL}\n"
689749
"* ZynAddSubFX instrument : ${STATUS_ZYN}\n"
690750
"* Carla Patchbay & Rack : ${STATUS_CARLA}\n"
691751
"* SoundFont2 player : ${STATUS_FLUIDSYNTH}\n"

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
[![Join the chat at Discord](https://img.shields.io/badge/chat-on%20discord-7289DA.svg)](https://discord.gg/3sc5su7)
77
[![Localise on transifex](https://img.shields.io/badge/localise-on_transifex-green.svg)](https://www.transifex.com/lmms/lmms/)
88

9+
**A soft PR-Freeze is currently underway to prepare for refactoring ([#5592](https://github.com/LMMS/lmms/issues/5592)). Please do not open non-essential PRs at this time.**
10+
911
What is LMMS?
1012
--------------
1113

@@ -53,7 +55,6 @@ Information about what you can do and how can be found in the
5355

5456
Before coding a new big feature, please _always_
5557
[file an issue](https://github.com/LMMS/lmms/issues/new) for your idea and
56-
suggestions about your feature and about the intended implementation on GitHub
57-
or post to the LMMS developers mailinglist ([email protected])
58-
and wait for replies! Maybe there are different ideas, improvements, hints or
58+
suggestions about your feature and about the intended implementation on GitHub,
59+
or ask in one of the tech channels on Discord and wait for replies! Maybe there are different ideas, improvements, or hints, or
5960
maybe your feature is not welcome/needed at the moment.

cmake/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ IF(VERSION_STAGE)
99
SET(CPACK_PACKAGE_VERSION_PATCH "${CPACK_PACKAGE_VERSION_PATCH}-${VERSION_STAGE}")
1010
ENDIF()
1111
IF(VERSION_BUILD)
12-
SET(CPACK_PACKAGE_VERSION_PATCH "${CPACK_PACKAGE_VERSION_PATCH}.${VERSION_BUILD}")
12+
SET(CPACK_PACKAGE_VERSION_PATCH "${CPACK_PACKAGE_VERSION_PATCH}-${VERSION_BUILD}")
1313
ENDIF()
1414
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "${PROJECT_NAME_UCASE}")
1515
SET(CPACK_SOURCE_GENERATOR "TBZ2")

0 commit comments

Comments
 (0)