Skip to content
This repository has been archived by the owner on May 12, 2022. It is now read-only.
/ dart-mod-player Public archive
generated from ModusCreateOrg/template

Dart-based CLI Mod Music Player using Dart FFI, libOpenMPT and libPortAudio

License

Notifications You must be signed in to change notification settings

moduslabs/dart-mod-player

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dart MOD Player

MIT Licensed Powered by Modus_Create

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-live-waveform-example dart-mod-player-timed-waveform-example

Dart-mod-player-480.mov

Getting Started

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.

How it works

(To be written)

Contribuing

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

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.

Modus Create

This project is part of Modus Labs.

Modus Labs

Licensing

This project is MIT licensed.