rppicomidi / pico-usb-midi-processor

Use a Raspberry Pi Pico board to process USB MIDI data between a USB MIDI Keyboard or other device and a PC or other USB MIDI Host
MIT License
27 stars 1 forks source link

Thanks! #1

Closed burtonrodman closed 1 year ago

burtonrodman commented 1 year ago

This is obviously not an issue, but a thank you!

I have been working on a project to attach a Behringer X-Touch mini controller to an Pico W, have 10 OLED displays for channel and master and forward MIDI over wifi.

I feel with your work on this (especially USB Host MIDI) I may be much closer to success on my project!

x_touch_mini_plus_w

rppicomidi commented 1 year ago

@burtonrodman Thank you for your kind words. I have already software that runs on 2 pico boards that implements the display for each channel and the 7-segment LEDs (VPot mode and timecode) for Mackie control protocol. It uses 9 OLED displays. I got distracted from working on it but I can make my in progress repo public if you think it would be helpful to you. I developed it to work with the Korg nanoKONTROL Studio in Mackie Control mode. It needs 2 Pico boards because driving 9 OLEDs consumes both PIOs, so none are left for the USB host.

burtonrodman commented 1 year ago

that would be awesome to see your work! i also have a nanoKONTROL, but switched to x-touch mini for the encoders.

it's unfortunate that midi or even proprietary protocol, they don't allow you to query the current position of a fader/knob. if you know of any workaround (beside jumping or latching on movement) please let me know!

thanks again!

rppicomidi commented 1 year ago

@burtonrodman OK, I will try to get around to exposing something to the world this week.

Sadly, for the nanoKONTROL Studio there is no get current state of the faders and knobs method that I know of.. I use fader pickup (it is one of the processors in this project); fader movements are not sent until the fader moves past the last position the DAW sent to the controller.

burtonrodman commented 1 year ago

@rppicomidi i know you're using PIO for your USB host port. i've been reading your PR to tinyusb and if I understand correctly, you've implemented the appropriate functionality for the rp2040 driver. Am I reading that correctly? Does your USB MIDI host work on the built-in USB controller (not PIO)? have you tested this scenario at all?

thanks again for your awesome work!

rppicomidi commented 1 year ago

@burtonrodman Please in future open a new issue if you have a new question so I am able to see it. I don't check my email that often and this issue is marked closed so it doesn't show up normally in my issues list.

MIDI Host can work using the built-in RP2040 USB hardware. You may wish to try this pull request. This project for example uses it.

However, a processor requires both an input and an output, and the RP2040 has only one USB port. That is why I used PIO for the host interface in this project.

rppicomidi commented 1 year ago

@burtonrodman So sorry this took so long, but I when I looked at my pico-mc-display-bridge code I realized it was not in any shape to publish. Then I tried it on my hardware and found my hardware broke and needed to be rebuilt. Then I wanted to add some features. Then I found some more bugs. Then I realized from the photo you posted, your hardware seems to be a bit different from mine. Enough excuses for the delay. Hopefully you will find this useful.