From 943ac30893900a2b9902b66082ce32e8b86ae5d1 Mon Sep 17 00:00:00 2001 From: "Roger B. Dannenberg" Date: Tue, 3 Dec 2024 15:01:54 -0500 Subject: [PATCH] Minor additions/corrections to CHANGELOG and README --- CHANGELOG.txt | 7 +++++++ README.md | 20 ++++++++++++++++---- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index fee4330..6a0231f 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,4 +1,7 @@ /* CHANGELOG FOR PORTMIDI + * + * 23May22 Roger Dannenberg + * - fix for Apple Arm (M1) cpus * * 21Feb22 v2.0.3 Roger Dannenberg * - this version allows multiple hardware devices to have the same name. @@ -14,6 +17,10 @@ * - Fix for unicode endpoints on macOS CoreMIDI. * - Parsing in macOS of realtime message embedded in short messages * (can this actually happen?) + * - Support higher data rates using macOS CoreMIDI. Note that + * CoreMIDI will drop messages to non-hardware (e.g. IAC bus) when + * data rate is too high, so PortMIDI throttles data to a safe rate, + * but data to hardware, e.g. USB, is no longer throttled. * - renamed pm_test/test.c to pm_test/testio.c * - with this release, pm_java, pm_csharp, pm_cl, pm_python, pm_qt * are marked as "legacy code" and README.txt's refer to other diff --git a/README.md b/README.md index 3f0463c..234306a 100644 --- a/README.md +++ b/README.md @@ -9,10 +9,20 @@ for related code and bindings (although currently, not much is here). ## Compiling and Using PortMidi -Use CMake (or ccmake) to create a Makefile for Linux/BSD or a + +Use CMake (or ccmake) to create a Makefile for Linux/BSD or a project file for Xcode or MS Visual Studio. Use make or an IDE to compile: + +On Linux, you need ALSA. + +Ubuntu / Debian: +`sudo apt install libasound2-dev` + +Fedora / Red Hat / CentOS: +`sudo dnf install alsa-lib-devel` + +All: ``` -sudo apt install libasound2-dev # on Linux, you need ALSA cd portmidi # start in the top-level portmidi directory ccmake . # set any options interactively, type c to configure # type g to generate a Makefile or IDE project @@ -45,9 +55,9 @@ bindings for these and other languages: - Python: Various libraries and packages exist; search and ye shall find. If you wouldn't like to do research, check out [mido](https://mido.readthedocs.io/en/stable/) - [SML](https://github.com/jh-midi/portmidi-sml2) -- [OCaml](https://ocaml.org/p/portmidi/0.1) +- [OCaml](https://ocaml.org/p/portmidi/0.1) - [Haskell](https://hackage.haskell.org/package/PortMidi) -- [Erlang](https://hexdocs.pm/portmidi/PortMidi.html) +- [Erlang](https://hexdocs.pm/portmidi/PortMidi.html) - [Julia](https://github.com/SteffenPL/PortMidi.jl) - [C#](https://github.com/net-core-audio/portmidi) - [Rust](https://musitdev.github.io/portmidi-rs/) @@ -80,6 +90,8 @@ sndio is also minimally supported, allowing basic PortMidi functions in OpenBSD, FreeBSD, and NetBSD by setting USE_SNDIO for CMake, but not delayed/timestamped output and virtual devices. +See CHANGELOG.txt for more details. + # Other Repositories PortMidi used to be part of the PortMedia suite, but this repo has