Patch mixer
Hello, I'm a relative newcomer to pd and so far I love all the patches I see on this forum. Right now, I'm looking to make a patch mixer that sort of functions like an audio mixer with several channels representing each patch and a master mixer. I have a basic functioning mixer but am looking to add more. I want to a add a feedback level, EQ, effects send/return, adsr/envelopes/filters to each channel, modulation systems, looping/sequencing channels, controlling it via midi controller, etc. If anyone has any other ideas or has already done something like this or has any other cool things to add, please send stuff my way!
However, currently, I'm a little stuck on panning individual channels. I have a master pan as well as an individual pan but, right now the individual pan doesn't work because the master pan overrides it. Any ideas?
Here's the patch:
Thanks and I look forward to the state of things to come with pd!
mux~ select inlet with signal
@francis666 Hello Francis.......
Have you looked at [mux~-help] or [multiplex~-help] ?
If you right click on the [mux~] object and select help then it will open the help file (like most objects in Pd).
Personally I prefer [matrix~] ..... (It will not create without arguments though!............)
[matrix~ 10 10 1 100] gives you 10 ins and 10 outs fading over 100ms (which avoids clicks when you switch between inputs). You have to give it a slightly more complicated message, but that is well worth the extra work!
For [matrix~]
A message ....... [0 3 1] would connect input 1 to output 4 at full. (inputs and outputs are always numbered starting at 0 in Pd).
A message ....... [0 3 0.5] would do the same at 50%.
A message ...... [0 3 0] would connect them at 0 (i.e. disconnect)
[matrix~ 1 4 1 500] will give you 1 input and 4 outputs with a fade time of 500ms.........
David.
settable send~ object?
@LiamG I saw somewhere (I have stumbled upon it twice..... maybe on this forum.....but where?) that a canvas can be given a "dirty" tag so as to suppress messages to the terminal. The problem here is that the terminal is doing the complaining because it sees a receive with no matching send. It's probably not possible even to create a "dummy" before terminal throws the error...... so I think that hiding the terminal is probably the only solution.
Maybe alexandros is suggesting [matrix~ 10 10 1 100] ........... you need to put the arguments or it will not create. It gives you a "soft" switching matrix (although you can also set levels within the messages that you give it), and if you set up send objects (in advance........ I know, not "truly" dynamic) for the outlets then you have a (sort of) dynamic sender. I use it for my in-ear monitoring system with up to 64-in 64-out mixing......flawless.
Give it as many inputs/outputs as you need, and it jumps all of the [s~] [r~] [throw~] [catch~] hurdles....... with no clicks!
matrix_sender.pd
David.

Need help to slightly modify a PD project (Rythmboy)
@rjp9: My setup basically is the following:
I have an Allen&Heath Xone4D mixer, which has an built in audio interface and some MIDI controllers. The mixer also sends a clock signal to sync up all decks and the Rhythmboy/QuNeo. The Xone is the main mixer, and the midi controllers control the first two decks in Traktor, which are normal decks to play tracks like usual.
The other two decks are set up as remix decks, which each offer 4 columns with 16 cells each (so 2 * 4 * 16 = 128 cells total), which can play one-shots or loops. These are controlled by the Rhythmboy.
My goal is to not only play normal tracks in Traktor, but to enhance them with my own samples and drums, and even do some live remixing by playing/looping non-electronic tracks on the first two decks and backing them up with my own drum loops from the QuNeo/Rhythmboy, to give my DJ sets a special touch that not everyone offers.
The Xone is the new component in this setup, until now I did all mixing in Traktor (on 2 normal decks) with my QuNeo. Now that I have this new mixer, which has enough buttons/faders etc. to render the QuNeo useless, I still want to use the QuNeo in my setup in some way. This is why I looked for step sequencers for the QuNeo and found the Rhythmboy. And the rest of the story happened more or less here. 
I hope this answers your question...
Have you looked at my modifications to the rhythmboy? What do you think? Sorry for not commenting, I hope you still get what does what...
Bye, Spatz
Text handling
there are also dedicated matrix objects somewhere in pd-extended. [matrix] or [mtx] i think?
i used to make my own in vanilla though. i just converted the matrix into one long array, and calculated positions using simple maths.
like, in your example above, you have 7 elements in each row. so, you send the first row to array slots 0-6, and then send the second row to slots 7-13, third row to slots 14-20...etc
then it's just some simple [mod] [div] stuff to find any position in the matrix and read it using [tabread]
Text handling
Hello,
i'm trying to use a matrix for evolutionary sound algorithm, but i dont' know Pd very well.
How is the best way to access the position X Y of a matrix?
My newbie idea:
i created a text file, with my matrix:
2 2 1 2 2 2 1 ;
2 1 2 2 2 1 2 ;
1 2 2 2 1 2 2 ;
2 2 2 1 2 2 1 ;
2 2 1 2 2 1 2 ;
2 1 2 2 1 2 2 ;
1 2 2 1 2 2 2 ;
so i'm reading this matrix x times to reach line x. But it is very stupid, cause the outlet is sent several times, when i want just the last one.
Could anyone help me? Anyway i would want to know a good solution for my bad idea too, how could i catch just the last bang i send to a [textfile]???
THX!!!
Mixer abs
Did you guys really think I was only going to post ONE thing tonight? So did I. But it turns out, you and I were both wrong.
I present you some simple mixer abstractions. This set consists of a mono input mixer-strip, a stereo input mixer-strip, and a master mixer-strip. Each strip has panning, volume, mute, and solo (except master, because that would be stupid). The channel strips automatically throw their outputs to the master, to ease patching, but you can turn it off if you like. Anyway, I think the help patch explains most of it.
These use the state-saving abstractions I posted earlier.
http://puredata.hurleur.com/sujet-5664-state-saving-abstractions
Toooo sensitive buttons for TouchOSC
first to thank you for trying to help me.
if I hold push button its like this:
print: /MIXER/push12 1 its receive PLAY
print: /MIXER/push12 1 PLAY
print: /MIXER/push12 1 PLAY
print: /MIXER/push12 1 PLAY
print: /MIXER/push12 1 PLAY
print: /MIXER/push12 1 PLAY
print: /MIXER/push12 0
if I just press it its with less 1s but i need only one 1 to get one PLAY.
if I press JUST ONCE toggle button:
print: /MIXER/toggle12 0
print: /MIXER/toggle12 0
print: /MIXER/toggle12 0
print: /MIXER/toggle12 0
print: /MIXER/toggle12 1
or
print: /MIXER/toggle11 0
print: /MIXER/toggle11 0
print: /MIXER/toggle11 1
so I need to put change to every button, regarding PUSH or TOGGLE.
can you PLEASEEEEE give me example where to put and how to put PATCH CHORDS for CHANGE object. Ive try everything I can think off. DO I NEED ONLY CHANGE OBJECT OR SOME OTHER STUFF(numbers above change) PLEASEEEEEE:
routeOSC /push9
| 0 1
| | |
change
|
* 127
|
ctlout 9 1
???
for organizing patch: I found out about pure data on Monday so its little bit early for that
, but Ill try, it will be fun to optimize/organize this PD as much as I can.
Toooo sensitive buttons for TouchOSC
push button on phone(android) is sending to much data, like its to sensitive.
print: /MIXER/push11 1
print: /MIXER/push11 1
print: /MIXER/push11 1
print: /MIXER/push11 0
print: /MIXER/push11 1
print: /MIXER/push11 1
print: /MIXER/push11 0
print: /MIXER/push11 1
print: /MIXER/push11 1
print: /MIXER/push11 0
for toggle button:
print: /MIXER/toggle14 0
print: /MIXER/toggle14 0
print: /MIXER/toggle14 0
print: /MIXER/toggle14 0
print: /MIXER/toggle14 1
print: /MIXER/fader17 1
print: /MIXER/fader17 1
print: /MIXER/fader17 1
print: /MIXER/fader17 1
print: /MIXER/fader17 1
print: /MIXER/fader17 1
print: /MIXER/toggle14 1
print: /MIXER/toggle14 1
print: /MIXER/toggle14 1
print: /MIXER/toggle14 1
print: /MIXER/toggle14 0
print: /MIXER/toggle14 0
print: /MIXER/toggle14 0
print: /MIXER/toggle14 0
print: /MIXER/toggle14 0
print: /MIXER/toggle14 1
CAN IT BE REDUCED? like this:
print: /MIXER/push11 1
print: /MIXER/push11 0
print: /MIXER/push11 1
print: /MIXER/push11 0
print: /MIXER/push11 1
print: /MIXER/push11 0
its problem with play/pause, because PLAY is starting for several time with one push of a button!
Set rotation by 3x3 matrix?
GEMglLoadMatrix seems to be not existing...
somebody from OGL forum sent me this code
var Matrix: array[0..3] of array[0..3] of single;
begin
glPushMatrix;
Matrix:= [ [ Right.x, Right.y, Right.z, 0],
[ Up.x, Up.y, Up.z, 0],
[ Front.x, Front.y, Front.z, 0],
[ 0, 0, 0, 1] ];
InvertMatrix(Matrix);
glMultMatrixf(@Matrix);
//Billboards zeichnen;
glPopMatrix;
end;
GEMglPushMatrix exists, but i dont get a second inlet to feed it the matrix
and i have no idea how to do it.
Any ideas?
