MIDIFUC

MIDI For Use in Coding (MIDIFUC) is a MIDI-based programming language inspired by Brainfuck that emphasizes musicality over functionality.

Running the interpreter

Prerequisites

  • Rust
    • The default installer should also install the cargo crate manager.

Instructions

In the root folder of the repository, the project can be built and run using cargo.

cargo run -- [LOCATION] [TRACK NUMBER]

Alternatively, a binary can be built with

cargo build --release

and can be executed like so:

# Linux
./target/release/midifuc [LOCATION] [TRACK NUMBER]

# Windows
./target/release/midifuc.exe [LOCATION] [TRACK NUMBER]

Running test MIDI files

In the root folder of the repository, each test can be run with their respective commands:

Hello World:

cargo run -- ./tests/helloworld.mid 1

Read/write 1 character from stdin to stdout:

cargo run -- ./tests/readwrite.mid 0

cat equivalent:

cargo run -- ./tests/cat.mid 0

These test MIDI files can also be listened to with any MIDI player, such as:

  • http://app.midiano.com
  • Windows Media Player
  • VLC Media Player
  • All digital audio workstation software (FL Studio, Ableton, etc.)