musique/CHANGELOG.md
2022-10-20 16:42:05 +02:00

1.9 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • Added scan builtin, which computes prefix sum of passed values when provided with addition operator
  • Added rtmidi dependency which should provide multiplatform MIDI support
  • Support for Windows (with only basic REPL) (make os=windows)
  • Support for MacOS (make os=macos)
  • Release package now with compiled Windows binary
  • :load REPL command to load Musique files inside Musique session. Allows for delayed file execution after a connection
  • :quit REPL command that mirrors :exit command
  • Virtual MIDI output port creation as default action (--output connects to existing one)
  • Added build instructions
  • -f commandline argument that will turn file into deffered function

Changed

  • Integrated libmidi library into Musique codebase
  • Moved from custom ALSA interaction to using rtmidi for MIDI I/O operations

Removed

  • Support for incoming MIDI messages handling due to poor implementation that didn't statisfy user needs

Fixed

  • Prevented accidental recursive construction of Arrays and Values by making convinience constructor Value::Value(std::vector<Value>&&) explicit

[0.1.0] - 2022-09-25

Added

  • Musique programming language initial implementation that supports:
  • Chord system
  • Playing MIDI notes using par, sim and play
  • Notes and chords as first-class citizens of Musique
  • Bunch of builtins like math and array operations
  • All numerical values as fractions (like in JavaScript but better)
  • Primitive interactive mode
  • Only ALSA MIDI Sequencer output
  • Simple regression testing framework
  • Basic documentation of builtin functions and operators