Skip to content
Merged

h #20

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
140 commits
Select commit Hold shift + click to select a range
27b1ce9
Remove plugins/LadspaEffect/swh/ladspa-util.c (#5451)
JohannesLorenz Apr 22, 2020
149eca1
Note selection: Editing values works in dialog (#5438)
zonkmachine Apr 22, 2020
1c5a3f8
DrumSynth: ensure correct envelope length in any sample rate (#5467)
PhysSong Apr 26, 2020
687870d
AFP: fix loading start and loop points if the loop point is automated…
PhysSong Apr 28, 2020
ca09b29
Select the correct piano key for marking semitones (#5478)
zonkmachine May 2, 2020
f4f10c1
3rdparty/cmake: Do not reset CMAKE_C(XX)_FLAGS (#4080)
schnitzeltony May 2, 2020
71b6107
Remove unwarranted CXX flag
tresf May 3, 2020
56fbefc
Fix #5461 and ensure consistent use of check gate (#5475)
thmueller64 May 6, 2020
317be01
Fix #4098 (#5449)
Veratil May 7, 2020
ab107f0
VST preset preview (#5441)
akimaze May 9, 2020
79511d6
Decrease Bitcrusher bit depth reduction step size (#5407)
LostRobotMusic May 9, 2020
ec37f34
Refactor the oscilloscope (#5488)
husamalhomsi May 9, 2020
23fd4bd
Forward search paths correctly in INSTALL_TARGET_DEPENDENCIES
PhysSong May 10, 2020
04239ba
addStretch() before adding the oscilloscope
husamalhomsi May 10, 2020
187f7f5
Merge stable-1.2 into master
lukas-w May 12, 2020
dc95f07
Fix Windows compilation with no gzip available
lukas-w May 12, 2020
f5ecddb
Fix Windows rpmalloc compile flags
lukas-w May 12, 2020
c6d60e9
Audio/MidiJack: Fix invalid read: (1) of #5408
JohannesLorenz Feb 28, 2020
9e9c5ac
Audio/MidiJack: Fix invalid read: (2) of #5408
JohannesLorenz Apr 15, 2020
e3cae80
Audio/MidiJack: Fix invalid read: (3) of #5408
JohannesLorenz Apr 18, 2020
737fcd3
JackMidi: Remove confusing warning at shutdown
JohannesLorenz Apr 18, 2020
953a0b1
Song Editor - Delete selected objects with backspace key (#5497)
zonkmachine May 15, 2020
1e8fcbd
Show VST parameter string (#5321)
ibuki2003 May 17, 2020
b818234
ControlLayout: Allow removing search bar's focus
JohannesLorenz May 17, 2020
29a5abc
Fix Qt 5.15 build issues (#5498)
JohannesLorenz May 18, 2020
7f9b4c2
Implement fade in to prevent Triple Osc from clicking (#5199)
necrashter May 19, 2020
8a190e4
Fix wrong lengths of exported tracks, when tracks have different leng…
Cyp May 19, 2020
b6b75a5
Divide knob step size by 1000 for LADSPA effects (#4574)
LostRobotMusic May 19, 2020
c3e056a
Implement compress action for commandline use (#5341)
bahaokten May 19, 2020
109cdf6
Fix #5483: sf2_player: No crash when file is no soundfont (#5487)
JohannesLorenz May 21, 2020
7aef23d
LinkedModelGroupView: Un-focus filter edit...
JohannesLorenz May 23, 2020
d5a2366
Fix #5504: invalid warning
thmueller64 May 20, 2020
2a66e83
Lv2 core implementation
JohannesLorenz May 24, 2020
3a985ff
Fix #4201: BB editor: adjust cursor position (#5489)
JohannesLorenz May 24, 2020
c6a1abe
Fix #5194: Fix knobs moving too fast (#5360)
JohannesLorenz May 24, 2020
0528a00
Compensate beat note length when stretching (#5515)
zonkmachine May 24, 2020
f303257
Remove stopPlaying connection
Spekular May 24, 2020
82f9239
24 bit FLAC export. Clip negative side of wave (#5501)
zonkmachine May 27, 2020
b8a3765
Merge branch 'stable-1.2' into master
lukas-w Jun 1, 2020
97680e0
Allows instruments to keep the MIDI channel information when forwardi…
IanCaio Jun 2, 2020
a053061
Consolidate error messages while loading project (#5269)
softrabbit Jun 4, 2020
8c7e63b
Remove macros likely() and unlikely() (#5530)
husamalhomsi Jun 10, 2020
5030060
Adds a button to clone the BB track pattern
IanCaio Jun 11, 2020
b1c1d14
Changes the clone pattern method name
IanCaio Jun 13, 2020
733a411
Merge pull request #5531 from IanCaio/feature/cloneBBTrackPattern
Spekular Jun 15, 2020
82f4135
Make better use of getSelectedNotes() in PianoRoll.cpp (#5526)
Spekular Jun 15, 2020
f56b496
Fix some TCOs not saving properly (#5537)
DomClark Jun 17, 2020
5d7e672
Automatically assign a midi input device to the selected track (#5499)
LNooteboom Jun 21, 2020
c6f8f7b
Travis: stop auto-uploading binary releases
PhysSong Jun 23, 2020
c28dbd1
Update CONTRIBUTORS
PhysSong Jun 23, 2020
984fd3a
Adding a trail (gradient) behind the position bar (#5543)
ryuukumar Jul 2, 2020
24eb230
Add a CMake option for deploying Qt translations
PhysSong Jul 4, 2020
fde11df
Update PROJECT_YEAR
PhysSong Jul 4, 2020
94363be
Bump version to 1.2.2
PhysSong Jul 4, 2020
84998a2
Update LcdSpinBox.cpp (#5555)
LostRobotMusic Jul 4, 2020
c83c9bf
Merge branch 'stable-1.2'
PhysSong Jul 5, 2020
fd04efd
Make Pause hotkey Shift+Space (#5554)
ryuukumar Jul 6, 2020
5aba3d2
Fix a bug on the "Remove unused channels" command (#5559)
IanCaio Jul 7, 2020
afbf80b
Refactor deleteUnusedChannels in FxMixerView (#5564)
Spekular Jul 9, 2020
e07c78d
Better minimum length when resizing notes (#5512)
Spekular Jul 9, 2020
9895472
Removed the excessive margin in instruments' GUI (#5129) (#5171)
artur-twardowski Jul 9, 2020
4b4f117
Fix garbage in exported audio caused by resampling (#5552)
thmueller64 Jul 10, 2020
2da0aaa
Enable LMMS fullscreen and... (long title, read first line of descrip…
ryuukumar Jul 11, 2020
d0ef875
Remove warning color from oscilloscope (#5492)
husamalhomsi Jul 11, 2020
3795fdf
Small refactor on FxMixerView.cpp and FxMixer.cpp
IanCaio Jul 12, 2020
574839f
Small refactor in FxMixerView and FxMixer (#5577)
Spekular Jul 12, 2020
159861a
Fixes small conflict on a new commit
IanCaio Jul 14, 2020
920ff35
Fix bug from issue 5562 (#5565)
IanCaio Jul 14, 2020
619b1d6
Merge pull request #5580 from IanCaio/hotfix/outputChannelBug
Spekular Jul 14, 2020
5a7ec92
Fix crash on CLI rendering (#5579)
PhysSong Jul 20, 2020
37d85ef
Implement portable mode (#5561)
SeleDreams Jul 20, 2020
a11fa71
Remove Xpressive help maximise button (#5570) (#5586)
ryuukumar Jul 20, 2020
23242b9
Fix the outer border for the instrument track (#5594)
claell Jul 21, 2020
04d8c0d
Add missing ¹⁄₉₆ quantization (#5304)
Cyp Jul 24, 2020
dc3e8ca
Avoid leaking the track grip QPixmap at each paintEvent (#5590)
Smjert Jul 24, 2020
8630604
Set default behaviour of playhead to << instead of |<< (#5591)
ryuukumar Jul 24, 2020
67f0324
Minor icon updates (#5588)
RebeccaDeField Jul 26, 2020
17565ca
Improved relative paths (#5117)
Spekular Jul 28, 2020
cbb1ec9
Removes unused variable on SongEditor.cpp (#5600)
IanCaio Jul 29, 2020
e37f379
Fix validPattern to check if hasAutomation as well (#5124)
Veratil Jul 29, 2020
639f3a4
Changes the behavior of "solo" so it doesn't mute Automation Tracks (…
IanCaio Aug 1, 2020
b0333b6
RemoteVstPlugin32: Fix Qt version check with MSVC 2019 + Qt 5.15 (#5607)
pmerry96 Aug 5, 2020
df296b7
Fix metronome playing when song is paused. (#5612)
thmueller64 Aug 6, 2020
7a9b336
Implement Lv2 Urid feature (#5517)
JohannesLorenz Aug 9, 2020
ef961e5
Refactor PianoRoll (#5253)
Veratil Aug 9, 2020
f2887bd
Improve the context menu actions when multiple TCOs are selected (#5601)
IanCaio Aug 10, 2020
1bb8d12
Enable mixer color-coding (#5589)
ryuukumar Aug 11, 2020
2fe06c8
Replace iterator where possible
Spekular Aug 11, 2020
139e492
Revert "Replace iterator where possible"
Spekular Aug 11, 2020
966f184
Center vertical scroll position when opening the Automation Editor (#…
Veratil Aug 11, 2020
1c1575c
Change the background color of the selected text in a text box. (#5628)
DigArtRoks Aug 13, 2020
9ed41c4
Fix for Icons and comboboxes mismatch in arpeggiator in Instrument Ed…
DigArtRoks Aug 17, 2020
5efb3a1
Fix use of translation functions (#5629)
DomClark Aug 30, 2020
5f4d0ca
Fix for issue #3816 - FM or heavy PM in TripleOscillator makes output…
DigArtRoks Sep 10, 2020
8a19c2d
Fix spelling in Lv2 classes
JohannesLorenz Sep 5, 2020
d29066f
Add helpful comment
JohannesLorenz Sep 5, 2020
3d8b310
Qt deprecation fix (#5619)
uthidata Sep 13, 2020
76a182b
Update portsmf to latest r234 commit
Veratil Aug 19, 2020
9eb787c
Update MIDI loading and parsing
Veratil Aug 23, 2020
37f0d10
CircleCI: Bump Xcode version to 9.4.1 (#5675)
BytesGuy Sep 14, 2020
f211c19
CircleCI: uninstall python@2 to prevent "brew install" errors
PhysSong Sep 16, 2020
af32800
Use valid Semver versions for pre-releases (#5636)
Spekular Sep 17, 2020
2bdd835
Switch out mailing list for Discord
Spekular Sep 17, 2020
9e3f602
Fix 'Version difference' dialogue showing for differences in patch an…
Spekular Sep 17, 2020
1dab416
Improvements to the upgrade routines (#5660)
IanCaio Sep 17, 2020
27a9f77
LadspaManager: Skip empty entries when looking for plugins (#5677)
PhysSong Sep 18, 2020
f6eeaba
Suppress windows.h's min and max macros, allowing use of numeric_limi…
Spekular Sep 18, 2020
a6d0b46
Don't define NOMINMAX if it's already defined (#5678)
Spekular Sep 18, 2020
2f37281
Fix for Mixer volume percentage labels are off by a factor of 100 (#…
DigArtRoks Sep 21, 2020
6d160fd
basics: Change sampleFrame to use `std::array` (#5536)
JohannesLorenz Sep 21, 2020
9e40182
Don't give clips a hidden default name (Fix #5528) (#5621)
Spekular Sep 21, 2020
454e047
Add lv2 packages to macOS CI
JohannesLorenz Jun 11, 2020
c3c8015
Add missing include
JohannesLorenz Sep 24, 2020
6546857
Move or remove unused slots
JohannesLorenz Sep 24, 2020
e7adcbd
Update ringbuffer submodule
JohannesLorenz Sep 27, 2020
173b1fa
Improve control flow in Lv2 classes
JohannesLorenz Sep 28, 2020
31f79a2
Add auto-highlight scale and key selection
Veratil Sep 16, 2019
cc87dfb
Fix relativeOrAbsolute bug with baseQDir in PathUtils.cpp (#5689)
Spekular Sep 30, 2020
89b1328
LB302: Use consistent cutoff frequency on mulitple sample rates (#5618)
thmueller64 Oct 3, 2020
e5f1007
SampleTrack: Fix TCO not being played on the first tick (if it starts on
Reflexe Nov 6, 2017
109a7c4
Keyboard shortcuts to preview/add sounds from sidebar (#5427)
Spekular Oct 3, 2020
4efe0c8
Haiku build fix.
devnexen Oct 2, 2020
7e986a8
Compile LMMS using C++14
JohannesLorenz Oct 3, 2020
16db33f
Use STL version of `std::make_shared` now
JohannesLorenz Oct 3, 2020
783db3e
Remove unused `make_shared` from stdshims.h
JohannesLorenz Oct 3, 2020
8939b14
Add insert/remove bar buttons in Song editor (fix #5602)
allejok96 Oct 3, 2020
b558865
PluginIssue: Add too MIDI in/out channels
JohannesLorenz Oct 4, 2020
3fa4b98
Remove redundant LV2Ports::Audio::m_optional
JohannesLorenz Oct 4, 2020
c58c781
Update remote and version of submodule rpmalloc (#5696)
JohannesLorenz Oct 5, 2020
8c63582
Don't reload sample from disk when reversing (#5701)
DomClark Oct 7, 2020
892aec3
Specify DirectConnection for a few plugins (#5695)
Firepal Oct 8, 2020
b64fe8e
Refactor Clipboard methods (#5627)
IanCaio Oct 10, 2020
9db671c
Refactor writing MIDI events to buffers
JohannesLorenz Oct 17, 2020
0d89d64
Implement unused Lv2UridCache
JohannesLorenz Oct 18, 2020
4c559b9
Modifying factory presets to sound more friendly. (#5529)
zynskeywolf Oct 19, 2020
acd0e4d
Feature: Glue notes (#5721)
zonkmachine Oct 19, 2020
8b2902c
Enable Lv2 Atom ports
JohannesLorenz Jun 2, 2019
f5d0524
Enable track-wide color coding (#5573)
ryuukumar Oct 20, 2020
5d0340f
Fix undefined Lv2Ports::Audio::m_optional after 3fa4b98
JohannesLorenz Oct 24, 2020
7808e0b
Lv2 Fix invalid memory access if plugin did not load
JohannesLorenz Oct 24, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 4 additions & 4 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ jobs:
environment:
<<: *common_environment
macos:
xcode: "9.3.1"
xcode: "9.4.1"
steps:
- checkout
- *init
Expand All @@ -179,9 +179,9 @@ jobs:
- run:
name: Install Homebrew dependencies
command: |
# unlink Homebrew's python 2 to prevent an node-gyp error
brew unlink python@2 || true
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
# uninstall Homebrew's python 2 to prevent errors on brew install
brew uninstall python@2 || true
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
- run:
name: Install nodejs dependencies
command: npm install -g appdmg
Expand Down
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
url = https://github.com/Lukas-W/qt5-x11embed.git
[submodule "src/3rdparty/rpmalloc/rpmalloc"]
path = src/3rdparty/rpmalloc/rpmalloc
url = https://github.com/rampantpixels/rpmalloc.git
url = https://github.com/mjansson/rpmalloc.git
[submodule "plugins/zynaddsubfx/zynaddsubfx"]
path = plugins/zynaddsubfx/zynaddsubfx
url = https://github.com/lmms/zynaddsubfx.git
Expand Down
14 changes: 0 additions & 14 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,17 +31,3 @@ script: ${TRAVIS_BUILD_DIR}/.travis/script.sh
after_script: ${TRAVIS_BUILD_DIR}/.travis/after_script.sh
before_deploy:
- if [ "$TARGET_OS" != debian-sid ]; then make package; fi
deploy:
provider: releases
api_key:
secure: d4a+x4Gugpss7JK2DcHjyBZDmEFFh4iVfKDfITSD50T6Mc6At4LMgojvEu+6qT6IyOY2vm3UVT6fhyeuWDTRDwW9tfFlaHVA0h8aTRD+eAXOA7pQ8rEMwQO3+WCKuKTfEqUkpL4wxhww8dpkv54tqeIs0S4TBqz9tk8UhzU7XbE=
file_glob: true
file:
- lmms-${TRAVIS_TAG:1}-$TARGET_OS.exe
- /var/cache/pbuilder/result/lmms_*.tar.xz
skip_cleanup: true
on:
tags: true
all_branches: true
condition: '"$TARGET_DEPLOY" = True'
repo: LMMS/lmms
5 changes: 4 additions & 1 deletion .travis/linux..install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,11 @@ SWH_PACKAGES="perl libxml2-utils libxml-perl liblist-moreutils-perl"
# VST dependencies
VST_PACKAGES="wine-dev qt59x11extras qtbase5-private-dev libxcb-util0-dev libxcb-keysyms1-dev"

# LV2 dependencies; libsuil-dev is not required
LV2_PACKAGES="lv2-dev liblilv-dev"

# Help with unmet dependencies
PACKAGES="$PACKAGES $SWH_PACKAGES $VST_PACKAGES libjack-jackd2-0"
PACKAGES="$PACKAGES $SWH_PACKAGES $VST_PACKAGES $LV2_PACKAGES libjack-jackd2-0"

# shellcheck disable=SC2086
sudo apt-get install -y $PACKAGES
2 changes: 1 addition & 1 deletion .travis/osx..install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

set -e

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

if "${TRAVIS}"; then
PACKAGES="$PACKAGES ccache"
Expand Down
2 changes: 1 addition & 1 deletion .travis/script.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ if [ "$TYPE" = 'style' ]; then

else

export CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=RelWithDebInfo"
export CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUNDLE_QT_TRANSLATIONS=ON"

if [ -z "$TRAVIS_TAG" ]; then
export CMAKE_FLAGS="$CMAKE_FLAGS -DUSE_CCACHE=ON"
Expand Down
79 changes: 67 additions & 12 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ INCLUDE(GenerateExportHeader)

STRING(TOUPPER "${CMAKE_PROJECT_NAME}" PROJECT_NAME_UCASE)

SET(PROJECT_YEAR 2019)
SET(PROJECT_YEAR 2020)

SET(PROJECT_AUTHOR "LMMS Developers")
SET(PROJECT_URL "https://lmms.io")
Expand All @@ -36,15 +36,15 @@ SET(PROJECT_DESCRIPTION "${PROJECT_NAME_UCASE} - Free music production software"
SET(PROJECT_COPYRIGHT "2008-${PROJECT_YEAR} ${PROJECT_AUTHOR}")
SET(VERSION_MAJOR "1")
SET(VERSION_MINOR "2")
SET(VERSION_RELEASE "1")
SET(VERSION_RELEASE "2")
SET(VERSION_STAGE "")
SET(VERSION_BUILD "0")
SET(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_RELEASE}")
IF(VERSION_STAGE)
SET(VERSION "${VERSION}-${VERSION_STAGE}")
ENDIF()
IF(VERSION_BUILD)
SET(VERSION "${VERSION}.${VERSION_BUILD}")
SET(VERSION "${VERSION}-${VERSION_BUILD}")
ENDIF()

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


IF(LMMS_BUILD_APPLE)
Expand All @@ -99,6 +102,7 @@ IF(LMMS_BUILD_WIN32)
SET(WANT_SNDIO OFF)
SET(WANT_SOUNDIO OFF)
SET(WANT_WINMM ON)
SET(BUNDLE_QT_TRANSLATIONS ON)
SET(LMMS_HAVE_WINMM TRUE)
SET(STATUS_ALSA "<not supported on this platform>")
SET(STATUS_JACK "<not supported on this platform>")
Expand Down Expand Up @@ -169,6 +173,17 @@ ENDIF()
# Resolve Qt5::qmake to full path for use in packaging scripts
GET_TARGET_PROPERTY(QT_QMAKE_EXECUTABLE "${Qt5Core_QMAKE_EXECUTABLE}" IMPORTED_LOCATION)

# Find the location of Qt translation files
execute_process(COMMAND ${QT_QMAKE_EXECUTABLE} -query QT_INSTALL_TRANSLATIONS
OUTPUT_VARIABLE QT_TRANSLATIONS_DIR
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET
)
IF(EXISTS "${QT_TRANSLATIONS_DIR}")
MESSAGE("-- Found Qt translations in ${QT_TRANSLATIONS_DIR}")
ADD_DEFINITIONS(-D'QT_TRANSLATIONS_DIR="${QT_TRANSLATIONS_DIR}"')
ENDIF()

FIND_PACKAGE(Qt5Test)
SET(QT_QTTEST_LIBRARY Qt5::Test)

Expand All @@ -182,6 +197,39 @@ IF(NOT SNDFILE_VERSION VERSION_LESS 1.0.26)
SET(LMMS_HAVE_SF_COMPLEVEL TRUE)
ENDIF()

IF(WANT_LV2)
IF(PKG_CONFIG_FOUND)
PKG_CHECK_MODULES(LV2 lv2)
PKG_CHECK_MODULES(LILV lilv-0)
IF(LV2_FOUND AND LILV_FOUND)
SET(LMMS_HAVE_LV2 TRUE)
SET(STATUS_LV2 "OK")
ELSE()
SET(STATUS_LV2 "not found, install it or set PKG_CONFIG_PATH appropriately")
ENDIF()
ELSE()
SET(STATUS_LV2 "not found, requires pkg-config")
ENDIF()
ELSE(WANT_LV2)
SET(STATUS_LV2 "not built as requested")
ENDIF(WANT_LV2)

IF(WANT_SUIL)
IF(PKG_CONFIG_FOUND)
PKG_CHECK_MODULES(SUIL suil-0)
IF(SUIL_FOUND)
SET(LMMS_HAVE_SUIL TRUE)
SET(STATUS_SUIL "OK")
ELSE()
SET(STATUS_SUIL "not found, install it or set PKG_CONFIG_PATH appropriately")
ENDIF()
ELSE()
SET(STATUS_SUIL "not found, requires pkg-config")
ENDIF()
ELSE(WANT_SUIL)
SET(STATUS_SUIL "not built as requested")
ENDIF(WANT_SUIL)

IF(WANT_CALF)
SET(LMMS_HAVE_CALF TRUE)
SET(STATUS_CALF "OK")
Expand Down Expand Up @@ -439,9 +487,9 @@ If(WANT_GIG)
ENDIF(WANT_GIG)

# check for pthreads
IF(LMMS_BUILD_LINUX OR LMMS_BUILD_APPLE OR LMMS_BUILD_OPENBSD OR LMMS_BUILD_FREEBSD)
IF(LMMS_BUILD_LINUX OR LMMS_BUILD_APPLE OR LMMS_BUILD_OPENBSD OR LMMS_BUILD_FREEBSD OR LMMS_BUILD_HAIKU)
FIND_PACKAGE(Threads)
ENDIF(LMMS_BUILD_LINUX OR LMMS_BUILD_APPLE OR LMMS_BUILD_OPENBSD OR LMMS_BUILD_FREEBSD)
ENDIF(LMMS_BUILD_LINUX OR LMMS_BUILD_APPLE OR LMMS_BUILD_OPENBSD OR LMMS_BUILD_FREEBSD OR LMMS_BUILD_HAIKU)

# check for sndio (roaraudio won't work yet)
IF(WANT_SNDIO)
Expand Down Expand Up @@ -573,15 +621,20 @@ ADD_SUBDIRECTORY(doc)
# install tasks
ADD_SUBDIRECTORY(cmake/install)

ADD_CUSTOM_COMMAND(OUTPUT "${CMAKE_BINARY_DIR}/lmms.1.gz"
COMMAND gzip -c ${CMAKE_SOURCE_DIR}/doc/lmms.1 > ${CMAKE_BINARY_DIR}/lmms.1.gz
DEPENDS "${CMAKE_SOURCE_DIR}/doc/lmms.1"
COMMENT "Generating lmms.1.gz"
VERBATIM)
FIND_PACKAGE(UnixCommands)
IF(GZIP)
ADD_CUSTOM_COMMAND(OUTPUT "${CMAKE_BINARY_DIR}/lmms.1.gz"
COMMAND ${GZIP} -c ${CMAKE_SOURCE_DIR}/doc/lmms.1 > ${CMAKE_BINARY_DIR}/lmms.1.gz
DEPENDS "${CMAKE_SOURCE_DIR}/doc/lmms.1"
COMMENT "Generating lmms.1.gz"
VERBATIM)


ADD_CUSTOM_TARGET(manpage ALL
DEPENDS "${CMAKE_BINARY_DIR}/lmms.1.gz")
ADD_CUSTOM_TARGET(manpage ALL
DEPENDS "${CMAKE_BINARY_DIR}/lmms.1.gz")
ELSEIF(UNIX)
MESSAGE(FATAL_ERROR "Can't find gzip required for generating lmms.1.gz")
ENDIF()

# install headers

Expand Down Expand Up @@ -681,6 +734,8 @@ MESSAGE(
MESSAGE(
"Optional plugins\n"
"----------------\n"
"* Lv2 plugins : ${STATUS_LV2}\n"
"* SUIL for plugin UIs : ${STATUS_SUIL}\n"
"* ZynAddSubFX instrument : ${STATUS_ZYN}\n"
"* Carla Patchbay & Rack : ${STATUS_CARLA}\n"
"* SoundFont2 player : ${STATUS_FLUIDSYNTH}\n"
Expand Down
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ Information about what you can do and how can be found in the

Before coding a new big feature, please _always_
[file an issue](https://github.com/LMMS/lmms/issues/new) for your idea and
suggestions about your feature and about the intended implementation on GitHub
or post to the LMMS developers mailinglist ([email protected])
and wait for replies! Maybe there are different ideas, improvements, hints or
suggestions about your feature and about the intended implementation on GitHub,
or ask in one of the tech channels on Discord and wait for replies! Maybe there are different ideas, improvements, or hints, or
maybe your feature is not welcome/needed at the moment.
2 changes: 1 addition & 1 deletion cmake/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ IF(VERSION_STAGE)
SET(CPACK_PACKAGE_VERSION_PATCH "${CPACK_PACKAGE_VERSION_PATCH}-${VERSION_STAGE}")
ENDIF()
IF(VERSION_BUILD)
SET(CPACK_PACKAGE_VERSION_PATCH "${CPACK_PACKAGE_VERSION_PATCH}.${VERSION_BUILD}")
SET(CPACK_PACKAGE_VERSION_PATCH "${CPACK_PACKAGE_VERSION_PATCH}-${VERSION_BUILD}")
ENDIF()
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "${PROJECT_NAME_UCASE}")
SET(CPACK_SOURCE_GENERATOR "TBZ2")
Expand Down
2 changes: 1 addition & 1 deletion cmake/install/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ IF(LMMS_BUILD_WIN32 OR LMMS_INSTALL_DEPENDENCIES)
TARGETS ${PLUGINS_BUILT}
DESTINATION ${PLUGIN_DEP_DESTINATION}
LIB_DIRS ${LIB_DIRS} "${PLUGIN_DIR}" "${PLUGIN_DIR}/optional"
SEARCH_PATH "${PLUGIN_DIR}" "${PLUGIN_DIR}/optional"
SEARCH_PATHS "${PLUGIN_DIR}" "${PLUGIN_DIR}/optional"
)
ENDIF()

Expand Down
3 changes: 2 additions & 1 deletion cmake/modules/InstallTargetDependencies.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,13 @@ SET(DEFAULT_SEARCH_SUFFIXES "bin" "lib" "../bin")
# DESTINATION: directory path to install the binaries to.
# LIB_DIRS: list of paths for looking up dependencies.
# LIB_DIRS_SUFFIXES: list of possible suffixes for LIB_DIRS entries.
# SEARCH_PATHS: list of library search paths on runtime
# NO_DEFAULT_PATHS: supply this value to avoid adding DEFAULT_SEARCH_DIRECTORIES
# to LIB_DIRS and DEFAULT_SEARCH_SUFFIXES to LIB_DIRS_SUFFIXES.
FUNCTION(INSTALL_TARGET_DEPENDENCIES)
set(options NO_DEFAULT_PATHS)
set(oneValueArgs NAME)
set(multiValueArgs TARGETS DESTINATION LIB_DIRS_SUFFIXES LIB_DIRS)
set(multiValueArgs TARGETS DESTINATION LIB_DIRS_SUFFIXES LIB_DIRS SEARCH_PATHS)
cmake_parse_arguments(DEPS "${options}" "${oneValueArgs}"
"${multiValueArgs}" ${ARGN} )

Expand Down
2 changes: 2 additions & 0 deletions cmake/modules/PluginList.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ SET(LMMS_PLUGIN_LIST
HydrogenImport
ladspa_browser
LadspaEffect
Lv2Effect
Lv2Instrument
lb302
MidiImport
MidiExport
Expand Down
36 changes: 31 additions & 5 deletions cmake/modules/VersionInfo.cmake
Original file line number Diff line number Diff line change
@@ -1,29 +1,56 @@
FIND_PACKAGE(Git)
IF(GIT_FOUND AND NOT FORCE_VERSION)
# Look for git tag information (e.g. Tagged: "v1.0.0", Non-tagged: "v1.0.0-123-a1b2c3d")
SET(MAJOR_VERSION 0)
SET(MINOR_VERSION 0)
SET(PATCH_VERSION 0)
# Look for git tag information (e.g. Tagged: "v1.0.0", Untagged: "v1.0.0-123-a1b2c3d")
# Untagged format: [latest tag]-[number of commits]-[latest commit hash]
EXECUTE_PROCESS(
COMMAND "${GIT_EXECUTABLE}" describe --tags --match v[0-9].[0-9].[0-9]*
OUTPUT_VARIABLE GIT_TAG
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
TIMEOUT 10
OUTPUT_STRIP_TRAILING_WHITESPACE)
# Read: TAG_LIST = GIT_TAG.split("-")
STRING(REPLACE "-" ";" TAG_LIST "${GIT_TAG}")
# Read: TAG_LIST_LENGTH = TAG_LIST.length()
LIST(LENGTH TAG_LIST TAG_LIST_LENGTH)
# Untagged versions contain at least 2 dashes, giving 3 strings on split.
# Hence, for untagged versions TAG_LIST_LENGTH = [dashes in latest tag] + 3.
# Corollary: if TAG_LIST_LENGTH <= 2, the version must be tagged.
IF(TAG_LIST_LENGTH GREATER 0)
# Set FORCE_VERSION to TAG_LIST[0], strip any 'v's to get MAJ.MIN.PAT
LIST(GET TAG_LIST 0 FORCE_VERSION)
STRING(REPLACE "v" "" FORCE_VERSION "${FORCE_VERSION}")
# Split FORCE_VERSION on '.' and populate MAJOR/MINOR/PATCH_VERSION
STRING(REPLACE "." ";" MAJ_MIN_PAT "${FORCE_VERSION}")
LIST(GET MAJ_MIN_PAT 0 MAJOR_VERSION)
LIST(GET MAJ_MIN_PAT 1 MINOR_VERSION)
LIST(GET MAJ_MIN_PAT 2 PATCH_VERSION)
ENDIF()
# 1 dash total: Dash in latest tag, no additional commits => pre-release
IF(TAG_LIST_LENGTH EQUAL 2)
LIST(GET TAG_LIST 1 VERSION_STAGE)
SET(FORCE_VERSION "${FORCE_VERSION}-${VERSION_STAGE}")
# 2 dashes: Assume untagged with no dashes in latest tag name => stable + commits
ELSEIF(TAG_LIST_LENGTH EQUAL 3)
# Get the number of commits and latest commit hash
LIST(GET TAG_LIST 1 EXTRA_COMMITS)
SET(FORCE_VERSION "${FORCE_VERSION}.${EXTRA_COMMITS}")
LIST(GET TAG_LIST 2 COMMIT_HASH)
# Bump the patch version
MATH(EXPR PATCH_VERSION "${PATCH_VERSION}+1")
# Set the version to MAJOR.MINOR.PATCH-EXTRA_COMMITS+COMMIT_HASH
SET(FORCE_VERSION "${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}")
SET(FORCE_VERSION "${FORCE_VERSION}-${EXTRA_COMMITS}+${COMMIT_HASH}")
# 3 dashes: Assume untagged with 1 dash in latest tag name => pre-release + commits
ELSEIF(TAG_LIST_LENGTH EQUAL 4)
# Get pre-release stage, number of commits, and latest commit hash
LIST(GET TAG_LIST 1 VERSION_STAGE)
LIST(GET TAG_LIST 2 EXTRA_COMMITS)
SET(FORCE_VERSION
"${FORCE_VERSION}-${VERSION_STAGE}.${EXTRA_COMMITS}")
LIST(GET TAG_LIST 3 COMMIT_HASH)
# Set the version to MAJOR.MINOR.PATCH-VERSION_STAGE.EXTRA_COMMITS+COMMIT_HASH
SET(FORCE_VERSION "${FORCE_VERSION}-${VERSION_STAGE}")
SET(FORCE_VERSION "${FORCE_VERSION}.${EXTRA_COMMITS}+${COMMIT_HASH}")
ENDIF()
ENDIF()

Expand Down Expand Up @@ -74,4 +101,3 @@ MESSAGE("\n"
"* Override version: -DFORCE_VERSION=x.x.x-x\n"
"* Ignore Git information: -DFORCE_VERSION=internal\n"
)

6 changes: 3 additions & 3 deletions data/locale/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@ FOREACH(_item ${qm_targets})
ADD_DEPENDENCIES(finalize-locales "${_item}")
ENDFOREACH(_item ${qm_targets})

IF(LMMS_BUILD_WIN32)
FILE(GLOB QT_QM_FILES "${QT_TRANSLATIONS_DIR}/qt*[^h].qm")
IF(BUNDLE_QT_TRANSLATIONS)
FILE(GLOB QT_QM_FILES "${QT_TRANSLATIONS_DIR}/qt*.qm")
LIST(SORT QT_QM_FILES)
ENDIF(LMMS_BUILD_WIN32)
ENDIF()

INSTALL(FILES ${QM_FILES} ${QT_QM_FILES} DESTINATION "${LMMS_DATA_DIR}/locale")
2 changes: 1 addition & 1 deletion data/presets/AudioFileProcessor/Bass-Mania.xpf
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<instrumenttrack fxch="0" vol="59" name="Bass-Mania" tab="1">
<audiofileprocessor reversed="0" looped="0" eframe="0.999938" sframe="0" amp="100" src="misc/bass!.ogg"/>
<eldata fres="0.5" ftype="0" fcut="16000" fwet="0">
<elvol userwavefile="" lpdel="0" ctlenvamt="0" amt="1" rel="0.291" latt="0" sus="0" lspd="0.1" att="0" pdel="0" lfosyncmode="0" lamt="0" dec="0" x100="0" lshp="0" hold="0"/>
<elvol userwavefile="" lpdel="0" ctlenvamt="0" amt="1" rel="0.291" latt="0" sus="0" lspd="0.1" att="0.05" pdel="0" lfosyncmode="0" lamt="0" dec="0" x100="0" lshp="0" hold="0"/>
<elcut userwavefile="" lpdel="0" ctlenvamt="0" amt="0" rel="0.1" latt="0" sus="0.499" lspd="0.1" att="0" pdel="0" lfosyncmode="0" lamt="0" dec="0.499" x100="0" lshp="0" hold="0.499"/>
<elres userwavefile="" lpdel="0" ctlenvamt="0" amt="0" rel="0.1" latt="0" sus="0.499" lspd="0.1" att="0" pdel="0" lfosyncmode="0" lamt="0" dec="0.499" x100="0" lshp="0" hold="0.499"/>
</eldata>
Expand Down
2 changes: 1 addition & 1 deletion data/presets/AudioFileProcessor/Erazor.xpf
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<audiofileprocessor reversed="0" looped="0" eframe="1" stutter="0" sframe="0" src="drumsynth/misc_synth/wowmelodictone.ds" amp="90"/>
</instrument>
<eldata fres="3.51" ftype="0" fcut="2940" fwet="0">
<elvol lspd_denominator="4" sustain="0.95" userwavefile="" pdel="0" dec="0" lamt="0" syncmode="0" latt="0" rel="0.23" amt="1" x100="0" att="0" lpdel="0" hold="0" lshp="0" lspd="0.1" ctlenvamt="0" lspd_numerator="4"/>
<elvol lspd_denominator="4" sustain="0.95" userwavefile="" pdel="0" dec="0" lamt="0" syncmode="0" latt="0" rel="0.23" amt="1" x100="0" att="0.05" lpdel="0" hold="0" lshp="0" lspd="0.1" ctlenvamt="0" lspd_numerator="4"/>
<elcut lspd_denominator="4" sustain="0.5" userwavefile="" pdel="0" dec="0.5" lamt="1" syncmode="0" latt="0" rel="0.1" amt="0" x100="0" att="0" lpdel="0" hold="0.5" lshp="0" lspd="0.01" ctlenvamt="0" lspd_numerator="4"/>
<elres lspd_denominator="4" sustain="0.5" userwavefile="" pdel="0" dec="0.5" lamt="0" syncmode="0" latt="0" rel="0.1" amt="0" x100="0" att="0" lpdel="0" hold="0.5" lshp="0" lspd="0.1" ctlenvamt="0" lspd_numerator="4"/>
</eldata>
Expand Down
2 changes: 1 addition & 1 deletion data/presets/AudioFileProcessor/Fat-Reversed-Kick.xpf
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<instrumenttrack fxch="0" vol="59" name="Fat Reversed Kick" tab="0">
<audiofileprocessor reversed="1" looped="1" eframe="0.999949" sframe="0" amp="100" src="drums/bassdrum01.ogg"/>
<eldata fres="3" ftype="0" fcut="193" fwet="1">
<elvol userwavefile="" lpdel="0" ctlenvamt="0" amt="0" rel="0.1" latt="0" sus="0.499" lspd="0.1" att="0" pdel="0" lfosyncmode="0" lamt="0" dec="0.499" x100="0" lshp="0" hold="0.499"/>
<elvol userwavefile="" lpdel="0" ctlenvamt="0" amt="1" rel="0.05" latt="0" sus="0" lspd="0.1" att="0.05" pdel="0" lfosyncmode="0" lamt="0" dec="0" x100="0" lshp="0" hold="0"/>
<elcut userwavefile="" lpdel="0" ctlenvamt="0" amt="0" rel="0.1" latt="0" sus="0.499" lspd="0.1" att="0" pdel="0" lfosyncmode="0" lamt="0" dec="0.499" x100="0" lshp="0" hold="0.499"/>
<elres userwavefile="" lpdel="0" ctlenvamt="0" amt="0" rel="0.1" latt="0" sus="0.499" lspd="0.1" att="0" pdel="0" lfosyncmode="0" lamt="0" dec="0.499" x100="0" lshp="0" hold="0.499"/>
</eldata>
Expand Down
Loading