summaryrefslogtreecommitdiff
path: root/src/class/midi
AgeCommit message (Collapse)Author
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
2019-07-19more house keepinghathach
2019-07-12clean up, rename internal driver control_request_complete to simply ↵hathach
control_complete
2019-07-05midi only use audio 1.0 without IADhathach
2019-07-04clean uphathach
2019-07-04remove tud_midi_write_flush() send asap. rename tud_midi_connected() to ↵hathach
tud_midi_mounted()
2019-07-03fix midi_write prototypehathach
2019-07-03tested midi examplehathach
2019-07-02clean uphathach
2019-07-02clean uphathach
2019-07-01fix compilinghathach
2019-07-01improving midi support, adding midi exmaplehathach
rename TUSB_DESC_CLASS_SPECIFIC to TUSB_DESC_CS_INTERFACE
2019-06-10fix build error with midi, use usbd_edpt_xfer/busy for midi to replace dcd_*hathach
2019-06-06add TU_ prefix to compiler ATTR to prevent name conflict with applicationhathach
2019-05-14update license year to 2019hathach
2019-03-27cleanup, remove the use of _TINY_USB_SOURCE_FILE_hathach
2019-03-20migrate license from BSD 3 clause to MIThathach
2019-01-08Remove txbuf in favor of fifo.Scott Shawcroft
Fifo incurs a second copy into a USB buffer but this ensures the correct USB buffer alignment. Some LPC chips require 64 byte alignment that txbuf couldn't do.
2019-01-04Split out txbuf and add unit test.Scott Shawcroft
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.