summaryrefslogtreecommitdiff
path: root/src/class/midi/midi.h
AgeCommit message (Collapse)Author
2026-07-02license: use SPDX identifiers for src/ headers (#3749)Ha Thach
* license: use SPDX identifiers for src/ headers Replace the full ~20-line MIT license boilerplate on every src/ file with a two-line SPDX tag (SPDX-FileCopyrightText + SPDX-License-Identifier), following the REUSE convention used by CircuitPython and the Linux kernel. Removes ~3500 lines of duplicated boilerplate.
2026-05-12feat: add MIDI 2.0 Device class driver (USB-MIDI 2.0)Saulo Veríssimo
Add native USB-MIDI 2.0 Device class driver to TinyUSB. Implements the USB-MIDI 2.0 specification with both Alt Setting 0 (MIDI 1.0 fallback) and Alt Setting 1 (UMP native) descriptor support. Driver features: - UMP (Universal MIDI Packet) read/write with atomic message framing - Protocol negotiation: Endpoint Discovery, Config Request/Notify, Function Block Discovery (embedded in driver) - Group Terminal Block descriptor via GET_DESCRIPTOR - Alt Setting switch handler with endpoint re-arm - Static allocation, no dynamic memory, ISR-safe Build system: - Register midi2d_* in usbd.c driver table - Add TUD_MIDI2_DESCRIPTOR macros to usbd.h - Add config defaults (CFG_TUD_MIDI2_*) to tusb_option.h - Add midi2_ump_word_count() to midi.h (shared by Device and Host) - Add midi2_device.c/h to family.cmake and CMakeLists.txt - Add midi2_device.h include to tusb.h All changes guarded by #if CFG_TUD_MIDI2 (default 0). Zero impact on existing drivers and examples. Tested: Raspberry Pi Pico (RP2040), Linux ALSA, Windows MIDI Services
2025-02-24add tuh_midi_descriptor_cb()hathach
2025-02-21remove CFG_MIDI_HOST_DEVSTRINGS support, we will leave that for application ↵hathach
to parse/extract this information if needed rename tuh_midi_configure() to mounted() for consistency
2025-02-14- change signature of tuh_midi_mount/umount_cb()hathach
- rename midi_stream_t to midi_driver_stream_t and move to midi.h (common for device and host)
2025-02-12Merge branch 'master' into fork/atoktoto/midihosthathach
# Conflicts: # hw/bsp/rp2040/family.cmake # src/class/midi/midi.h # src/class/midi/midi_device.c # src/device/usbd_control.c # src/host/hcd.h # src/host/usbh.c # src/host/usbh.h
2023-04-18Merge pull request #1920 from mikee47/fix/midi-definitionHa Thach
MIDI_CIN_NOTE_ON definition transposed with MIDI_CIN_NOTE_OFF
2023-03-17fix trailing space and new linehathach
temporarily disable codespell
2023-02-22MIDI_CIN_NOTE_ON definition transposed with MIDI_CIN_NOTE_OFFmikee47
2022-11-13Add MIDI host support to tinyusbrppicomidi
2021-04-02fix midi tx fifo overflow cause data corruptionhathach
rename
2020-01-15Normalize line endingsNathan Conrad
2019-07-01improving midi support, adding midi exmaplehathach
rename TUSB_DESC_CLASS_SPECIFIC to TUSB_DESC_CS_INTERFACE
2019-06-06add TU_ prefix to compiler ATTR to prevent name conflict with applicationhathach
2019-05-14update license year to 2019hathach
2019-03-20migrate license from BSD 3 clause to MIThathach
2019-01-04Add USB Midi support.Scott Shawcroft
It also introduces a txbuffer which copies data into it but passes the buffer straight to the USB rather than another copy.