musique/CHANGELOG.md

81 lines
2.8 KiB
Markdown
Raw Normal View History

2022-09-25 23:08:24 +02:00
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Added
- new builtins: map, while, set_len, duration
- `<note><octave>` notation like `c4` that mimics [scientific notation](https://en.wikipedia.org/wiki/Scientific_pitch_notation)
- operator pretty printing while printing values
### Changed
- Block can be called with more parameters then it requires
- Removed `[]` sequence notation in favour of `()`
- reorganized fold argument order
2022-10-27 21:09:46 +02:00
- Moved from `(<note> <octave> <length>)` invocation to `(<note> <length>)`
### Fixed
- Index operation using booleans behaves like a mask and not fancy way of spelling 0 and 1
- Blocks are check against beeing a collection at runtime to prevent treating anonymous functions as collections and cousing assertions
### Removed
- Removed `<note><absolute notes indexes>` chord notation like `c47` meaning c-major
## [0.2.1] - 2022-10-21
### Fixed
- Windows build doesn't require pthread dll
2022-10-21 13:11:28 +02:00
## [0.2.0] - 2022-10-21
2022-09-25 23:08:24 +02:00
### Added
* Added `scan` builtin, which computes prefix sum of passed values when provided with addition operator
* Added [rtmidi](https://github.com/thestk/rtmidi/) dependency which should provide multiplatform MIDI support
* Support for Windows (with only basic REPL) (`make os=windows`)
2022-10-14 16:43:13 +02:00
* 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)
2022-10-20 14:37:50 +02:00
* 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
2022-10-21 13:11:28 +02:00
* VSCode extension has been re-created
### 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
2022-09-25 23:08:24 +02:00
## [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