Basic PaintRoutine question
-
Just trying to print the names I have stored in an array to the panels.
I keep getting
undefined parameters
.What's the catch?
HiseSnippet 1034.3ocsV0uaaaCDmxIJq1acXEXO.B5ujWMLjbhsSQZ2ri+XyXKoB0YAEHnnkVhxhKxjdRzIwan.6QYOIC6QYOB6MX6HkcjxRbZigm.Dft63ue7z8AO5Fy8HII7XjVoSlOkfz9L8gyYhvNgXJCMnKR6y0OBmHHwFopNb9TbRBwGoos02JUnUbaj54u+lCwQXlGISEBcJm5Q9A5DpHSqaqumFE0G6SNgNI2p2q0.ONqCOhOC7mszsQSwdmiGSNFKWVAcz2gSBQZekdC+.bC+l0scH6tueyZNMq+r8Z1v1NveemliZNZWrOtQSaj1N87oBd7PAVPR.ROj6OeXH+RV5FbJMgNJhHEbPCgcNUMpSHMx2cYvIAgz11MKTsUZn5K0Oh5SuVeVH6KTFLxPjOnoU39bImGfKokyk1N0kdh9PuX5TQlEo+7o5CXPFL.C4l7tR5ZQE9iB5c3vJXhpSvmS5GCBWivplscEi511kOnj7ARQIBCWVzuX7BikvFSDsih5vmLky.4DKSWLiDYJwjBn+qkYQIlyL6DximkXVoTQ0ioaHNgXVwXobWZBDfDTNKmRI4wp+obJeE4BR7n7PIQ344j68yluQ52A7XCKJr61GXPMdtx+qFQXiEgfhm9zxk9U.RohR8mQeS0DhvERmhWwmInLhUvLlmzgrFWtTQ4Rg0Vbb0.nPF9wsRKZSpdIUD1NZZH1RDRSjgEKSA4JQpcyxULrq5TFhJJ7JJfcJ05ChjmkRhBdeHIXY1Nlhif+bmZkOvHkZ+X7ksiniYD+S.7VKxAv+WEiyrkKEdkY2Z0AMldPlKl3apXFX38xOjt46UI9kg.CN6Xtf7RlkJnAVM9ulBBtSaxpkXdTDI9NMKOMH99.ZwlMYDIthwE3nYjqWHT8eyVpc93Zo7RKdysPNa.iJd4TxB497HeYqh76a2.hVT8Ce8iC5hEXYO4Bcv5lRfRXo6n0kbAbJXZGZQ8tjjyE7oHsO459EjltPY8wK6ekcOHJr0ORW8sC5prCJGzZdlvW2Jq1.zty+.OJCO.1qsJ1+sS2.ru6pX+OGsAXeuUwdqeZCvd8Uw9eMcCvdiUw9uK1.r2bUr+tqVE62dhBLKi6OKBKt4.N4n+EFfVzaLUQN4fkPEyye0fGvTO66cp2GqK9DcWpvK7t8wB2gOBMu+e3iKtqvi06EDP7DYN3158e85dwfOv1mNzZ7QXQLEJAzOd1jgPl1i.6NCJL.x00JHKlRkskxxHvPByWIHKHVXzQJqsvnyRinIXuX9a8ROXVdajGoz.9DScashv0FAYCGj5v57w4Ivkidqm2Mo5V.qst.2ccAt25Br95Brw5Br45Bb+OLP4cWaOSvmj11fPG41SMcSSqGCCUfppUz+1CwMsB
const Pnlz = Content.getAllComponents("Panel"); const FXNamez = ["Chorus", "Phase", "Distortion", "Compressor", "Reverb", "Delay", "Eq"]; for (i = 0; i < Pnlz.length; i++) { Pnlz[i].setPaintRoutine(function(g) { g.fillAll(Colours.withAlpha(this.get("textColour"), 0.1)); g.setColour(Colours.withAlpha(this.get("textColour"), 0.9)); g.setFont("Arial", 12); g.drawAlignedText(FXNamez[i], [0, 12, 100, 25], "centred"); }); }
-
@Fortune A panel can only have a single paint routine. You need to put your loop within the paint routine instead of trying to create a paint routine for each name.
-
@d-healey @Fortune I used this method (with array
.push
) before, it was working.HiseSnippet 1065.3oc0W0taaaCEkxNpX1acXEXO.D9WxMFNRN9iz5Mrt3DultkDi3ttADDDPKQYQXIRCIp150kmj8hsmf868Frcojbjri69vXECQFvP7b4k2Cu7PxqFEJroQQhPjV0WtXNEo8I5iWvkdC7HLN5jiPZep9ojHIMDmBc3h4jnHpCRSq72n.zprCJ442+pCI9DtMMGBgdkfYS+NV.SliN5YeKy2eHwg9RVPgd29YmXK3CD9hXfOk0MQyI1yHSomQTcqjN54jHOj1i0653R55zqioEc+Cb50xpWmmztWWSSWmCr5Mo2j8INjt8LQZO3XGlTDNVRjzHj1NGJbVL1S7FdZ.dEKhMwmpZXgFCQNEdnv2QMEUnnAdLemQKSTQHXTFkm1Jml19b8SYNrawySeeVhAbtGESfZkVkdkWgdVEomYA5sAJoUfR6jRoGoO1NjMWlaQwmOV+DNrZ5Rf0ohTIsunR+ZI8ABnGbYy.xL5vPnwsdX.o3FX3u58qBOvpUjDG4KjmEGf+Rb29Ef9AlizC.OvpSQ3mSYS8j.du18WNBjvPxBpy0i39GR3NfwKuRE.WQH1XFzzrOdF9KVFInwt6Vu56pVcu8vW.RD7XvPT00Fllyii7LVNYHNNiHbpuQsLy0v6hm0.a0.2Q8F9wXiB7aWrU85vrbo6QTUdbNMTxnQPRI3EiO+r0Gq2U6MpIcsmlm.Zfq4kLhYfoCOfxjzfToNXwbEfVYHSDgNzvwrehtBvEDGVbjBpo4MpEh0l2WN6pD5BJP4EhXIiSMbi41RlfaLUk2pLU0gzfYX91gCaaq9UueEkIWXy4ETaowkVcf7CDXoGKp4TZ5LxnN.1pYmqfPeSpN31maf0rrHgE7yDR54bijHBlvqax0ci1To7PguOMbilUmYD9W4nAONXBMrA90D+X5scD1Wr5lM82+lshmEXmp.JzQA+DNSd9bJ+8cBAJS1.u88mbDQRT6PyvxkQ.1QzWCmOltesh9QznYRwb3TqAhf4BtZDzpJSr9vk6lUhXDC1yVUOaA2D8VX1noAQag5Ec3kDgHLlOXuxoGtlpBUHuH6n4bAmBEcGzVEgy0h2EMUPV7Tez+J9asF+GcOi+sVi++x8L9u+Z7+2tmw+1qweKs6W7uyZ7+m++m+2sZBnNFgSrOQtZwMpR.yL.GBuREEppF3QL4hhkH9eVEO+So3izGwj1dalik1.Ggip+Pvwr5Den9wttvkq4DbG8g+3GlhBQo29O8ThLjojXPsSiAggMEhNGjgpKA0JojqosMUsUYfwT0sJPi+.dxLZsTipLZszHJfXGJt1N8pWUkneTBBvIdRU6UfOe.ZisPIWGWLOG.EFess8pC0cbr01539aqis2VG6rsN1cacr2153A+8Np9tkuNVJBR21fPmN53jZYzzNlS.EXhZE8mPafMZg
-
@d-healey said in Basic PaintRoutine question:
@Fortune A panel can only have a single paint routine. You need to put your loop within the paint routine instead of trying to create a paint routine for each name.
I wanted to use loop to create separate text for each of the 7 panels in a single loop.
If I have to write to each of them separately, then there is no need for loop, right?
Or was it something else you meant?
-
@Fortune said in Basic PaintRoutine question:
Or was it something else you meant?
myPanel.setPaintRoutine(function(g)
{
for (x in names)
{
/// draw name here
}
});Cancel that, I just realised you have multiple panels. One sec.
-
@Fortune Try this
HiseSnippet 1097.3ocsV8uaaaCDlJIps1qcXEXO.B5ujWMLjbhsSQZ2Rhi8lwVRMpyBJPPPGsDsEWnIcknSh2PA1ixdT1ixdD1av1cR1QJswI0FqBHA99wGuOd7tirajxmEGqhHFEOd5XFw3wl8lJ0gMCobIoyADiuz7PZrlEYkpZ+oiowwr.hgw5eOpvnvFjju+461mJnReVlJB4DE2m8S7Qbcl1t69ibgnMMfcLeTNu2Z2N9JYSkPMA3y5ltjwT+yoCYGQQ2Vyj7Cz3Phw2XVOX.sdPiZtdrM2NnQUuF0d9VMp65NHXauF8azeSZ.sdCWhwCZEv0pndZplESL1XeUvzdgpKkoA3DdLuufgBdjdPjSU2VIBvsHpkzLjKB5NOQESfUoaVZa8zz1WadHOfes9rz2WkXvJCQ9DnwZ2jdqeC54kmdt4n2sPIibTZiTJ8Tyd9Q7w5LKHe9ByNR3zb.ENmxSkTeIqQV2roB7PpqLhdNqcDHbMBmpttksp45VZmh3GbbEqs5JE+l0KslCaHSumPzTMZrRBxwN1coRlvFwjBn8avSTDyo1MCUQShsKWrPxmc2PZLytr0b4C3wPBRyUxbJwEOJYOkS4qYWvh5mGJSPmlSt06rOC3v.UjkCGBt6NVbqWjP+JBlbnNDT7rmUp3uWr.p7T9YUhYZGaM6JMrNynMnF2J4coKbZqesZhlKYNClH8Q95LrTwBvRUHHhdYRJvAvU38v+dOj63RA3s0busx4ERfgUF.MIPhzIsgHtxkbc3dhwgTGcHOFSyoLK0tcoxVtU7Jgg.QCrJ0vRg+4.94vaCmmN16EwoBXy6UszNVIlPhtmfOTxBNFf+AqFtNm5h9C+gUKUqcVYKaenRHhEXOayCmBy22J4QJM6UxzsMX05CMMXvsZCq2hTBAK5VMiyVhtKfNxIi5yhJacAULgcsiP+yMaJMWbSY9YF9ok+4bTI6H45WMlIWzjDxrdF3W+bmCnZJ1IOSG32XFT3iTv3.1Evbzz95BlGvhOWqFSLd30cYvjNch0mLuqGKkHbn29QlI+1ibU1n1N6NMS3a2MqL.z9f+E9P8nVDdZKJR1O4fUcQA6ON4NC1CMS5+WpXs4hh0e0+Ni0iMylsrTAbqEEvc+06IfYysVp.VaQA7uGeOGcoyDWpfUeQA6O02yQWx71kJVMVTr9kqtyXsgYq2Aui3itxCtrUELQP027FX7cJyLfm04u1CuZSFy0Sy+Nl+2tV9SkhO0rKW6Gd6bbsagivbhOGbb1iYdhYqACX95LBtgY62744kKjzqMGdHUGwgpAyilLpGbn6yfnKgZDbBrwZ3rxTYWTFy.8XxfDAr1XlQOT1XlQu4FIin9Qp25mN2GetziRz.bRl7zxBvabAYKORxcA4yyifWu8Ve+atTeDvpqJvMWUfasp.qsp.qup.arp.299AhOtduIZ0nz1FB4vtsRtH0vnkjBUfIUqj+CjdbFlF
The reason for your error btw is that
i
doesn't exist within your paint routine, it only exists in the loop. -
@d-healey Wonderful Thank you!
-
@orange A different approach, Thank you!