Apologies for the lack of context and thank you for the clarification on Keys / Arrays.
Below is a more detailed overview of what I am trying to do:
Here is my function:
~synth_arg_funcs = {|i| [
//Array 1
[
patch: ~b1,
amp: [1, 1, 1, 1].wrapAt(i),
buffer: [4, 4, 4, 8, 12].wrapAt(i),
rate: [0.8].wrapAt(i),
atk: [0.01].wrapAt(i),
rel: [0.01].wrapAt(i)
],
/Array 2
[
patch: ~b1,
amp: [1, 1, 1, 1].wrapAt(i),
buffer: [1, 2, 2, 1, 9].wrapAt(i),
rate: [0.9].wrapAt(i),
atk: [0.01].wrapAt(i),
rel: [0.01].wrapAt(i)
],
] };
This is my main loop. I am using the args from above to populate the args for a Synth. It is working very similarly to a Pseq but I am trying to manipulate the buffer values in ‘Array 1’ while not manipulating the values in ‘Array 2’.
For example, for every iteration add +1 to the buffer values in Array 1.
loop {
16.do { |synth, i|
var synthArgs = ~synth_arg_funcs.(i).collect({|args|
Synth(\mainbuf, args: args, target: ~sources);
});
s.makeBundle(s.latency, {
synthArgs.do { |synth| synth.set(\gate, 0) };
});
tatum.wait;
};
};