Skip to content

Commit fe66e9d

Browse files
chore: bump midi2 dependency to v0.3.4 across all install paths
midi2 v0.3.4 ships the ESP-IDF Component Manager fix; consumers no longer need the manual `cp -r dist/` workaround when the dependency is fetched via git URL. Bumps 26 references across: - library.properties: depends=midi2 (>=0.3.4) - library.json: dependencies."sauloverissimo/midi2": "^0.3.4" - README.md badge + install snippets - CHANGELOG.md cross-references - 8 Pico SDK + 2 TinyUSB CMake recipes: FetchContent GIT_TAG v0.3.4 - 7 ESP-IDF recipes: idf_component.yml git version v0.3.4 - 3 PlatformIO recipes: lib_deps midi2 @ ^0.3.4 - .github/workflows/ci.yml: arduino-cli git URL fallback v0.3.4 - root CMakeLists.txt: find_package + FetchContent v0.3.4 Verified locally end to end: - Host suite (cmake + ctest 7/7 pass) - esp32-s3-devkitc-usb-midi2 reconfigure + build with v0.3.4 from GitHub Component Manager (no local path workaround)
1 parent ac06bdb commit fe66e9d

27 files changed

Lines changed: 39 additions & 39 deletions

File tree

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ jobs:
125125
ln -s "$GITHUB_WORKSPACE" ~/Arduino/libraries/midi2cpp
126126
127127
- name: Install midi2 dependency from Library Manager
128-
# midi2cpp depends on midi2 (>=0.3.3) but arduino-cli does not
128+
# midi2cpp depends on midi2 (>=0.3.4) but arduino-cli does not
129129
# walk depends= entries automatically. Install it explicitly.
130130
# Falls back to the GitHub git URL if the registry index has
131131
# not propagated yet (Library Manager indexes within 24h of a
@@ -134,7 +134,7 @@ jobs:
134134
arduino-cli lib update-index
135135
arduino-cli lib install midi2 || \
136136
(arduino-cli config set library.enable_unsafe_install true && \
137-
arduino-cli lib install --git-url https://github.com/sauloverissimo/midi2.git#v0.3.3)
137+
arduino-cli lib install --git-url https://github.com/sauloverissimo/midi2.git#v0.3.4)
138138
139139
- name: Compile Arduino sketches (skip non-sketch dirs)
140140
run: |

CHANGELOG.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,14 @@ patterns shipped under `examples/`.
2424

2525
- **Vendored `src/midi2.{h,c}` removed.** midi2cpp now declares
2626
midi2 as an external dependency:
27-
- `library.properties` carries `depends=midi2 (>=0.3.3)`. Arduino
27+
- `library.properties` carries `depends=midi2 (>=0.3.4)`. Arduino
2828
Library Manager auto-installs midi2 when a sketch includes
2929
midi2cpp.
3030
- `library.json` carries `dependencies."sauloverissimo/midi2":
31-
"^0.3.3"`. PlatformIO resolves midi2 from its registry.
31+
"^0.3.4"`. PlatformIO resolves midi2 from its registry.
3232
- The root `CMakeLists.txt` exposes a three-layer fallback at the
33-
top (`if(NOT TARGET midi2)` -> `find_package(midi2 0.3.3 CONFIG)`
34-
-> `FetchContent_Declare(midi2 GIT_TAG v0.3.3)`), then links
33+
top (`if(NOT TARGET midi2)` -> `find_package(midi2 0.3.4 CONFIG)`
34+
-> `FetchContent_Declare(midi2 GIT_TAG v0.3.4)`), then links
3535
midi2cpp `PUBLIC midi2::midi2` so downstream targets see the
3636
C99 core transitively.
3737

@@ -81,10 +81,10 @@ patterns shipped under `examples/`.
8181

8282
| Build system | Mechanism | Recipes |
8383
|---|---|---|
84-
| Pico SDK | `FetchContent_Declare(midi2 GIT_TAG v0.3.3)` plus `target_link_libraries(midi2cpp PUBLIC midi2::midi2)` | `rp2040-midi2`, `waveshare-rp2040-midi2`, `sparkfun-promicro-rp2350-midi2`, `waveshare-rp2350-usb-a-midi2`, `waveshare-rp2350-usb-a-bridge-midi2`, `adafruit-feather-rp2040-host-midi2`, `adafruit-feather-rp2040-bridge-midi2`, `rp2040-promicro-ump-test-bench` |
84+
| Pico SDK | `FetchContent_Declare(midi2 GIT_TAG v0.3.4)` plus `target_link_libraries(midi2cpp PUBLIC midi2::midi2)` | `rp2040-midi2`, `waveshare-rp2040-midi2`, `sparkfun-promicro-rp2350-midi2`, `waveshare-rp2350-usb-a-midi2`, `waveshare-rp2350-usb-a-bridge-midi2`, `adafruit-feather-rp2040-host-midi2`, `adafruit-feather-rp2040-bridge-midi2`, `rp2040-promicro-ump-test-bench` |
8585
| TinyUSB native CMake | same FetchContent pattern as Pico SDK | `xiao-samd21-midi2`, `nrf52840-promicro-midi2` |
86-
| ESP-IDF | `idf_component.yml` declares `midi2: { git: ..., version: ">=0.3.3" }` and `idf_component_register` lists `midi2` in `REQUIRES` | `arduino-nano-esp32-midi2`, `esp32-s3-devkitc-usb-midi2`, `esp32-p4-devkit-usb-midi2`, `esp32-p4-devkit-host-midi2`, `esp32-p4-devkit-bridge-midi2`, `esp32-p4-devkit-bridge2-midi2`, `t-display-s3-midi2` |
87-
| PlatformIO + ESP32_Host_MIDI | `lib_deps += sauloverissimo/midi2 @ ^0.3.3` | `esp32-c6-devkitc-multi-midi2`, `esp32-s3-devkitc-host-midi2`, `t-display-s3-shield-host-midi2` |
86+
| ESP-IDF | `idf_component.yml` declares `midi2: { git: ..., version: ">=0.3.4" }` and `idf_component_register` lists `midi2` in `REQUIRES` | `arduino-nano-esp32-midi2`, `esp32-s3-devkitc-usb-midi2`, `esp32-p4-devkit-usb-midi2`, `esp32-p4-devkit-host-midi2`, `esp32-p4-devkit-bridge-midi2`, `esp32-p4-devkit-bridge2-midi2`, `t-display-s3-midi2` |
87+
| PlatformIO + ESP32_Host_MIDI | `lib_deps += sauloverissimo/midi2 @ ^0.3.4` | `esp32-c6-devkitc-multi-midi2`, `esp32-s3-devkitc-host-midi2`, `t-display-s3-shield-host-midi2` |
8888

8989
Each recipe drops the `${MIDI2CPP_ROOT}/src/midi2.c` (or `midi2_c99`
9090
helper library) from its source list. Other midi2cpp sources

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
1313
# This is the same pattern the midi2 README documents for downstream
1414
# consumers, applied to midi2cpp itself.
1515
if(NOT TARGET midi2)
16-
find_package(midi2 0.3.3 QUIET CONFIG)
16+
find_package(midi2 0.3.4 QUIET CONFIG)
1717
if(NOT midi2_FOUND)
1818
include(FetchContent)
1919
FetchContent_Declare(midi2
2020
GIT_REPOSITORY https://github.com/sauloverissimo/midi2.git
21-
GIT_TAG v0.3.3
21+
GIT_TAG v0.3.4
2222
)
2323
FetchContent_MakeAvailable(midi2)
2424
endif()

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
[![release](https://img.shields.io/github/v/release/sauloverissimo/midi2cpp.svg)](https://github.com/sauloverissimo/midi2cpp/releases/latest)
1010
[![C++17](https://img.shields.io/badge/C%2B%2B-17-00599C.svg)](https://en.cppreference.com/cpp/compiler_support)
1111
[![MIDI 2.0](https://img.shields.io/badge/MIDI-2.0-blueviolet.svg)](https://midi.org/specifications/midi-2-0-specifications)
12-
[![depends: midi2](https://img.shields.io/badge/depends-midi2_%E2%89%A5_0.3.3-blueviolet.svg)](https://github.com/sauloverissimo/midi2)
12+
[![depends: midi2](https://img.shields.io/badge/depends-midi2_%E2%89%A5_0.3.4-blueviolet.svg)](https://github.com/sauloverissimo/midi2)
1313
[![Arduino](https://img.shields.io/badge/Arduino-IDE-00979D.svg)](https://www.arduino.cc/)
1414
[![PlatformIO](https://img.shields.io/badge/PlatformIO-Registry-FF7F00.svg)](https://registry.platformio.org/libraries/sauloverissimo/midi2cpp)
1515
[![ESP-IDF](https://img.shields.io/badge/ESP--IDF-v5.4-E7352C.svg)](https://docs.espressif.com/projects/esp-idf/en/stable/)
@@ -57,10 +57,10 @@ Underneath, [midi2](https://github.com/sauloverissimo/midi2) (the portable C99 c
5757
midi2cpp draws a clear line between what the library declares and what stays the caller's job:
5858

5959
- **Exactly one declared dependency: [midi2](https://github.com/sauloverissimo/midi2).** The C99 core lives in its own repo, is versioned independently, and is resolved by whichever package manager fits the host build:
60-
- Arduino Library Manager: `depends=midi2 (>=0.3.3)` in `library.properties`.
61-
- PlatformIO Registry: `dependencies."sauloverissimo/midi2": "^0.3.3"` in `library.json`.
60+
- Arduino Library Manager: `depends=midi2 (>=0.3.4)` in `library.properties`.
61+
- PlatformIO Registry: `dependencies."sauloverissimo/midi2": "^0.3.4"` in `library.json`.
6262
- ESP-IDF Component Manager: `idf_component.yml` declaration plus `midi2` in `REQUIRES`.
63-
- CMake: `find_package(midi2 0.3.3 CONFIG)` first, falls back to `FetchContent_Declare(midi2 GIT_TAG v0.3.3)`.
63+
- CMake: `find_package(midi2 0.3.4 CONFIG)` first, falls back to `FetchContent_Declare(midi2 GIT_TAG v0.3.4)`.
6464
- **No submodules.** `git clone` is the install. No `--recurse-submodules`, no half-initialised state.
6565
- **No transport library pulled in.** TinyUSB, Teensy native USB, PIO-USB, libDaisy USBMidi: all caller-supplied. The library does not include `<Arduino.h>`, `pico/time.h`, `esp_timer.h`, or any USB header.
6666
- **No clock or RNG dependency.** Caller injects `millis` / `time_us_64` / `esp_timer_get_time` and `random` / `get_rand_32` / `esp_random` through public hooks. Unset hooks degrade silently, no missing-symbol link errors.
@@ -242,7 +242,7 @@ dependencies:
242242
idf: ">=5.4"
243243
midi2:
244244
git: https://github.com/sauloverissimo/midi2.git
245-
version: ">=0.3.3"
245+
version: ">=0.3.4"
246246
```
247247
248248
`main/CMakeLists.txt` lists `midi2` (and any of `midi2cpp`'s wrapper sources you use) in its `idf_component_register(...)` block. The seven ESP-IDF recipes under [`examples/`](examples/) ship working templates for device, host and bridge roles.
@@ -259,7 +259,7 @@ FetchContent_Declare(
259259
FetchContent_MakeAvailable(midi2cpp)
260260
```
261261

262-
`midi2cpp` cascades the dependency on `midi2` to the parent project: `find_package(midi2 0.3.3 CONFIG)` is tried first, falling back to `FetchContent_Declare(midi2 GIT_TAG v0.3.3)` if no install is found.
262+
`midi2cpp` cascades the dependency on `midi2` to the parent project: `find_package(midi2 0.3.4 CONFIG)` is tried first, falling back to `FetchContent_Declare(midi2 GIT_TAG v0.3.4)` if no install is found.
263263

264264
### Git submodule
265265

examples/adafruit-feather-rp2040-bridge-midi2/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ if(NOT TARGET midi2)
8282
else()
8383
FetchContent_Declare(midi2
8484
GIT_REPOSITORY https://github.com/sauloverissimo/midi2.git
85-
GIT_TAG v0.3.3
85+
GIT_TAG v0.3.4
8686
GIT_SHALLOW TRUE
8787
)
8888
endif()

examples/adafruit-feather-rp2040-host-midi2/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ if(NOT TARGET midi2)
8989
else()
9090
FetchContent_Declare(midi2
9191
GIT_REPOSITORY https://github.com/sauloverissimo/midi2.git
92-
GIT_TAG v0.3.3
92+
GIT_TAG v0.3.4
9393
GIT_SHALLOW TRUE
9494
)
9595
endif()

examples/arduino-nano-esp32-midi2/idf/main/idf_component.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ dependencies:
77
idf: ">=5.4"
88
midi2:
99
git: https://github.com/sauloverissimo/midi2.git
10-
version: "v0.3.3"
10+
version: "v0.3.4"

examples/esp32-c6-devkitc-multi-midi2/pio/platformio.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ build_flags =
5353
lib_extra_dirs = ../../..
5454

5555
lib_deps =
56-
sauloverissimo/midi2 @ ^0.3.3
56+
sauloverissimo/midi2 @ ^0.3.4
5757
https://github.com/sauloverissimo/ESP32_Host_MIDI.git#v6.0.1
5858

5959
; Pre-build patch: ESP32_Host_MIDI v6.0.0 ships USB Host transport sources

examples/esp32-p4-devkit-bridge-midi2/idf/main/idf_component.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ dependencies:
77
idf: ">=5.4"
88
midi2:
99
git: https://github.com/sauloverissimo/midi2.git
10-
version: "v0.3.3"
10+
version: "v0.3.4"

examples/esp32-p4-devkit-bridge2-midi2/idf/main/idf_component.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ dependencies:
77
idf: ">=5.4"
88
midi2:
99
git: https://github.com/sauloverissimo/midi2.git
10-
version: "v0.3.3"
10+
version: "v0.3.4"

0 commit comments

Comments
 (0)