Skip to content

FundamentalFrequency/LMN-3-Emulator

Repository files navigation

LMN-3-Emulator

License: GPL v3

screenshot of emulator

This emulator allows the user to emulate the LMN-3 Hardware and produces MIDI signals that can be used to control the LMN-3-DAW.

If you would like to support the project, please consider becoming a sponsor.

Releases

Releases can be downloaded here

Building From Source

Cloning the Repository

This repository relies on git submodules. You must clone the submodules as well using:

git clone --recurse-submodules https://github.com/FundamentalFrequency/LMN-3-Emulator

Dependencies

You will need to run the following command to install the build dependencies:

sudo apt install apt install libasound2-dev libjack-jackd2-dev \
    ladspa-sdk \
    libcurl4-openssl-dev  \
    libfreetype6-dev \
    libx11-dev libxcomposite-dev libxcursor-dev libxcursor-dev libxext-dev libxinerama-dev libxrandr-dev libxrender-dev \
    libwebkit2gtk-4.0-dev \
    libglu1-mesa-dev mesa-common-dev \ 
    build-essential cmake clang llvm lld

Building the Project

CMake is used to build the project. Execute the following commands to build all project targets:

cmake -B build -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_FLAGS=-fuse-ld=lld -DCMAKE_BUILD_TYPE=Release
cmake --build build -j8

Contributing

Pull requests are welcome and very much appreciated.

Code Style

Please format your code before submitting a PR. It will fail the CI linting check otherwise. You can run the following commands to format it according to the provided .clang-format file:

sudo apt install clang-format # install clang-format if you don't already have it
find Source/ -iname *.h -o -iname *.cpp | xargs clang-format -i --style=file