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