Releases: celtera/libremidi
Releases · celtera/libremidi
v4.5.0
New features
- Remade and extended the documentation: https://celtera.github.io/libremidi
- Experimental PipeWire back-end
Changes
- MIDI 1 logic refactored across all back-ends to make sure they all behave exactly the same wrt timestamping and filtering.
v4.4.0
New features
- Add Debian (bullseye, bookworm, trixie) to the CI to make sure ALSA UMP and RawMidi support gets tested
- Fix iOS support and add iOS CI (thanks @fwcd !)
- Add compatibility with ni-midi2: the
libremidi::ump
type will convert automatically from / tomidi::universal_packet
and it is possible to send directly some ni-midi2 data types throughlibremidi::midi_out
- Added an example of very basic MIDI-CI interoperation with MIDI2.0Workbench: https://github.com/jcelerier/libremidi/blob/master/examples/midi2_interop.cpp
- Observer: add a
track_any
flag to track MIDI ports that are not reported as being hardware or software. - UMP: allow
send_ump
to handle UMP streams, not only single UMP packets.
Bugfixes
- Fix sysex concatenation on WinMM
- Various MIDI 2-related fixes across the entire stack
- Work-in-progress on RawMidi MIDI2 backend - output should work, input not there yet. Testing and reporting issues highly appreciated!
- Some compatibility bugfixes, better detection of available features in cmake
Other
- Revamp and cleanup the cmake backends in separate files for clarity.
v4.3.0
-
Improvements to timing handling:
- Added a Custom timestamping mechanism which allows the user to provide a custom callback to run timestamping as close as possible to the event's reception.
- Added midi_in::absolute_timestamp() to get the origin timestamp for driver-provided ticks as accurately as possible.
- e.g. in practice this is taking the time just near the ALSA queue creation or WinMM MIDI open.
-
Bugfixes in JACK
-
Many warning fixes - thanks @lilggamegenius for the extensive work!
-
Fix MIDI dump example - thanks @chdiesch!
-
Add SOVERSION to dynamic library