-
5tepan
OK, I will maybe try to remap the cmd-n shortcut to open that file with a third party program.
-
5tepan
Hi, this is just an idea to make using PD more convenient. I like to place dark grey canvas with 3000x3000 px dimensions under all objects in my patch to effectively get dark background. I also like to use color coded toggles, sliders and bang objects. so I thought that it would be cool to replace the default empty file with a custom one. Is it possible?
-
5tepan
@ingox Yes, I feel like that too. So you suggest creating a [text] object instead of each array? In practice each preset would contain cca 2-8 automation slots with aproximately 1000 values in each one.
-
-
5tepan
Ok, I tried to implement this approach, but it fails when I add dynamic creating/deleting of the arrays.
Basically what I want to achieve is a matrix of arrays, which would contain the midi CC automation. For each preset there would be different row, and in every row there could be up to 127 arrays. Each array has unique name with the given coordinates. Every time an array is created I want to delete the previous one placed on the same spot (if there is any) to avoid duplicates. For that I'm using [mouse x y, cut(. Maybe I could use the [find( message, but I don't know how.
This is my first try to do dynamic patching and the patch seems to crash a lot.
Is it a robust method to do it or should I use something else?
preset_system.zip -
-
5tepan
Hi, I have a trouble with creating a system which would allow me to record midi CC automation into multiple arrays and store it as a preset which I could later recall with program change. I tried using [clone] but it doesn’t store the insides of the abstraction. I would like to make it flexible in a way that it doesn’t know in advance how many presets will be stored and it would dynamically create the instances when needed. Can anyone steer me in the right direction?
-
5tepan
@ingox thanks a lot, the aftertouch1 patch does exactly what I need. There is one thing left. If I release a key it sometimes "remembers" its polytouch value. I tried sending polytouchout with zero value after every noteoff but it didn't work (there might be a mistake in my patch or maybe the synth doesn't register the message at that time). Right now I use a workaround of sending touchout of value 0 every time there is a noteoff, however the disadvantage is that the note to which the aftertouch is applied is also affected for a short time. I have to look into it further.
-
5tepan
Hi, I am trying to implement this feature for a hardware synth. I decided to write notes and velocity into separate arrays - here could someone explain why I need to shift the note array -1 to have both of them in sync. This part of the patch works great.
Now imagine this scenario. On a 6 voice synth I hold for example 3 notes chord in the bottom and play monophonic lines on top, with the aftertouch effecting only the last top note. But as soon as I play two notes on top, than if I release last one of the top notes I want the previous one to take priority.
Here is the algorithm I am trying to achieve: if there is a noteoff message, go back in the array and compare stored notes to the noteoff number. If you find another noteoff message, store its number and go further back. This way it should be possible to to find the last note that you still hold and assign aftertouch to it. To ensure there wouldn’t be endless loop in case you release all note I added a counter object and it lets the algorithm run only 6 times (size of the arrays). Each new noteoff message resets the counter.
Right now the note numbers after a noteoff event either don’t come out at all or the result is wrong.
Can you see why the patch is faulty or maybe suggest a cleaner way to do this?Here is a link to the patch
https://drive.google.com/file/d/1LeKyYvYoyumxsy7dZ7pFliCov1y0sfiM/view?usp=sharing