Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update master #14

Merged
merged 81 commits into from
Nov 7, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
7e1df5c
Add issue templates
lukas-w Mar 10, 2019
3ada5b8
Update .mailmap (#5037)
trebmuh Jun 14, 2019
bdbea87
show BBEditor on clicking the TrackLabelButton (#5060)
BaraMGB Jul 26, 2019
0db83c5
Better French translations in the menu item file (#4711)
trebmuh Jul 30, 2019
a631c0c
Fix invalid MIDI Program Change decoding (#5154)
artur-twardowski Aug 26, 2019
8568ae4
Make splash screen text white (#5149)
Spekular Aug 27, 2019
4fd8e08
Rewrite CMake dependency installation
lukas-w Jun 13, 2018
8d169fa
CircleCI: create Windows installers
PhysSong Nov 26, 2018
7a23ee8
AppVeyor: create Windows installers
PhysSong Nov 26, 2018
72bdb23
CMake: Provide API for install-time variables with generator expression
Reflexe Aug 21, 2019
13da2b9
CMake: extract dll installation code into a portable function
Reflexe Aug 12, 2019
84d1091
Rewrite the setup dialog (#3820)
Sawuare Sep 6, 2019
e1236f5
Remove maximize from Meter(Metro) menu (#5071)
malcops Sep 8, 2019
2e84cd3
Fix stuck keys when dragging on piano view (#5127)
DomClark Sep 8, 2019
a0e7a88
Remove "What's This?" leftovers (#5173)
Sawuare Sep 9, 2019
91cf5bd
Support compilation with MSVC 2019 (#5180)
DomClark Sep 10, 2019
c436e5c
Remove MIDI connections from factory .mmpz files (#5163)
PhysSong Sep 12, 2019
9eb6e3f
Update .mailmap
Sawuare Sep 13, 2019
b07c007
Add save/load of PianoRoll marked semitones (#5146)
Veratil Sep 14, 2019
0059c6e
Fix #4188 - Check for failed qFind (#5184)
Reflexe Sep 14, 2019
8fdf6c4
Fix #4188 - Check for failed std::find (#5137)
Veratil Sep 14, 2019
6782b6d
Merge branch 'stable-1.2'
PhysSong Sep 15, 2019
ffa03df
Fix $PATH value in AppImage
tresf Sep 15, 2019
419321d
Only MacOS and Windows are case insensitive (#4768)
zonkmachine Sep 16, 2019
90dec52
Add missing icons of File menu actions (#5183)
Sawuare Sep 19, 2019
1324cf4
Enable automatic dll installation for RemoteVstPlugin32
Reflexe Aug 12, 2019
ae9d619
BuildPlugin: Always remove 'lib' suffix from the DLL name
Reflexe Aug 21, 2019
2f64c46
Fix missing system libraries in MSVC installations
PhysSong Aug 24, 2019
94354e3
Support deploying dependencies in MSVC builds with CMake < 3.14
PhysSong Aug 31, 2019
57a486c
Merge pull request #5142 from Reflexe/cmake/install-refactor
Reflexe Sep 24, 2019
8676399
Add close button to SideBarWidget (#5133)
Veratil Oct 1, 2019
5132d91
Give focus to AutomationEditor when the window gets the foucs (#5170)
Oct 1, 2019
ca88714
Make undo for PianoRoll cut action possible (#5214)
Oct 1, 2019
9f0baab
Fix regression of some default settings
Sawuare Oct 2, 2019
15fe551
Submodules: Only fetch required (#5182, closes #5105) + Non-shallow f…
tresf Oct 3, 2019
da09b2a
CheckSubmodules: Workaround submodules failing (#5222)
tresf Oct 6, 2019
16390f6
Work around a winegcc bug of Wine >= 4.14 (#5210)
PhysSong Oct 6, 2019
2df4fff
Work around a winegcc bug of Wine >= 4.14 (#5211)
PhysSong Oct 6, 2019
770e8cc
CircleCI: Use xenial for linux.gcc builds
Reflexe Oct 1, 2019
45cb7f2
linuxdeployqt: drop -unsupported-allow-new-glibc
Reflexe Oct 1, 2019
5aa8788
Rubberband fix for selecting large area in Songeditor (#5003)
BaraMGB Oct 7, 2019
e1d3117
Fix regression introduced in #5170 (#5224)
Veratil Oct 7, 2019
91a38a9
Add back '-Wl,-E' (#5233)
PhysSong Oct 10, 2019
d7a78fe
Specify timeout for transfer.sh uploads
PhysSong Oct 10, 2019
e321dff
Translation Fixes (Continuation of #4482) (#5185)
zonkmachine Oct 10, 2019
6dee6a4
Show icon on 'Turn off all notes' button (#5237)
zonkmachine Oct 12, 2019
95c46a8
RemoteVstPlugin: fix crashes when failed to open a file (#5235)
PhysSong Oct 15, 2019
170d28f
Remove global automation from MIDI import (#5223)
Veratil Oct 15, 2019
f1831ff
Export TrackContentObject class
PhysSong Oct 16, 2019
d005eec
MSVC: Move MSVC year detection to DetectMachine.cmake.
Reflexe Oct 17, 2019
a22b6d7
NSIS: Add compiler to installer name
Reflexe Oct 17, 2019
2d17bf0
Allow mid-note automation of BitInvader sample length (#4705)
LostRobotMusic Oct 17, 2019
732448c
FreeBSD build version
devnexen Jun 2, 2019
a9262b9
Fix Organic offset glitch (#5252)
zonkmachine Oct 19, 2019
4f11cf1
Make SampleBuffer adjust its members when resampling
softrabbit Oct 19, 2019
82c3819
Add windows NSIS artifact extensions (#5244)
Reflexe Oct 20, 2019
dbf5f47
Bump version to 1.2.1
PhysSong Oct 21, 2019
7ebaa0e
Merge branch 'stable-1.2'
PhysSong Oct 21, 2019
13c4f4a
Let Travis Mac builds use the Xcode 9.4 image
PhysSong Oct 22, 2019
3745bfb
Increase File Browser Spacing (#4252)
WrillicR Oct 25, 2019
eeaaf6d
Support CMAKE_INSTALL_MANDIR (#5276)
alarixnia Oct 28, 2019
1b45ce5
CircleCI: Add macOS support.
Reflexe Oct 17, 2019
4a9e9da
Issue templates improvements
lukas-w Oct 29, 2019
35daff9
GitHub: Add Discord contact link to template chooser
lukas-w Oct 29, 2019
200d1c2
more depricated qt functions
enp2s0 Jul 21, 2019
38f599b
setPath rather than operator= for qDir
enp2s0 Jul 21, 2019
2c5bf2b
lambdas instead of QSignalMapper
enp2s0 Jul 25, 2019
d9f1383
Remove remaining usages of QSignalMapper
lukas-w Aug 27, 2019
b5b3b2e
CMake: Require Qt 5.6+
lukas-w Oct 30, 2019
400c8d8
Remove Travis MinGW builds
lukas-w Oct 30, 2019
9cb1f8e
Change the docker tag for CircleCI Linux builds
PhysSong Oct 31, 2019
488c4ea
CircleCI: support Qt from a PPA on /opt
PhysSong Oct 31, 2019
b8e499d
Merge "Don't use deprecated Qt5 functions" (#5156)
lukas-w Oct 31, 2019
53e6b64
Use "bar" instead of "tact"
M374LX Oct 31, 2019
46f5433
New BARS_PER_GROUP constant
M374LX Oct 27, 2019
dac59a5
C++11 inheritance updates
devnexen Oct 31, 2019
ebf7100
Fix vertical piano mouse click unresponsiveness
Veratil Nov 1, 2019
8a52ddb
CricleCI: Test merged pull request
lukas-w Nov 1, 2019
fb25575
Merge issue templates (PR #4884)
lukas-w Nov 5, 2019
a24f1d7
Do not include unused headers
Sawuare Nov 7, 2019
b4459be
Support NetBSD's OSS audio/midi implementation (#5277)
alarixnia Nov 7, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,9 @@ build_script:
- cmake -DUSE_COMPILE_CACHE=ON -DCACHE_TOOL=%APPVEYOR_BUILD_FOLDER%/clcache.4.1.0/clcache-4.1.0/clcache.exe -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_PREFIX_PATH=c:/Qt/5.12/msvc2017%QT_SUFFIX%;c:/tools/vcpkg/installed/%PLATFORM%-windows -DCMAKE_GENERATOR_PLATFORM="%CMAKE_PLATFORM%" ..
- cmake --build . -- /maxcpucount:4
- cmake --build . --target tests
- cmake --build . --target package
artifacts:
- path: 'build\lmms-*.exe'
name: Installer
cache:
- c:/tools/vcpkg/installed
88 changes: 86 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,18 @@ shared:
key: ccache-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ .Branch }}-{{ .BuildNum }}
paths:
- ~/.ccache
restore_homebrew_cache: &restore_homebrew_cache
restore_cache:
keys:
- homebrew-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ .Branch }}
- homebrew-{{ arch }}-{{ .Environment.CIRCLE_JOB }}
- homebrew-{{ arch }}
save_homebrew_cache: &save_homebrew_cache
save_cache:
key: homebrew-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ .Branch }}-{{ .BuildNum }}
paths:
- ~/Library/Caches/Homebrew
- /usr/local/Homebrew

ccache_stats: &ccache_stats
run:
Expand All @@ -30,6 +42,14 @@ shared:
mkdir -p /tmp/artifacts
# Workaround for failing submodule fetching
git config --global --unset url."ssh://git@github.com".insteadOf || true
if [[ -n "${CIRCLE_PR_NUMBER}" ]]
then
echo "Fetching out merged pull request"
git fetch -u origin refs/pull/${CIRCLE_PR_NUMBER}/merge:pr/merge
git checkout pr/merge
else
echo "Not a pull request"
fi

# Commmon environment variables
common_environment: &common_environment
Expand Down Expand Up @@ -59,6 +79,15 @@ jobs:
- run:
name: Build tests
command: cd build && make tests
- run:
name: Build installer
command: |
cd build
make package
cp ./lmms-*.exe /tmp/artifacts/
- store_artifacts:
path: /tmp/artifacts/
destination: /
- *ccache_stats
- *save_cache
mingw64:
Expand All @@ -79,11 +108,20 @@ jobs:
- run:
name: Build tests
command: cd build && make tests
- run:
name: Build installer
command: |
cd build
make package
cp ./lmms-*.exe /tmp/artifacts/
- store_artifacts:
path: /tmp/artifacts/
destination: /
- *ccache_stats
- *save_cache
linux.gcc:
docker:
- image: lmmsci/linux.gcc:18.04
- image: lmmsci/linux.gcc:16.04
environment:
<<: *common_environment
steps:
Expand All @@ -92,7 +130,10 @@ jobs:
- *restore_cache
- run:
name: Configure
command: mkdir build && cd build && cmake .. $CMAKE_OPTS -DCMAKE_INSTALL_PREFIX=./install
command: |
source /opt/qt5*/bin/qt5*-env.sh || true
mkdir build && cd build
cmake .. $CMAKE_OPTS -DCMAKE_INSTALL_PREFIX=./install
- run:
name: Build
command: cd build && make
Expand Down Expand Up @@ -125,10 +166,53 @@ jobs:
- run:
name: Shellcheck
command: shellcheck $(find "./cmake/" -type f -name '*.sh' -o -name "*.sh.in")
macos:
environment:
<<: *common_environment
macos:
xcode: "9.3.1"
steps:
- checkout
- *init
- *restore_homebrew_cache
- *restore_cache
- run:
name: Install Homebrew dependencies
command: 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
- run:
name: Install nodejs dependencies
command: npm install -g appdmg
- run:
name: Building
command: |
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX="../target" -DCMAKE_PREFIX_PATH="$(brew --prefix qt5)" $CMAKE_OPTS -DUSE_WERROR=OFF
make
- run:
name: Build tests
command: cd build && make tests
- run:
name: Run tests
command: build/tests/tests
- run:
name: Build DMG
command: |
cd build
make install
make dmg
cp ./lmms-*.dmg /tmp/artifacts/
- store_artifacts:
path: /tmp/artifacts/
destination: /
- *save_cache
- *save_homebrew_cache


workflows:
version: 2
build-and-test:
jobs:
- macos
- mingw32
- mingw64
- linux.gcc
Expand Down
30 changes: 30 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''

---

# Please search the issue tracker for existing bug reports before submitting your own. Delete this line to confirm no similar report has been posted yet.

### Bug Summary

#### Steps to reproduce

#### Expected behavior

#### Actual behavior

#### Screenshot

#### LMMS version used

#### Logs
<details>
<summary>Click to expand</summary>
<pre>
<!-- paste logs here -->
</pre>
</details>
4 changes: 4 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
contact_links:
- name: Get help on Discord
url: https://lmms.io/chat/
about: Need help? Have a question? Reach out to other LMMS users on our Discord server!
18 changes: 18 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''

---

# Please search the issue tracker for existing feature requests before submitting your own. Delete this line to confirm no similar request has been posted yet.

### Enhancement Summary

#### Justification

#### Mockup

<!-- If your request encompasses changes to the user interface, provide a mockup of your proposal here -->
2 changes: 2 additions & 0 deletions .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,5 @@ grejppi <grejppi@gmail.com>
Johannes Lorenz <j.git@lorenz-ho.me> <johannes89@mailueberfall.de>
Johannes Lorenz <j.git@lorenz-ho.me> <1042576+JohannesLorenz@users.noreply.github.com>
Noah Brecht <noahb2713@gmail.com>
Olivier Humbert <trebmuh@tuxfamily.org> <trebmuh@users.noreply.github.com>
Hussam al-Homsi <sawuare@gmail.com> Hussam Eddin Alhomsi <hussameddin.alhomsi@gmail.com>
4 changes: 1 addition & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ matrix:
include:
- env: TYPE=style
- os: linux
- env: TARGET_OS=win32
- env: TARGET_OS=win64
- env: TARGET_OS=debian-sid TARGET_DEPLOY=True
git:
depth: false
Expand All @@ -24,7 +22,7 @@ matrix:
git:
depth: false
- os: osx
osx_image: xcode8.3
osx_image: xcode9.4
before_install:
# appdmg doesn't work with old Node.js
- if [ "$TRAVIS_OS_NAME" = osx ]; then nvm install 10; fi
Expand Down
4 changes: 3 additions & 1 deletion .travis/script.sh
Original file line number Diff line number Diff line change
Expand Up @@ -42,5 +42,7 @@ else
fi

echo "Uploading $PACKAGE to transfer.sh..."
curl --upload-file "$PACKAGE" "https://transfer.sh/$PACKAGE" || true
# Limit the connection time to 3 minutes and total upload time to 5 minutes
# Otherwise the build may hang
curl --connect-timeout 180 --max-time 300 --upload-file "$PACKAGE" "https://transfer.sh/$PACKAGE" || true
fi
21 changes: 15 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ CMAKE_MINIMUM_REQUIRED(VERSION 3.3)
PROJECT(lmms)

SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" ${CMAKE_MODULE_PATH})
SET(LMMS_BINARY_DIR ${CMAKE_BINARY_DIR})
SET(LMMS_SOURCE_DIR ${CMAKE_SOURCE_DIR})

IF(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0005 NEW)
Expand All @@ -13,8 +15,10 @@ IF(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0050 OLD)
ENDIF()
CMAKE_POLICY(SET CMP0020 NEW)
CMAKE_POLICY(SET CMP0057 NEW)
ENDIF(COMMAND CMAKE_POLICY)

INCLUDE(PluginList)
INCLUDE(CheckSubmodules)
INCLUDE(AddFileDependencies)
INCLUDE(CheckIncludeFiles)
Expand All @@ -32,7 +36,7 @@ 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 "0")
SET(VERSION_RELEASE "1")
SET(VERSION_STAGE "")
SET(VERSION_BUILD "0")
SET(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_RELEASE}")
Expand Down Expand Up @@ -140,7 +144,7 @@ CHECK_INCLUDE_FILES(locale.h LMMS_HAVE_LOCALE_H)

LIST(APPEND CMAKE_PREFIX_PATH "${CMAKE_INSTALL_PREFIX}")

FIND_PACKAGE(Qt5 COMPONENTS Core Gui Widgets Xml REQUIRED)
FIND_PACKAGE(Qt5 5.6.0 COMPONENTS Core Gui Widgets Xml REQUIRED)
FIND_PACKAGE(Qt5 COMPONENTS LinguistTools QUIET)

INCLUDE_DIRECTORIES(
Expand Down Expand Up @@ -434,9 +438,9 @@ If(WANT_GIG)
ENDIF(WANT_GIG)

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

# check for sndio (roaraudio won't work yet)
IF(WANT_SNDIO)
Expand Down Expand Up @@ -565,8 +569,8 @@ ADD_SUBDIRECTORY(tests)
ADD_SUBDIRECTORY(data)
ADD_SUBDIRECTORY(doc)

# post-install tasks
ADD_SUBDIRECTORY(cmake/postinstall)
# 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
Expand Down Expand Up @@ -706,4 +710,9 @@ MESSAGE(
"\n\n")

SET(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION "${BIN_DIR}")
if(MSVC)
# We can't set this on the install time according to the configuration
SET(CMAKE_INSTALL_DEBUG_LIBRARIES TRUE)
SET(CMAKE_INSTALL_UCRT_LIBRARIES TRUE)
endif()
INCLUDE(InstallRequiredSystemLibraries)
41 changes: 41 additions & 0 deletions cmake/install/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
SET(PLUGIN_FILES "")
IF(LMMS_BUILD_WIN32)
INSTALL(FILES $<TARGET_FILE:Qt5::QWindowsIntegrationPlugin> DESTINATION platforms)
ENDIF()

IF(LMMS_BUILD_WIN32 OR LMMS_INSTALL_DEPENDENCIES)
include(InstallTargetDependencies)

# Collect directories to search for DLLs
GET_FILENAME_COMPONENT(QTBIN_DIR "${QT_QMAKE_EXECUTABLE}" PATH)
set(LIB_DIRS "${QTBIN_DIR}")

GET_PROPERTY(PLUGINS_BUILT GLOBAL PROPERTY PLUGINS_BUILT)

IF(LMMS_BUILD_WIN32)
SET(LMMS_DEP_DESTINATION ${BIN_DIR})
SET(PLUGIN_DEP_DESTINATION ${BIN_DIR})
ELSE()
SET(LMMS_DEP_DESTINATION ${LIB_DIR})
SET(PLUGIN_DEP_DESTINATION ${LIB_DIR})
ENDIF()

INSTALL_TARGET_DEPENDENCIES(
NAME "main_binary"
TARGETS lmms
DESTINATION "${LMMS_DEP_DESTINATION}"
LIB_DIRS ${LIB_DIRS}
)

INSTALL_TARGET_DEPENDENCIES(
NAME "plugins"
TARGETS ${PLUGINS_BUILT}
DESTINATION ${PLUGIN_DEP_DESTINATION}
LIB_DIRS ${LIB_DIRS} "${PLUGIN_DIR}"
)
ENDIF()

IF(LMMS_BUILD_APPLE)
INSTALL(CODE "EXECUTE_PROCESS(COMMAND chmod u+x ${CMAKE_BINARY_DIR}/install_apple.sh)")
INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${CMAKE_BINARY_DIR}/install_apple.sh)")
ENDIF()
23 changes: 23 additions & 0 deletions cmake/install/excludelist-win
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# List of DLLs considered to be system libraries.
# This is needed when cross-compiling for Windows.
ADVAPI32.dll
COMCTL32.dll
comdlg32.dll
dwmapi.dll
GDI32.dll
IMM32.dll
KERNEL32.dll
MPR.DLL
msvcrt.dll
ole32.dll
OLEAUT32.dll
OPENGL32.DLL
SHELL32.dll
USER32.dll
UxTheme.dll
VERSION.dll
WINMM.DLL
WS2_32.dll
RPCRT4.dll
dsound.dll
SETUPAPI.dll
4 changes: 2 additions & 2 deletions cmake/linux/lmms.desktop
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ Name=LMMS
GenericName=Music production suite
GenericName[ca]=Programari de producció musical
GenericName[de]=Software zur Musik-Produktion
GenericName[fr]=Ensemble pour la production musicale
GenericName[fr]=Suite de production musicale
GenericName[pl]=Narzędzia do produkcji muzyki
Comment=Music sequencer and synthesizer
Comment[ca]=Producció fàcil de música per a tothom!
Comment[fr]=Production facile de musique pour tout le monde !
Comment[fr]=Séquenceur et synthétiseur de musique
Comment[pl]=Prosta produkcja muzyki dla każdego!
Icon=lmms
Exec=lmms %f
Expand Down
Loading