- Windows 11 Laptop, Intel Core i7, 16gb RAM
- Visual Studio 2022, Community Edition
- OS installed on SSD
- Software installed on HDD
- Install GIT - https://git-scm.com/downloads
- Install CMake - https://cmake.org
- Install QT 5.12.12 - from qt.io, offline installers
- Install Visual Studio C++ Developer Toolkit
- Install WSL and / or linux commands - https://getgnuwin32.sourceforge.net and set them appear in system path.
- Install doxygen - https://www.doxygen.nl, later: graphviz via vcpkg
- Install vcpkg from GitHub - https://github.com/microsoft/vcpkg
- Install vcpkg based packages required for LMMS
- very long time taking process: > 1:00 hours
- Uses a lot of bandwidth
- Obtain the LMMS Source Code from GitHub
- Obtain other LMMS Depedencies (git submodules)
- Build project (solution files) with CMake
- Manually copy data/, data/stk, plugins directories
- Manually copy plugins/ladspa/*.dll - because they do not build
- Unload 32bit projects from Visual Studio - requires 32 bit qt
- Compile! Run!
- Plugins with difficulties
- Other notes
Preperation for the plugins that do not compile from the source code.
- Install official/nighly build of LMMS.
- Copy LMMS/ folder to a reference path. You will need plugins/ladspa folder from this reference.
- Uninstall LMMS - so we can build our own copy.
cd d:\
git clone https://github.com/Microsoft/vcpkg
cd vcpkg
.\bootstrap-vcpkg.bat
.\vcpkg install --triplet=x64-windows fftw3 libsamplerate libsndfile lilv lv2 sdl2 fluidsynth fltk libstk portaudio graphviz glib
Obtain LMMS Source Code. Obtain 3rd party depenencies for LMMS
git clone --recurse-submodules -b master https://github.com/lmms/lmms
cd lmms
git submodule update --progress --init --recursive --force --merge --rebase
mkdir build
cd build
cmake .. -G "Visual Studio 17 2022" -DCMAKE_PREFIX_PATH=C:\Qt\Qt5.12.12\5.12.12\msvc2017_64 -DQT_32_PREFIX=C:\Qt\Qt5.12.12\5.12.12\msvc2019 -DCMAKE_TOOLCHAIN_FILE=d:/vcpkg/scripts/buildsystems/vcpkg.cmake
mkdir Debug
mkdir Release
mkdir plugins\Debug
mkdir plugins\Release
cmake --build . --config Debug
cmake --build . --config Release
Manually copy parent data folder inside compiled output: "build/Debug/"
copy ..\..\data .\Debug\
It should also consist: data\stk\rawwaves
- directory where plugins will compile (reference only, auto created during the compilation)
mkdir plugins\Debug
- Reuse compiled plugins for main binaries.
cd Debug
mklink /d plugins ..\plugins\Debug
REM Reuse release version plugins for lmms.exe release version
cd ..
cd Release
mklink /d plugins ..\plugins\Release
- open lmms.sln in Visual Studio
- Unload 32bit projects from Visual Studio
RemoteVstPlugin32project
- Compile!
- Run :-)
You will get lmms.exe at: build/Debug/ folder. I have not tested with Release build option.
None of the ladspa plugins compile natively. So, please copy them directly into plugins/ladspa folder from outside. You should first install with an official copy of LMMS installer to get this folder.
- ladspa/*.dll copied directly into (imp_1199.dll, mbeq_1197.dll, pitch_scale_1193.dll, pitch_scale_1194.dll)
- sf2player.dll - compiled/built but does not run well
- Uses Microphone during the LMMS
- Gigabytes of overall downloads
- Gigabytes of total hard disk usage
- Taking a lot of time to complete the proces
- All projects are listed in same hierarchy.
- For example, one language translation becomes a project on the top hierarchy of the lmms.sln file.
- Translation projects, and application projects are mixed together.
- Packaging, Installation, Uninstallation not considered.
- Release mode build not considered.
Hope, you builds were successful!