I'm trying to understand what's going on with this raspberry pi project. It seems like it uses the net receive object to communicate with some Python code which handles the input from the knobs and buttons. Does this sound correct, and is the Python code really necessary or could all of this be handled in pure data? What I can't wrap my head around is how one would set things up so that the knobs control the various FX patches. Controlling parameters for one effect seems simple enough, it's switching between and controlling the different FX that confuses me.
-
Dissecting doitnowlabs rpieffectbox
-
@paste Hello Paste.......... It looks as though all you need (apart from a soldering iron and the "bits") is there on the github link. The python code is necessary to program the microprocessor that is gathering information from the buttons and potentiometers and the udp send/receive is the simplest way of getting the data from python into Pd.
Python is almost always included in any rpi distribution.
The only hard bit is the physical construction of the control panel and the microprocessor board.
Everything else is included in that download.
David. -
@whale-av thanks for the reply. I'm actually interested in using this project as a template for a slightly different project. Instead of using knobs to control the effect parameters I plan to use a mouses XY coordinates. Is there any reason my project couldn't be handled entirely by pure data? Gettin input from the mouse seems simple enough, i just don't understand how I'd use that input to control the various FX that are being switched between. The server patch seems to be opening and closing the various FX patches, is there a simple way of getting the mouse input to whichever patch is open, or would I need to include all of the FX patches in the server patch as subpatches, attaching the mouse input to all of the different FX?
-
@paste If you have downloaded all of the pd patches (keeping their names the same for now) you could zip them up and post the zip which would help us to see what is going on.
The switching between effect modules could be done easily with a [vradio] in the main patch and [switch~] and [line] in the effect patches.
You could replace the hardware knobs with [knob] or [hslider] in the main patch too. It looks as though they are expecting values in the range 1-1000.
You will want some kind of preset management, as it looks like python was taking care of that.Using the mouse x/y would be hard, as you would need window focus, and when you try to change between controls you will be dragging the last control as you go looking for the switch (unless you still use the rpi to build a switch board using gpio).
Maybe you could use mouse up/down to control when you give pd input, but getting back to the same values again to continue a change would be difficult.
David. -
@whale-av This has been really helpful, thank you. I'm interested to see how using {vradio} along with {switch~} and {line} compares to what's being done with this project. I do plan on using the gpio for switching effects, but for now I'm just focusing on one thing at a time. How to switch between effects seemed like the most perplexing part of this project so I thought I'd tackle that first. I'm hoping that attaching a knob to the gpio is not as complicated as this project makes it seem.
-
@paste Here is a new server with a radio button. It sends the messages that the old sever expects........ so if you use the gpio's it does not break the original patch........
server-local.pd
Put it in the same folder with the rest........ and change the path to that folder in the message box......
David.
-
@paste Here with master controls.......... but you need a preset system to preserve saved values for each patch........ there are a few discussions and systems to choose from on this forum......
server-local.pd
Ahh........ there are only 3 faders routed for the system......... you could use the 4th fader for volume?...... add to the route object [route 0 1 2]......... change it to [route 0 1 2 3]........ in every effect......... and send the 4th outlet (divided by 100) to the volume control of each effect.
David.
-
Awesome job- nice to see this project is still evolving after so long. I'm impressed!
-Ben
Doitnowlabs