chord pad
-
@Lindon I will do like that I think. is it possible to create 2 additional buttons (octave + and octoave -)? or do I have to write the chords over their entire octave?
-
@yall no you could have 3 drop downs:
- chord "shape"
- root note
- octave
-
@Lindon oh my god, this is going to be really long all this ^^
-
@yall why its pretty simple logic:
Work out the midi note number for C in the octave selected(e.g. Octave = 1, then C= 60)
Workout the addition you need for the root note selected (c=0,c#=1, D=2, d#=3 etc. etc.)Work out your required midi notes for the shape selected(e.g. Major = 0,4,7)
so if the user selects D major in Octave 1 then
start point = 60 (the value of C in Octave 1)
root offset = 2 ( the distance from the start point of the selected root note)Major chord notes are :
0, so this will be 60+2+0 = 62
4, so this will be 60+2+4 = 66
7, so this will be 60+2+7 = 69..done..
-
Why do you need buttons, just use the keyboard. User selects major and clicks C they get a C major chord :)
-
@Lindon @d-healey I would like the user to be directly a pad and not just the keyboard. (this is the fashion for pads ^^).
I have fully understood how to create the chords I recreated a table which groups each note by chord to go faster. I expressed myself badly I think, I want the user to be able to play directly on the pad of chords maj min ... but without going to look in a list (which is not practical for those who want to play live by example).
So yes ultimately it makes me well 48 buttons (12 notes x 4 chords).
that's why I'm telling you that it's a lot of lines of code ^^ -
suddenly, create 2 button octave + or - I should write 144 buttons ^^
-
@yall please re-create this :) Casio PT30 was my first keyboard. Learned chords that way
Still having it -
@yall Do not use buttons. You can do this with a single panel. Watch my live stream video where I started creating a million buttons and Christoph popped in with some script to do it with a single panel :p
Around 1:43
https://youtu.be/xU8dLVISM-A?t=6189 -
@hisefilo when i will have finished this. I will drop the script here;)
-
@d-healey @Lindon
So I just spent 2 hours writing everything. ^^ I tried the method with a panel but I got lost on the way. It is true that so many buttons can become restrictive but as I really wanted to have PADS I am quite happy with the result. (the pads change color on impulse).
for those who want it, I just put down the snippet of the scales major minor 5th min / maj.
if my work can help some it is with pleasure ^^ -
HiseSnippet 3536.3oc4c0saiabElZsYvZmtEIAIn8Rhr8BGfzc47CIkPQ5J+6FmXu1w1YSCPKR4JQaQrRjBRzahavBrnOI419VDf9Bzq6U4QXeCZ4HJYQJw4brIEEoa8dgWNCGxONemYN77Mmg93A9sbFNzefRs0N6p9NJ09UpmdkWPms6X65or+NJ09.091s0Z0wePasA1dW7O+GJacUe6gCcZqTq1JOUbd0VaUkQ+71mrkcWauVNSKRQ449tsbNvsmavzROt4W51s6d1scNysWryl2b+V9da620+xPLshptRe6Vuz9BmmYKNs6opT6c1ssaf+fSCrCbFpTa0s7ae0oc7+duny+4tCceQWGwADkSCuPQEume21BDKJUY6Ntcae7jm8gJJ0TOdZOwJQ8Den5gtscut7o8Hu2nJzl1h38G0tGD7Hwgm9MGd0hAuUif26qdZqAt8ClVi.auq59dANCN2NjBhCqnyU4d+6yT21O7L7BdTO6W5r2fvCttEaXpq+oZTc8O4O7f0ev5O9wZCCAtVeaOmtZO9whxBImgAZuxdf1VWFD36Qz9LsIWvKbB11uWeeuvC13iGW+GKtVSa0whqk7FEU8GGc+i9mqWWWOGsyuzqUfqumlu23qr3JLvu6Fslz7OM7Nz8RmO4Aq+iOX80htTOR7DL4LipN7Z+5QWeDb+nghxG0xss618Eg1gaL6MeJPC6r14HsC27K18qOYt9ps+7iNYG4O0QUe8S87OwQm.xCr64ZaL430zB+4GG+6QCneT+t1W8L+.AI+oZlbwMK0Z4f0ZAUKuNTsLyD0N9WuN72NcG5L9vc8tH7Y+Qg82h1L7nyOeCQKhZ.DsMoOLcVKQG30V2gD1CETV57EElunX7EcQwWDPFw.rVPFg2.jurJb9hBxWz4FjMh0NYW4bFGly3XbFeQwYTPVwDrVPVw.bzKqdgyYbPNiOCmEwWwGkMGmwf4LFFmwVTbFK6y7YAxJFfifYMJbNiAxYr44rC2GhwpCyX0wXr5KJFim849r.4DCvwub8BmwpCxX0m0S1daBwWVv7kEFeYsn3KirOumEHiX.N1kSJb9xBjurleD1daBNonILkYhQYlKJJyL6S6YARJFfCd4zBmxLAoLyYGhc5QG.QXFvDlAFgYrnHLqrOqmEHkX.N5kyJbBy.jvLRgv.Gh0.lwZfwXMVTLV8rOumEHmX.N3kyKbFqAHi0XVF6.PuXDcj.n0QifVeQQYMx97dVfjhAb.1FEeHz5vwPqOOoANJifI6AttGKJgOP7VAN4mEHuX.Gl8RP3CDkOHy+BHmB9J9DD0OHnxePVT5ef3yBbFPKPhw.bXLu30+f.K.BIMEPRnEhPxw8e10j37zHRv0DznqIrkirir6xxNBGeMgIQs3GhPdHpYQPkyhvWNZPxuCqAIAVPKBeVGdB8GAoMjX2HnAuQLWNxPZbGVFRBb3aDy4oMrgaHgvQPigiXrbjhz7NrTjD3n3HFoMWoPNRHpihDZ.EMz.p9xQSRq6vZRRgCMfpmF0ITlDbTGRX3Dz3vIMVNxSV+Nr7jD3HwIMlg5zlnP49OK80xFYI.HnqA.o9RQgx7DodoqPIAdU.H0Sg0FISoLVCYg.HnqD.wZ4HSo9cXYJIvqE.wRBqIezFEQCEJpFJTxxQrRxcXwJovZnPmOmezFqYoLZCKCRvSgD5xQvR5cXAKoHIQRZZnnMQ2RYLGhrITTYSnrkinkrkjnkKVJCVuDZR8RzFKVoLtBQkDJpJIT9xQoR9cXkJovpjP4RUpLRpKiy97zyXKFx6jvPemDlUkOwHK8IIYvuSByJU56wOdmidH.0gDD.CMH.V8JeNRV5KsCCNH.V8TyRxS1UNuwQTKgipVBWu5mmjk8LlbX0R35ysjbBEJkOXCQmDFpNIrFU9DkDdFXdwqpLCVmDViTj35v8AFpgkPx3YjLuxmrjvS9xKdMk4H4jLO0oH2aS.dCI..NZ..bVkOoIgm70n3ETlCGG.e9DSVnIobRCIdaNZ71bZkOsIgm70n3kRlCGuMmNyBuIj1RNkgnrEGUYKNoxm3jvy7ZT75HygU1hm1tYaT1SJm2PVqTN5ZkxMp7oOI7LuFEuRxb30JkajpesCf7qgjaBbzbSfaV4ygR3IeMJdkj4v4l.e1bS3.PuZHBjvQEHgaU4SfRD4SJdAR3vBjvmeGbbJzq8inLBGUYDd8Je1ShnaRwqLBGVYDdcfrmLRURKjzJAwKGE0KG0XAqM408j2tAP2l0VSxKbpkjIKDQlg82QMlOKlEBThwhH97nn97nlU9znLKJLWjLIrGPpYpaSXLhDYVUJ5rpz5U+DqLC5MWHLH7jqz5okekXDHxqxPQeUFpU0OCKyfvyEIOB+hMTqT272HDICQoEFpRKLZkOeKyhXzEhlzvBtvnos4hQYPDgWXnBuvHU9ztDduEXRVZLHr9KLR5INK57oLjExigtPdL8peVXpeKzvtHIQ30yikZ1OKD+DyoHxB6QQWXOZipeRYRtEZZWjdCgWeOZiT2D4XCCw9B1f+IrgU8SOS5sHzkhbXHx2xlT2qcGf6ODYgZYnKTKiW8yUS1sHpkhjCgWuVFOcNDefHhdMLT8ZXFU+z1jeKhboHIQXwZXFotkywXPDsZXnZ0vLq9IyowsHjkhjAgEogYlp9ow5vE2zi713SV+GWes0e85ZyVk.NoT23KaWmAoVs3CB6.nFtg2k8dgyfIz5jSTo1pI+zqpJ+SuZ7uLrsh5ghch9d664FbTeGOYePVUF2spnTaxKuGdpAi9vr9qG+gYM5KEphaakZ2WMZqenLBww+13pbyaMMWslkqVyyUqMxUqMyUqsxUqqmqV2HasdswVK54q4j70bZ9ZNKeMmmulajulalulakulWOeMOeVcz7Y0QymUGMeVcz7Y0QymUGMeVcz7Y0QymUGMeVcz7Y0wxmUGKeVcr7Y0wxmUGKeVcr7Y0wxmUGKeVcr7Y0wxmUGOeVc77Y0wymUGOeVc77Y0wymUGOeVc77Y0wyrU23u9+y1729Dkud+crCrE+oZXbnAggKz2YPfqHRjZ637J2VNQ+gaXM0cbF9x.+9J0t20gjoT6chtsOXxeVGD+4KX7KSF8mx.keHNduJ9Aeua6fNWWvO82a1ww8hNw9ysgSyZMicutOdjJ2za1aZN2M6yZ5N7P+dg2I6AWEEAUe6AgGFGASdnTtMvhFCVuYqlUEXwhAqe9OWYfEONrNox.KiXv5W5WYfkYLX0rWkAVVwf0O0ox.q5wgUqJCrZDCV+0gkOrlFJeLa9KqN3J9778+gpCthOQ+u72pN3hIyu3a1rYYhKtLGikLtLj4YrjwkoLWikLtrj4arjwUcYNGKYb0Pl2wxEWTcYtGKYbQj4erjwEUl+wRFWLY9GKYbwk4erjwkgL+iM+pREWlx7OVx3xRl+wRFW0k4erjwUCY9GKWbwzk4erjwEQl+wRFWTY9GKYbwj4erjwEWl+wRFWFx7OVx3xTl+wRFWVx7O9yeaohq5x7OVx3pgL+ikKt35x7OVx3hHy+XIiKpL+ikLtXx7OVx3hKy+XIiKCY9GKYbYJy+XIiKKY9GKYbUWl+wBEWqkbINOv9EWuDmi9+IV0w29jXdssmAUJ+wTPUfyODHfy1JNscCrGmpm5KHvkXsG2tY1.2ppa+vBAcLYNjztUcc6THfK9rYM+KYtqamhoqKgF0sxbW2tEB3RLwVmlYcHwdEB3hO61a5kwdtUU2qX303yw819YlWeZg.t3uX6aFl4ttmtf65Va7Dwwe+VsWk49tMKFzkPUiDqZ4spyayBpyS9hWdq571pXPWbOEMecbz81mjDc+7YRQmp5ga9EEC9h6r38RfuYk1FFe6+rhAewcWbbB78U2b7slpQPGsBCilx3327s2ZLlQdd0aPVzIasBbZpb8lsI7JEk1bum5g9surqcf+fs6X65or+NhBeZ3+cbEtg2fstpu8vgNg2lZqruHO7F5FjvDu18RtIgVU9lDRO1lDZO+tsEWUIaGnaHbee0icCZ0Ic7duTvqhRgi2UNarwztmetSqfofMzw7eJQ+YgCkOJBJuq52X+JmQaKtQ.4iFc749C5o8TGOmAh9TRBjILBl1o8udxV1cs8ZkH+NetuaKmCb64FyRueyuzsa28ra6H1yYSKm2b+VhcaVW+KGD8LbTqfPHb1.aug88G5PhekmoNZ751wI3RujmdTQINKwi2dgOdwNu62bRgz3EFNPKwEK73DWoCciMl5Wdxtdhgsm5D9zz9ngsBeXE8cwGNb7kcG57MhoDHwa3zhowK9ysGzNjWZkv.ckarUA4FaUT6cl2B8CUOzss60kGeR.QEZSawR0nsXmdZkaFbSoGrVLLt1DLdpau9cc106UNc8CKQfwOPcGmysuravjRSNz5PeO+9c78bSP5m3DLv8hKbRXKk5CzlAA1sd4zR9vlm3z0wdXrga+tlG354XOHrexIi8EjadeADe8aUifqlX9.s+2vsxJ+euaE3QngSYd2go+MpgSiS0FQ2ZkOeeh+kAtdWbnc3rAgNdTe1k8NMzmYKmPD6E9JghMgcs6I1bEQGqKNV.mSc7ZO5f+S3OiqjHNt13JISpbobO5Y2Zf+20JZGfHlv39iJI741ydzKFndn3Xsq23Gpp5ORWoWnamuqUKgM8uOr+I81PyPaXYnM7LzFiLzFyLzFqLzl5fsQ3weyKC76EY+GVvw6NZC3TqVzK8LZnfx+EHEbbiM
-
@hisefilo wow, that's what I'm talking about
-
That is some ugly code :D But it gets the job done!
-
@yall That is cool you found a way to make it work! :)
Now you should definitely find a way to make the 1255 lines of code doing the same thing in 50 lines ;) -
-
@yall The best thing I can offer - https://docs.hise.audio/ - read everything 10 times and do all examples, follow all of the linked javascript tutorials and complete all of the exercises and examples. Repeat this for 5 years :D there is no shortcut.
-
@d-healey I am only 1 years old. It's already not bad I have to work on adding an automatic button as in the example of your video above. I could reduce the code already with this. I have 48 line from constvar.button ..... It is at the level of the reminders that I have to work. I have already greatly reduced my plugin from 90MB to 8MB by resizing the images, by shortening the codes. but I haven't finished. :)
-
@yall You need one panel and one function for all of it, no buttons allowed.
-
@d-healey yes I saw that it was possible. I partially succeeded. but I could not integrate my pad image (on / off)