Dart MOD Player is a experiment that uses Dart FFI to play music using the Amiga MOD style format. This experiment will paint terminal with the Pattern information from the song, as well as draw waveforms for the left and right channels, rendering at up to 60fps. This project has been tested with macOS Big Sur and Ubuntu Linux 20.04+.
Dart-mod-player-480.mov
The following assumes you have the following dependencies installed:
- Dart (or Flutter) SDKs
- gcc (or clang)
- cmake
- make
- wget
- git
For Linux:
- libsndfile-dev
- libasound-dev
# Clone this repo:
git clone https://github.com/moduslabs/dart-mod-player.git
# Grab dart dependencies
cd dart-mod-player
dart pub get
# Build dependent libraries
cd scripts/
bash make-openmpt.sh
bash make-portaudio.sh
cd ..
# Build the internal CPP library
cd lib/OpenMPT/
bash make-library.sh
cd ../..
# Run the experiment (from project root)
dart player.dart songs/Main_Menu.xm
# Hit CTRL + C to exit.
(To be written)
Best way to contribute to this is to create an issue, fork this repo and make a PR with your updates/code changes.
Modus Create is a digital product consultancy. We use a distributed team of the best talent in the world to offer a full suite of digital product design-build services; ranging from consumer facing apps, to digital migration, to agile development training, and business transformation.
This project is part of Modus Labs.
This project is MIT licensed.