Skip to content

Commit 98b4394

Browse files
release: v0.3.0
Renamed from midi2_cpp to midi2cpp in deference to starfishmod/MIDI2_CPP (maintained since 2021 by Andrew Mee, MIDI Association TSB Rep), which operates in the same domain. Keeping the namespaces disjoint avoids confusion in package managers and search. This is a breaking release. Repository, header, CMake target / alias, preprocessor macros and manifest names all moved. The C++ API surface (`namespace midi2`, `m2device`, `m2host`, `m2bridge`, `m2ci`, ...) is unchanged. Bumps the midi2 dependency to v0.3.4 across every install path (Arduino LM, PlatformIO, ESP-IDF Component Manager, CMake find_package + FetchContent). midi2 v0.3.4 fixes the ESP-IDF Component Manager gate that v0.3.3 routed at dist/midi2.c (filtered out of the dependency tarball). See CHANGELOG.md for the full migration diff.
1 parent 89ca38e commit 98b4394

4 files changed

Lines changed: 40 additions & 3 deletions

File tree

CHANGELOG.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,43 @@ All notable changes to `midi2cpp` are recorded here. Format follows
55
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
66
mirrored from the upstream midi2 C99 policy.
77

8+
## [0.3.0]
9+
10+
Renamed from `midi2_cpp` to `midi2cpp` in deference to [`starfishmod/MIDI2_CPP`](https://github.com/starfishmod/MIDI2_CPP) (maintained since 2021 by Andrew Mee, MIDI Association TSB Rep), which operates in the same domain. Keeping the namespaces disjoint avoids confusion in package managers and search.
11+
12+
This is a **breaking** rename. Every consumer-facing identifier moved:
13+
14+
### Breaking
15+
16+
- **Repository:** `github.com/sauloverissimo/midi2_cpp` -> `github.com/sauloverissimo/midi2cpp` (the old URL redirects on the GitHub side, but new code should pin the new name).
17+
- **Header:** `<midi2_cpp.h>` -> `<midi2cpp.h>`. `using namespace midi2;` is unchanged; the C++ API surface (`m2device`, `m2host`, `m2bridge`, `m2ci`, `Bridge`, `Device`, ...) is unchanged.
18+
- **CMake target:** `midi2_cpp` -> `midi2cpp`; alias `midi2_cpp::midi2_cpp` -> `midi2cpp::midi2cpp`. `target_link_libraries(... midi2cpp)` replaces `... midi2_cpp`.
19+
- **Preprocessor macros:** `MIDI2_CPP_*` -> `MIDI2CPP_*` (`MIDI2CPP_BUILD_TESTS`, `MIDI2CPP_MAX_PROFILES`, `MIDI2CPP_MAX_PROPERTIES`, `MIDI2CPP_MAX_SUBSCRIBERS`, `MIDI2CPP_HOST_MAX_DEVICES`, `MIDI2CPP_BRIDGE_MAX_SLOTS`).
20+
- **Manifests:** `library.properties` `name=midi2cpp`, `library.json` `"name": "midi2cpp"`. The Arduino Library Manager and the PlatformIO Registry treat the rename as a new entry; the previous `midi2_cpp` listings will be retired in a follow-up PR to `arduino/library-registry`.
21+
22+
### Changed
23+
24+
- **Dependency on midi2 bumped to v0.3.4** across every install path (Arduino LM `depends=midi2 (>=0.3.4)`, PlatformIO `^0.3.4`, ESP-IDF `version: "v0.3.4"`, CMake `find_package(midi2 0.3.4 CONFIG)` + `FetchContent_Declare(... GIT_TAG v0.3.4)`). midi2 v0.3.4 fixes the ESP-IDF Component Manager gate (`dist/` filtered from the dependency tarball); without it, ESP-IDF recipes failed configure.
25+
26+
### Migration
27+
28+
```diff
29+
-#include <midi2_cpp.h>
30+
+#include <midi2cpp.h>
31+
```
32+
33+
CMake:
34+
```diff
35+
-FetchContent_Declare(midi2_cpp ...)
36+
-target_link_libraries(my_target PRIVATE midi2_cpp)
37+
+FetchContent_Declare(midi2cpp ...)
38+
+target_link_libraries(my_target PRIVATE midi2cpp)
39+
```
40+
41+
Arduino Library Manager: search `midi2cpp` (the previous `midi2_cpp` entry will be removed once the registry PR lands).
42+
43+
PlatformIO: `lib_deps = sauloverissimo/midi2cpp @ ^0.3.0`.
44+
845
## [0.2.0]
946

1047
Single source of truth for the MIDI 2.0 stack: midi2cpp no longer

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
cmake_minimum_required(VERSION 3.14)
2-
project(midi2cpp VERSION 0.2.0 LANGUAGES C CXX)
2+
project(midi2cpp VERSION 0.3.0 LANGUAGES C CXX)
33

44
set(CMAKE_C_STANDARD 99)
55
set(CMAKE_C_STANDARD_REQUIRED ON)

library.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "midi2cpp",
3-
"version": "0.2.0",
3+
"version": "0.3.0",
44
"description": "C++17 Arduino-style wrapper for MIDI 2.0 on embedded devices. Thin wrapper over the portable midi2 C99 library. Covers UMP, MIDI-CI with Appendix E, Profile, PE Subscribe/Notify, Process Inquiry, Flex Data, and Bit Scaling. Targets RP2040, RP2350, Teensy, ESP32 family, nRF52, and SAMD21.",
55
"keywords": "midi, midi2, usb, ump, capability-inquiry, property-exchange, profile",
66
"authors": [

library.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=midi2cpp
2-
version=0.2.0
2+
version=0.3.0
33
author=Saulo Verissimo <sauloverissimo@gmail.com>
44
maintainer=Saulo Verissimo <sauloverissimo@gmail.com>
55
sentence=C++17 Arduino-style wrapper for MIDI 2.0 on embedded devices.

0 commit comments

Comments
 (0)