<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinyusb.git/src/class/midi/midi_device.c, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/tinyusb.git/atom/src/class/midi/midi_device.c?h=master</id>
<link rel='self' href='http://cgit.235523.xyz/tinyusb.git/atom/src/class/midi/midi_device.c?h=master'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/'/>
<updated>2026-07-02T14:55:45Z</updated>
<entry>
<title>license: use SPDX identifiers for src/ headers (#3749)</title>
<updated>2026-07-02T14:55:45Z</updated>
<author>
<name>Ha Thach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-07-02T14:55:45Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=7a4111b96ef6279e75579f9a18443834f6a0871d'/>
<id>urn:sha1:7a4111b96ef6279e75579f9a18443834f6a0871d</id>
<content type='text'>
* 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.</content>
</entry>
<entry>
<title>refactor(config): separate endpoint buffer sizes into RX and TX definitions for clarity and flexibility</title>
<updated>2026-03-12T04:43:32Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-03-12T04:43:32Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=78bbc7dc2e80daba79351bc37e11b13243fd6f8c'/>
<id>urn:sha1:78bbc7dc2e80daba79351bc37e11b13243fd6f8c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'master' into zlp-hs-on-fs</title>
<updated>2026-03-11T09:20:14Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2026-03-11T09:20:14Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=d13f600721671a603579350be1e9c935a0d40547'/>
<id>urn:sha1:d13f600721671a603579350be1e9c935a0d40547</id>
<content type='text'>
</content>
</entry>
<entry>
<title>midi device: add cable-aware stream read (tud_midi_n_demux_stream_read)</title>
<updated>2026-02-25T15:38:44Z</updated>
<author>
<name>Saulo Veríssimo</name>
<email>sauloverissimo@gmail.com</email>
</author>
<published>2026-02-25T15:38:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=4d402194dc506a98ed574233cd542ca7f27ff991'/>
<id>urn:sha1:4d402194dc506a98ed574233cd542ca7f27ff991</id>
<content type='text'>
The existing tud_midi_n_stream_read() accepts a cable_num parameter but
ignores it — all cables share a single FIFO and stream parser state, so
data from different virtual cables is silently mixed together.

Add tud_midi_n_demux_stream_read() which returns the cable number of the
data that was actually read.  It peeks at each USB-MIDI event packet
header before consuming it and stops when the next packet belongs to a
different cable, allowing callers to dispatch per-cable without losing
data.

Implementation details:
- Mirrors the host-side tuh_midi_stream_read() approach: tu_edpt_stream_peek
  for cable inspection, CIN-based byte count (USB MIDI 1.0 Table 4-1),
  leftover handling via existing midi_driver_stream_t
- *p_cable_num initialized to 0xff sentinel so callers can detect
  "no data" even when return value is 0
- Cable-change check (total_read &gt; 0 guard) covers both leftover-originated
  reads and freshly consumed packets
- TU_VERIFY uses explicit != NULL comparisons, consistent with codebase style
- Note: shares stream-&gt;buffer with tud_midi_n_stream_read(); do not mix
  calls on the same interface
- Adds single-interface convenience wrapper tud_midi_demux_stream_read()

Closes #1838
</content>
</entry>
<entry>
<title>fix rx transfer length when high speed capable device/host working at full speed</title>
<updated>2026-02-11T21:04:44Z</updated>
<author>
<name>HiFiPhile</name>
<email>admin@hifiphile.com</email>
</author>
<published>2026-02-11T21:04:44Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=135a130ba51d2e41b30f13fbd998f1db32a47470'/>
<id>urn:sha1:135a130ba51d2e41b30f13fbd998f1db32a47470</id>
<content type='text'>
Signed-off-by: HiFiPhile &lt;admin@hifiphile.com&gt;
</content>
</entry>
<entry>
<title>fix edpt stream write/read to endpoint not yet opened</title>
<updated>2025-12-11T17:51:57Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2025-12-11T17:51:57Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=2f5d4dbab3a4b051eda35c7026d2568c7355decd'/>
<id>urn:sha1:2f5d4dbab3a4b051eda35c7026d2568c7355decd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>move hwid into edpt stream for consistent API</title>
<updated>2025-12-10T13:47:08Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2025-12-10T13:47:08Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=39853dfb25c8828490e197ad4c1dd9616949110a'/>
<id>urn:sha1:39853dfb25c8828490e197ad4c1dd9616949110a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>omit ep buffer for midi device if device support CFG_TUD_EDPT_DEDICATED_HWFIFO</title>
<updated>2025-11-26T09:34:38Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2025-11-26T09:34:00Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=0fa30024333508b6cd6e1a68dfaf3cdcf1377671'/>
<id>urn:sha1:0fa30024333508b6cd6e1a68dfaf3cdcf1377671</id>
<content type='text'>
</content>
</entry>
<entry>
<title>clear endpoint stream when open for cdc_host and midi_host</title>
<updated>2025-11-13T05:31:27Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2025-11-13T05:02:02Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=397a3af8afc4bc5460572da4a40629684dfa788c'/>
<id>urn:sha1:397a3af8afc4bc5460572da4a40629684dfa788c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>migrate cdc device to use edpt stream API</title>
<updated>2025-11-12T14:22:25Z</updated>
<author>
<name>hathach</name>
<email>thach@tinyusb.org</email>
</author>
<published>2025-11-12T14:22:25Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/tinyusb.git/commit/?id=f11adb02ebc0c594a7114b08585b8af18c3ee6d6'/>
<id>urn:sha1:f11adb02ebc0c594a7114b08585b8af18c3ee6d6</id>
<content type='text'>
tu_edpt_stream_open() does not clear fifo, allow for persistent stream when disconnect/reconnect
</content>
</entry>
</feed>
