niMIDI

MIDI file parser in Nim, for Nim

Pure Nim score 15/100 · tests present · no docs generated

Summary

Latest Version 0.1.1
License MIT
CI Status Failing
Downloads 0
Last Indexed 2026-07-21 05:26

Authors

  • Mycsina

Installation

nimble install niMIDI
choosenim install niMIDI
git clone https://github.com/Mycsina/NiMIDI

OS Compatibility

Platform Linux macOS Windows FreeBSD OpenBSD NetBSD Android iOS WASM Embedded
niMIDI - - - - - - -

Dependencies

Package Version Optional
nim >= 2.0.0 No

Source

Repository https://github.com/Mycsina/NiMIDI
Homepage https://github.com/Mycsina/NiMIDI
Registry Source nimble_official

README

niMIDI is a library for parsing and writing MIDI files. Very much a work in progress, so function names and types are subject to change.

Installation

nimble install niMIDI

Usage

import niMIDI

let midi = parseFile("test.mid")
echo midi.header

(length: 6, format: ConcurrentTrack, tracks: 5, division: Metrical, ticks: 480, negativeSMPTE: 0)

writeMIDI("test.mid", midi)

TODO

  • [ ] Add support for sysex messages
  • [ ] Fix visibility macros
  • [ ] Make it easier to manipulate the parsed MIDI data