Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/FundamentalFrequency/LMN-3-Emulator
LMN-3 MIDI Emulator
https://github.com/FundamentalFrequency/LMN-3-Emulator
Last synced: 4 months ago
JSON representation
LMN-3 MIDI Emulator
- Host: GitHub
- URL: https://github.com/FundamentalFrequency/LMN-3-Emulator
- Owner: FundamentalFrequency
- Created: 2022-03-04T00:26:17.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-06-23T23:10:55.000Z (over 2 years ago)
- Last Synced: 2024-08-02T16:38:01.000Z (7 months ago)
- Language: C++
- Homepage:
- Size: 17.8 MB
- Stars: 178
- Watchers: 5
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# LMN-3-Emulator
[](https://www.gnu.org/licenses/gpl-3.0)
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](https://github.com/FundamentalFrequency/LMN-3-DAW).If you would like to support the project, please consider becoming a [sponsor](https://github.com/sponsors/stonepreston).
## Releases
Releases can be downloaded [here](https://github.com/FundamentalFrequency/LMN-3-Emulator/releases)## Building From Source
### Cloning the Repository
This repository relies on git submodules. You must clone the submodules as well using:
```bash
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:
```bash
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:
```bash
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:
```bash
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
```