Once in headless mode, I would need to use the shell terminal to access the source code of Dexed that pertains to midi. I need to write a script that looks for any midi controllers plugged into the pi and connects to them automatically. This would allow any midi controller to be used when plugged in.
Next I need to access the Dexed source code that pertains to switching presets. The presets would be accessed and switched through the button or rotary encoder knob that would be wired to the pi.
These steps can be repeatable across any open source VSTs.
In the project’s current state, the VST Dexed is running on the desktop of the raspberry pi. On boot up, the raspberry pi automatically launches Dexed. The presets and midi controllers are saved in the VST so the user doesn’t have to do anything other than power up the pi with the midi controller plugged in before hand to be able to access the VST.
While this current set up works fine, a headless set up would be preferable. Configuring the raspberry pi to run in headless mode would free up the memory and functionality that would otherwise be spent on the GUI and desktop which are not needed for the purposes of this project. Additionally running in headless mode would make accessing and programming the pi much more reasonable than through the pi's GUI.
I've spent the last week attempting to SSH into the Raspberry Pi from my mac so I don't have to use a keyboard, mouse and monitor every time I need to access the pi. I have so far been unsuccessful. I'm using a USB Console Cable USB to RJ45 Cable to connect from the ethernet port of the pi to a usb port on my mac. When I connect the pi to my computer and power it up, I am not able to find the ethernet connection anywhere in my network settings on system preferences. I hopped onto the Adafruit Discord project help forum and got some great trouble shooting advice from user Greys.
Looks like the issue is that the Pi is not configured by default to detect a console connection over ethernet. I may have to just buy a normal ethernet cable as well as an adapter if I want to continue with this set up. If all else fails I can grab a
Once I can actually SSH into the pi, I'd like to next work on using a knob from any midi controller to switch between instruments on what ever vst if being used. Of course starting with Dexed :) . I'm also considering working on an external button or knob connected to the Pi GPIO pins to switch between instruments to be played with the midi controller. Updates to come!
After much trial and error the prototype now works in its MVP state. The MVP works such that when StreetMidi is turned on, a plugged in midi controller will control a preselected patch of a VST. The current configuration is a Raspberry Pi 3 B running Raspbian and launching the Dexed VST on start up. Dexed is an open source Yamaha DX7 emulator being used as the main VST for the purposes of the beginning phase of this project.