summaryrefslogtreecommitdiff
path: root/src/class/midi
AgeCommit message (Collapse)Author
2021-08-02correct midi available with already stream readhathach
2021-07-13fix midi stream write return value (off by 1)hathach
2021-06-21fix issue when calling midi API when not enumerated yethathach
2021-05-27include clean uphathach
2021-04-03Merge remote-tracking branch 'upstream/master' into edpt_ISO_xferReinhard Panhuber
2021-04-02correct midi stream read behavior to read until user buffer is full or no ↵hathach
more data from usb fifo
2021-04-02refactor midi read buffer to streamhathach
2021-04-02rename midi write()/read() to stream_write() stream_read()hathach
also add deprecated for warning and rename hint
2021-04-02removed tud_midi_write24()hathach
2021-04-02refactor midi write into streamhathach
2021-04-02refactor midi stream readhathach
2021-04-02fix midi tx fifo overflow cause data corruptionhathach
rename
2021-03-31code formathathach
2021-03-30remove tud_midi_read_flush()hathach
2021-03-30rename tud_midi_receive/send to tud_midi_packet_read/writehathach
2021-03-10Merge branch 'master' into edpt_ISO_xferhathach
2021-03-04Extend FIFO mutex to use separate write and read mutexes.Reinhard Panhuber
Adjust all USB drivers using FIFO and mutexes.
2021-03-04add midi commenthathach
2021-02-19fix tud_midi_write24 typohathach
rename jack_id to cable_num in function argument
2021-02-06Merge pull request #618 from homeodor/masterHa Thach
A CDC-like blocking behaviour for MIDI, incl. SysEx
2021-01-30A CDC-like blocking behaviourAlexander Golovanov
2021-01-28Fix midi sysex sending bugMichael Himing
2020-11-20clean uphathach
2020-11-20migrate midi device to new control xfer cbhathach
2020-09-28Change AUDIO_PROTOCOL_V1 to AUDIO_FUNC_PROTOCOL_CODE_UNDEF in midi.c.Reinhard Panhuber
The USB specification does not define any AUDIO_PROTOCOL_V1!
2020-09-23Merge pull request #512 from mzero/fix-midi-sysexHa Thach
Fix a bug in writing SysEx messages.
2020-09-13Update midi_device.cMark Lentczner
Fix a bug in writing SysEx messages. At the start of a new USB packet (4 bytes), while in the middle of a SysEx, the code mistakenly set the buffer length to 4, not the target length. As a consequence, the 3rd and 4th bytes from the last packet were included, after every byte of the SysEx after the first packet of three. The fix is simple, as it was just a typo, as can bee seen from the other branches in the same section of if/else statements: At the start of a new packet, the code should set up the target length... the buffer length should be left at 2 (as set on line 180).
2020-09-10update claim edpt for hid and midihathach
2020-08-24fix typohathach
2020-08-24improve midihathach
- fix #436 tud_midi_rx_cb() not invoked - fix xfer_cb() not handle ep in - add ZLP if needed
2020-07-17add new name warning to cdc and midi (skip msc, hid warning for now)hathach
2020-07-16add fs & hs config for cdc_msc_freertos, midi_test, msc_dual_lunhathach
2020-05-28initial transfer failed in open() shouldn't cause the driver open to fail.hathach
2020-05-28update midi open()hathach
2020-04-26add usbd edpt openhathach
- RTT mode is blocking to prevent log lost - Improve logging message
2020-04-23Revert "Merge pull request #359 from versioduo/midi-flow-control"hathach
This reverts commit 1d33aa9b6f7940f9eac07ce684515856940175da, reversing changes made to 718db7e5369df57b0f49a563737e6e0446fd4c4d.
2020-04-22clean uphathach
2020-04-19MIDI - Add flow control to incoming packet streamKay Sievers
Larger SysEx transfers get corrupted by incoming packets. This changes the FIFOs not to overwrite their data. MIDI should not be a transport that drops packets. A potentially blocking device is easier to detect and handle than a device that silently corrupts the packet stream at random overflows, especially when SysEx messages are involved.
2020-04-19Merge pull request #258 from versioduo/midi-packetsHa Thach
MIDI packet interface
2020-04-15tested with midihathach
2020-01-16MIDI: Add packet interfaceKay Sievers
This changes the internal buffering to the raw 4-byte messages. The conversion of the messages to a byte-stream moved to the read/write methods. It adds a raw packet interface to send and retrieve the raw 4-byte USB MIDI message: static inline bool tud_midi_receive (uint8_t packet[4]); static inline bool tud_midi_send (uint8_t const packet[4]); MIDI USB packets carry virtual cable/wire/plug data in the packet header, which cannot be exported in the byte-stream interface. The raw packet interface allows to send and and receive the complete USB message.
2020-01-16correct return value of midid_xfer_cbhathach
2020-01-15Normalize line endingsNathan Conrad
2019-12-28implement multiple interfaces supportPeter Lawrence
2019-11-27fix #229hathach
2019-09-27add -Wextra for more warnings to examplehathach
non-stack warning (probably mcu driver) should be suppressed in the board.mk
2019-08-15Merge pull request #99 from jepler/issue98-midi-program-changeScott Shawcroft
midi_device: Send message classes C and D as 2 bytes
2019-08-14midi_device: Send message classes C and D as 2 bytesjepler
.. sending these as two 1-byte messages with CIN of 0xF is misinterpreted by OSes including Windows 10 and (reportedly) Mac. Testing performed: Ran the reproducer script, which sends Program Change (0xCx) messages. I did not check with Change Pressure (0xDx) messages, but expect the same thing. Closes: #98
2019-07-24update vendor device similar to cdc read/writehathach
maybe refactor later
2019-07-24rename tud_control_vendor_request_cb/complete_cb to ↵hathach
tud_vendor_control_request_cb/complete_cb