ScriptPanel, check clicked ellipse



  • I'm trying to check which of the drawn ellipses is clicked on a panel so I can drag only the clicked one around.

    Here is my paintRoutine

    // Paint Routine
    Panel1.setPaintRoutine(function(g){
        
        g.setColour(Colours.green);
        
        
        var x = Math.range(knobs[0].getValue() / 20000 * this.getWidth(), 0, this.getWidth()-10);
        var y = this.getHeight() - Math.range(knobs[1].getValue() / 20 * this.getHeight(), 15, this.getHeight());
            
        g.fillEllipse([x, y, 15, 15]);
        
        
        
        g.setColour(Colours.blue);
        
        var x1 = Math.range(knobs[2].getValue() / 20000 * this.getWidth(), 0, this.getWidth()-10);
        var y1 = this.getHeight() - Math.range(knobs[3].getValue() / 20 * this.getHeight(), 15, this.getHeight());
          
        g.fillEllipse([x1, y1, 15, 15]);
    });
    

    Here is the MouseCallback which atm checks if the mouse is clicked or dragged.

    //Mouse Callback
    Panel1.setMouseCallback(function(event)
    {
        if (event.clicked)
        {
            this.data.x = Math.range(event.x / this.getWidth(), 0, 1);
            this.data.y = Math.range(event.y / this.getHeight(), -1, 1);
            
            knobs[0].setValue(20000*this.data.x);
            knobs[1].setValue(20-(20*this.data.y));
            knobs[0].changed();
            knobs[1].changed();  
        }    
        
        
        if (event.drag)
        {
            this.data.x1 = Math.range(event.x / this.getWidth(), 0, 1);
            this.data.y1 = Math.range(event.y / this.getHeight(), -1, 1);
            
            knobs[2].setValue(20000*this.data.x1);
            knobs[3].setValue(20-(20*this.data.y1));
            knobs[2].changed();
            knobs[3].changed();
        }
    });
    

    What I need is to check which ellipse is clicked and use that information to drag it somewhere else. How should I proceed?

    HiseSnippet 1878.3oc4Y07aabiEmismjXk5caKxBTrmFDTTLp9inQ1tYAZVzIVVt0n0IpQYS6hfz.5YnjH7HRkY3nXk.Czdn.sm6+DE8T+SHm6o.rm1a41dc26KP1GI0ngirrhpgqw1VYDaw2G78d+36Q9HSiXd.IIgGirV7tC5QPVulcyALQmZcvTFZ2sA510ezCY7PBZqA8vIIjPjk07enjs0hKfTe92evV3HLKfjSBgtGmFP9DZWpHmZC+OlFEsCNjbWZWCo2ve2.NqFOhmBtx71UP8vAGfaStEVJ1b1HqKTOjJ3wMEXAIAYsvV7vAM6veLSK+8nIz8iHxAdnlvDoIuCOJT5wRpnZcnQgMxB4DDxxtQN.LuF.th8dzP5H54.wqqX3jqgIdXM2zbOOS2qxr6dVFt2BZ26MraFDS6Ix4H8sKauKSPhagCJtLokEM2+4h103fDLwZcwGP1IFFLRC2qe8quhyFaVo76uTI4OvRQhvoON1oAlQh7b9qNYZ2lHpw61iyfAtWUy9pZ8L0JFV1DwzGU+SkJqxnjpVuUKRfROCAtZlYG23Gv36m.pe+GnDnEO1wkBiq79NTma3rA7mkWt7Rkd5RkbfOJwuO8Amn29wf.WcYW5xdkklzTm0RjRxDw7nZ3nn8gjO2O+u2.GJE7Ho0u10fvhxDNw7TAkQVpjN3kZpXbGMc2Vor.AkybaWdnio+casMjY3t5+jrV6XBgk4Kl+VF9GBAxdX.3hwr1DWsqV4Axf5d3nThaYmq4TsB7w4ccDcnIRNeFMTzws7JNUVYbZq5UIyTxoe.L8YR7QDZ6NBXBW83Vz6XVzvbYJthi2lqbLpYlyDDZA0+0ihn8RHt2+vUbFnU0ayGLIb3jgt8A+onFJLyaRfV0yNPyaFQs0OKPsIiYd.n4U.0NpXEjJYcOdZBwo1Vl4oJZixuGknR5CkG40QzVNZRqEDQCNfDVVS+o4KlJWNDKvqMVRpVuCg.dRXqmYBQ9bLXRyw.i4HGuV0arYI+aipORxvc0x76Z3qlJNJ41P7Ug+YH+fxGWAX9C5HcyP2INa4Ly7silbNcNJGFiaOUH16r.i8NCA4pSCj8NNtr9TQYuI.yUmFLu9wYdTgh.JKB1I1IKA2QsStaP1IAq.kxxcOfL9rPK2DCqVhI8jap6NNL.1oPs1HavY2hKH2l4VtzSKsXoiJ4LNqVslHugG6DQhmHaYeRwSSQWVZ28IwYAUlfPCCE6Hw9j6Hwrgo.8QmFBxY6xnha2ivNo9TPCOuE5XYggdEHpP0uxeXX+JMingjXDEZK4h1xSh8PJGdTOfe0O5ilYkqlq7kRabwzFK+yP40GyxewO7yP4MFSYTEezea2sgLYY+ZCAB.b5QhETItasMoOzHrt6sEs2ljbff2SI6v7Qn8MsQWJq2NYNnxlWV01FjIB9vgFMW6OvrS6GKq+GQ3s9F+NpZ4QTd9S7EjCEYsWu3Ed4KeohAUP5poVUR9F23FUJR1j597X.JtCNjllXZcM8lzmTn6eKai3qzIEeWxVWuYFbtOaJAG5aGO3dQpObhF+wYmqA91e1tl7jqjUb9HdeRry63rMrGaaJqMZ+1YAVIau2CZ7sp2lHSvwfbObL38lKSFqFHC5W7UlpmGde4AFqcOqueWbNuu4e3207ZUa3OytvEdkEL4loQeCW34EcAz19mYg85RaZa8esPnAxuzE9x4T3tg1ze8bCMMaLS+JCyiewK35e7vzHrn3cBkWDdHCXa4BW9RdAKVBULv7hx+hbQwY0ceC6FTQPmI6uyMA+Epi+k1eGds6kr0WNL2YWvdmO+b3N1yY3Kkx1ktVZbeR8Go7i+ncgqqVvktUZ2cnQv8nkGvZAIYnsvrvJCAvm88+qx9RBdCI7he5qehhP0gD9x+42Muhv5EeLEV3F4Ddc+c14t0YXH1z3v7Ewg4msS1mvxf9Nqsg9BioxBFHbZB6BFPfUAFrurJplSd.udbE4XoK0jnhRaK3jjWNjoWFDHY5kwzbo1VCukruICGMHgj81EYCKhsakBIDictxy7aDCGmRd7vEp7xpeshIWQGIW19yv8IpGJQAJ+I03V73tNeHA1QRVG6MkWf64y5Kv0aleAtaGH.W3tv8ER5wSHdly7X7pZxaahHkUTbMoBRICucfvyPtK4mQrpIQnCgBSFLtvLsG0Xe8W7A5BklDHZBucR.DrRryLWoQZTBQcmIOSEyIW0j73YVKLaYV+p9gGO+N9a9YyceEuM5hY9XSZ2dQj5r9jHnCbkO9lPK2svoQhLpEKi1iy385vYz.ybp6H2sucaRg7lIFP2THflNyobE+6PhH3DiRq21+SflJvw6IeD8SGV3M6XwzVudKas65Hq8c9sQaKy+6x1Vl8JTX6w+OXk973T0yCazEGDyeXf90BjkdWRQAhal5+opEs2SN1YzqaXaWYsJntvF3OLHPlcrpGBMYcpdJzY8SgNabJzYySgNu2oPmqeJz4uLUcjmcdyTAuqN+GHznt54ZrrL5oF8+v6a3oM
    


  • I don't have time to look at your snippet in detail at the moment but I've had a quick look at the code you posted.

    You need an array or an object to track the x/y of each of your ellipses (or is that what the knobs are for?).



  • @d-healey Thanks for the suggestion. No not really, the knobs are there to control parameters later on, so the position of the ellipses updates the knob values.

    with the posted code the knobs can also update the position of the ellipses. But I'm still not sure how to drag only the selected ellipse.

    Even if I manage to store the x/y of each ellipse, how can I select only one of the ellipses?



  • @clumsybear Just run a check to see if the x/y of the mouse cursor is within the x/y of one of the ellipses. You could do this in a loop to reduce the lines of code.



  • I've gotta go out but I'll make a demo for you when I'm back



  • That's very appreciated, thanks 🙂

    I'll try my best to wrap my head around it until then.



  • Peek 2019-10-04 15-06.gif

    HiseSnippet 1054.3ocsVEtaaaCDlJwpq1adaEXO.b8GExHIFRc0cEvIaowwdvaKIFysECvvnfQh1hvzjBRzMVnH.6gZOX6MX6nnskriWVpAl.rgt69Nxu63w6TuXoOMIQFirJ+lzHJx5Kr6mJTgsBILAp64Hquz9BRhhFiMpNKMhjjPCPVV6+SZEVkKgxd9qe7LBmH7o4pPn2IY9zekMkox016zegw4cHAz2vlV.8KNsquTzRxky.9rusKJh3OgLldIQCaOaj0iZGvTx39JhhlfrJclLHsen7FgA+6XIrq4TsfGpOrPF0cj7.Mi0ZQsBY7fdKi6DDrJ8xyB6axBei8Er.1J84YiuNy.N2ih4Cq8tO548eSO2sQOqBzqjgdOwtueLKRkaQysO2tq.NnFQfifhzxfEs2qJY2RBHDp5SISnchAgUd37RW2CwMbcq0rZkpUfChDE9CjX77T7I3ACZjYc3g3AdZfveCGtAxdDAk6AnWtKiopVxoQRAH37Ti4mZVeiP8DppGjZU+lblhInNilI7ULovYbspU9X0JXLdb8QP0xq4bG24MZzI6QuFfoE1SzaitnAPzoia1SQDijwXGFvK2lXF9XHhpyohwpPP7fCpkgwrWYOlMrMmyhRnNClmNfMbfNxMu4Au8bW8ug0Zpc51J2tYLcgbVBsEgyuFJfyCJ5pfByFgcn084L+Iz.CEJxAUHKod.QQfUiS8Uz.f9G40LGwCInvarp4a7b7ObBdYjge1yvZUGWP0AP7YzmlC0a3RUGWPkFZs02jM1y+0Hh07t.uNlRlzbM02VY82t03EkmPyhmsr1eqNcYXaPLY7cyv5BVEIFJQAdb2En.wxeCBYiKYonSxRZGAWEZtUHdFHoaBIayhoQ55dGSIjoFZYcBVJtTpnWIbpU4iUJWAB5MMMZzVsou3EK4bZ7VMqa2FeeN5HlM8ZZ7gP1gOitBHz2Y8FaO5g0Xy2zGn.PonqfotJhtP996LiVzHAd6scOGNdzcCWnCvEQiULMcrNm9AXLio2XY6yoISTxnLrK59fr9LUl0pK6bpuqhXvV+Xay8Vz77IQWcZ5Jg+3mO8FVfJDYYa8mVHTHkMNTokdKHA2wk2r7lNPkuxF5TgyUftayaXDhLXFmnVethdX5BCvYxZMv0MoEILUZwgseBCabevyBenz8I18XJ+vsy281BegSt+u46hQ2UsaOZDbGNmrkr67665b5OApXlgM9BhJlA0R1WNaZeXnjOEXh.pvRz0L6oqpMxtZYcloOUDjI72vyBidZYqEF8VZDMk3GKeuu41p9iCdblFfShruQpL7wZfL1CkcCF7y1stKZJ7MKu22WmJNB3918446fOe2N3yK1AeZrC97xcvmueG74U2qO5OW70yTxolqIfhdsyZkYY0VPfprrJRz+.SJKAhA
    


  • Thank you so much @d-healey!



  • @d-healey +1 for the event "e" shortcut 😎



  • @ustk said in ScriptPanel, check clicked ellipse:

    @d-healey +1 for the event "e" shortcut 😎

    Like all good things, I think I got that from Christoph 🙂



  • Still studying the code. I'm trying to control knobs from the position of the ellipses. But whatever I try, either I break the code or all ellipses are controlling the same knobs.

    HiseSnippet 1382.3ocuW8zbaSDEeURTIwfaoyvG.QNzQljXjRSZYFmBt0wFBkj3VWJLiGOc1Hs1dSj20UZcq0TxL.m3BeF3L24qAm3Bm5E9Bv2.3s6ZYI6nDR5LEkII6912e98d5su2SMC4djnHdHxXkmDOjfLdOyVwLQ+Z8wTFZucQFW2bebjfDZoI8f3g3nHhOxvXwOWRvXkkPpm+9yd.N.y7HojPnmxodjuhNfJRo1r5CoAAMv9jmPGjg6sptmGmUiGvGA3YQSGzPr2I3djCvR1VvDYbs59TAOrk.KHQHikd.2OtUe9KYZ9eJMhdT.QtwE0BTjlbCdfuDwRpnZ8oA9MS76HDnkloQgE0QgOvbepOcJ8znw6qNvJUhrwCiEtH34lEdNWd3YjAdKog2MMa4ERGJROQhs20bOF7hpKFdEjEVZdQK7nqYViCbvDkGfOgzHD1LUB6633rt01NNkpTrPwBvKhHg0KvgVMwgP3WDRed8G4ZcOKU5Q4dDQ8tcIdB6UmggU0hmUAiiAoZ2dak56rtUaWokf+zoybl5DF+nHIy5C5xCsrOF16Tw5Xqcr1D92ZqUpXgWUrfE7nXu8wc.NR7K.V03CFxYvF6UeHvvpqYe7ZtkjvBDoXgSmGdMwLRf64pC8wSbK8lxQDQSHgP7X9HAkQr6Nh4InblcuofqW4tPN98CBrcFu81MTOSwf57HoYjo5.GMZ3ndxxgx6oZumBd+33xADVOQeXqJJ.7LIPXM0f0CBnCiH1sGG2l1osLbqW4Bq1zQ9amRUjBcZgSm2m1mOJhTCGDbDbsK0oHoQbZWKaRYu.p2IDeMDxhAQeZTYer.CZK.xMH9.72vsRJGWFmxZNslZ3wVe58rR7LqacKKIocxPZMv+zziSY0sSBocxPRxZoYMxb17b8HZkyx3QgD7IUlg7oElc0oZoHAQDk+jit+PY3RiV+PbuyFgkIrBbHjhB33rJHCvRWAtrVDUH5dpf1Fv8uJ4xhqlk34YIu2xiAV2GCUCBwrdD0KnOVeLnpug5K5aWZcK4k8RUxS934kONi7eAg1quPpfMbmSCoqzk.b5HSeeJNXDwdS48nOJCFyJnlc2YXeC32L7GW5rB.52quDh914ps7NbN+MjLTVwvVe4KIWXJSobmbsT+SFskbezhyNfKHGxrKU3UEVovoEl+jtcy6HY4sPdP.ILuSkchCu.wrYiFbDIbcHCDBaI7AMjlsim442wKaCYOco1LLxY6wnhCGRXmWePzj5yPGwEl.JfUgpe30mzOrU.0mDhnPau2wTV82EovqbFi+729k0+ge+WqhtzBuYpvud7e8y2801UQe8d6BYIxtxSfC.wgjPAU58F6RdALtitG8Jl6RhNQvGBFZZ+DP0ZiVLoCtr5qxlKapqDiFmNQzgUimt46+xpuTdkZJgpupZe0cjoTZNpJT8l+xjZ3.jtgIzCxJk.JCTV9+L3APwzPp43jESffow2AaRLuowsgcCvoH+m9ipCxNa3VUQmMFbAAdkg+w2.CKszYmWBlZi6OJ.KlcTN47qSN.R1mYlI4bQrHpHN67suUlu6xB2aZ1jJ75mOdWHG7Jun7VFuSlVtnodVvTvtjYiu8Mcz37mb24RNZ7Jl0FE9BR8mqvwMLmY5zYfzAiFzfF.i+FkjiYr3rfbwKGHyIFomLrGzbKjJykAa0BF0yi.gHFbKWYxEjE0z6cRfPKByWs4efmIG5J2aL4P2jC+ewFCvdg7m4oqXJi3Kqn.9MS8MYq.ebHr2ZZcVY7X.7EROyySlErgKBkuDadkk31WYI15JKw1WYItyUVh6dkk3St.IjeN58GI3Cz0D.BMqqZQYXTmggrUUtN5eQ.7h7H
    


  • @d-healey said in ScriptPanel, check clicked ellipse:

    Like all good things, I think I got that from Christoph

    Nah, that one's on you 🙂

    BTW, I was going to comment on your Patreon video about the paint routines as this was the only "wrong" thing I found (after you've spotted the non-this reference to the panel in the mouse callback yourself, hehe).

    It's not "wrong" in a sense that you absolutely mustn't do it. but that shortcut prevents the autocomplete from working:

    autocomplete.gif

    Unlike the rest of the variables, the parameter g of the paint routine and the event parameter can't be correctly resolved by the autocomplete parser because it can't access the scope of local function parameters: in fact in runs a little script in the background to catch expressions, but this only works with variables in the global scope (or API classes) but fails for locally scoped variables.

    The solution was to hardcode these two names into the autocomplete, so whenever you type g and press Escape, you'll get the Graphics API (same with the event objects). It's not the cleanest solution but a reasonable trade-off and won't be noticed by people unless they get smart and try to change these autogenerated function stubs 🙂



  • @Christoph-Hart said in ScriptPanel, check clicked ellipse:

    "Like all good things, I think I got that from Christoph"

    Nah, that one's on you

    I was wondering about that, too. 🙂

    @clumsybear said in ScriptPanel, check clicked ellipse:

    Still studying the code. I'm trying to control knobs from the position of the ellipses. But whatever I try, either I break the code or all ellipses are controlling the same knobs.

    Finally figured it out, but I think it's not the most efficient way.
    I had to do a lot of workarounds to make it work with my limited coding skills

    Still have to figure out how to do 4 Bands 😄

    HiseSnippet 2071.3oc6Y07ajiTE2NIdYRCY2YDbAABYhPibmjtaW1tSmVYFnmIIMSX2LSylkgYUTzhic0cWSba2is6Y5VgHshSbfCbfqbhCbBIf+B.jVsWPnUveDbgCHAG31tupJ+Y+0zIL6p8vZkOb8p26U+deTux94V9dV3f.OeAwUemQ8wBheEoiG4F1cutlDWgC2WP70kNxLHD6KyIc+Q8MCBv1BhhK+8oDDWcEA10+96ceSGSWKbJIAgG6QrvuEoGILkZqFuIwwoooM9cH8xvsQiCs7b2yywa.fmkkTE5aZctYG7CMorsjjf3qcfMIzy+3PyPbff3J22ydzwc8dgKm+GSBHm4foCPBGCJhStomiMEwTpB60k3X2J1tCD.szJ0KrL2K70jNhXSRnm5MtIaB4TIx5ODWZdvCkEdpKN7Dy.uU3v6VRGa4S5GlNCEaeYoCcg.UaSHDjEVbdEV5itkzdd.Gtgk6YdNtoOLHQBksUU2RtppZwcWqvZEf.QPn7yM8kaY5Ct+PexyN3GhjuqLK8nbGb3AsaisBUVOGCqyEesB93NxCGA7exIUYJ9zsjOAQWC3OmdJiqJajcgN206r.p.7Ia64Kq7TXr5txOU9NxFv+1byhqU3h0JHCWL1O4omBbDaU.n1yqWeOWXfx5uIvv5ap7zMQEofJiHkCnL5F564rmoiyYPVlxSd2Vl1T9tbsBaTIuKfpIzbWGtcmWBs4Jg15bPwMF9ESSyDbnQQlQFt0lM2C4QhT9GGe5yEe5SwhLlqDFyvhzmIF0lhEYLatGlGQsLcwNyNrvmNJejOfp5VvN4v21aPHwEqzdfqUHwyUoSRdUmxsghS2ywQQcX0pMYWQnLZdF9n0n.NZ1TkckkigiNQ8T3G.YGYBaU7Mc6fU3wV.hO1zY.VonbEYMpjxaHG1kDPm4GSrC6pTbKYXSxXzJghWBt1QTsGyyCvjNcCAUVZ7ETa7ELypEKErgr5VSPMI4AVOzzsF8WMVCZgsFi+url3vC6OrhKDdwEBTbY3nxNX2NgcggrhL.OWjlZxSJNvwgzO.qbBfZB0mrkL+NDbmlJ82SKtKUnKKb434cG4MH.mjPmj3gSKnQZKqfKa4PrNGaygPVLvrIayPSPaNPgWrM.+RnLafVDiRdLsltvCk+t2UN1xju8skojtSFRaR83L5iRYEcZLo6jgDk0h4WjwVyYZQjcmjwy7wlmuaNxWVH+cWxkB6DfY1yTz829txHNXs8M6LoClVSIzzGRaPwoi4TPFfEcWJAvxiDcx8JLeaI3XOZR6z1cfxVELqlPSpoQSnozL+RnwzU5cImrv29v1qtQdPmUvjiVhYuD76F4gVwwE.U1pKEl1JSppoMyXNwrgwEJXVZAilZW+no1qrno1qvn4rBv5yL.qMs.rwrCvZSM.qOy.rw7Bv4hr4.cbUx0JPbcfyikiKKJG8.OJVwmmuEDPAjRqVloLd1aqTQtoO9YfG8AvyH6elGTHUderESwGgC65Ym+4gjy+nsTuw8BgAmMHDqjeJlhgpZzSbxOy8McseT61fraIqnfJuiABs810PnZ5Zp0OXSUTQPFVTuu2K.N.snnTBUVyn9N0phpqpootM5fRp5E2fahUTJoUt110QUqaTyP0PSCA5QuHjS.BVYFBSu1cbCTNhPJ0nCj7w8oOGzDgKdz3x4FUFNmnhbBBpTg91gPzXeu.bo2FG.R.27.3bzjnQtrgENXvz6BDLntwsqVeGjApplpdspF7vAM.TurtVsZF0Q6fTqqqSCTZE2HILwrJX6WYUicpVqplVMPK02oHcmpRBW5ko9+pf9goqi1lpjoHDrfubEOVz6ZEvRoO0.m1m61Ng9hsSva074jsSnuX6zr1NQ+IIp449PuP7ibUJV3hBqV3xBiOS61SapnWo0A6OsYoMByeNho3Nn2YX+3DjH9DDWIeCmjlcCmx1OLK9KLmgQO2CcIgOpO1cVsgRH5sro8KKBT.qgr1Q85Qsi5XGhM1WfXKH9kjXORn.CuzV78W+c+sG7Ag+wFBKrvZoBew+5O7geqKTuBBqmJ7+8+U9at++4CtBBajJ7e409FN+9+7saH7iNbe3wGosiKxQ.NGntXHg52E2G+bhEl2btUk1GGbdnWeHdjzOBP07Ecs3V2QSDYq4Mj3IkBCSaE5iZLJYv6+CZ7B5yWlPnwEM5xdLwDJsFz.dyRuWD+9k.jdCo6AkFRIHjAJ23kF1.nHIR07n3ahffj3OEFDu7Rh5vndloH+m+OZzKaSgMZHLoOXNgb1B+ytFK7XqzMdo4GrU5qKFsRheVYhF7E92Hd8LwI6E7MkNxydfiYX91TSKqGMATIIW+fo870MfDNJau6+To20KJbukTKRnU2oi2klBdg8geZi2nuDvZR79bmB1UjZ9jqaa+m9WkP8k01+uZbkk8F3+b7AOigi2PJ2w04fzCGzqIwID6SOTPbYvxnGlqF4.a7q9NUZPIfhH7S90O7cYDzx+4bbs0GmfQJgaxDoZrR+mOYYFgsiH79+hK9kLB0FWG6LNg5iqTTBTKUZy+DiRLVa7a+6Gy4YBvhl.snbvUb47ApkWr.0TxS3MPtC7fH9D59Yveer2.eKLjl3BEyYt8knmZxGqFuU+XLKLHI9wvUzjn3BPzIQwS9YxZzyzx268r3GLRy5tAiBX2tru41pRGQGKmbPN0eziXSdOKK5NgRHAgoKg1UVB8qrDFWYIpdkkX6qrD0txRrybjf94Fu2fPud75h.gVGvdRDQwCbMgrU19cgOAZgpniB
    


  • You know there's a floating tile that connects to the curve eq, right?

    HiseSnippet 964.3ocuV8zaaTDEeF6LUX2FnUpomWEohRkRK65j31BGvM9OHKHoFbnBN.US1cr8nr6Lt6NaZshpTO1q8q.GQhCHwGfdhK7kfSbluAk2rytd20wJDrD0m76268l426u6LHT5xhhjgHbsilMkgvWiLblPMo8DJWf52Ag+PxAzHEKzx.s+roznHlGBiq9EZ.bs0PI+96OeepOU3xxgPnmH4truhGvU4nCZ8kbe+dTO1Q7fBVuaq9tRQaouLF3SUhMZJ08D5X1gTsYUHH7U55wUxvgJphEgvqsuza1vIxmKL1+DdD+XelVvAMDNHCbOoumlwZTT6IbeuAYwcDBNkA4YgplrvMIGv83ywyyFWOQgUtGEyG3JWD8b92om8xnGt.8VyPuaPF5Fxmpx0n41UI8EPgZDEJAEokwVD9sj1Rv.g5dAzSX8BAg4NrUSa6ss1y19Ne1nXgqhKEVRwgRE6whstS8ypWq9KqasnpQiVpN80DJ88YgKUstpGdQNtkHN3XV31VmR8iYyMDB+x42qd4xutlntfgRQeAW83orT4hMHYQclVaz7fsHTdLVDMIzVhY4Pmu.iRqJv+919cnJptlmhA1MkEp35nE2gcJLLY5.pQ5vhNQImlXavToPeB3qoRaeM07d9RphKFeDGxJbH.+HRQHGzKlO88pVslkOJ9isRIf41tEoSHc7XJjb6w8gVlATAyGc73rg0ZWoYylc0dxUrfbzM1di2UFsgFFP1QCmDs3GRNa85VVaNOoz2ayOEDogvbuJj+LqtesylamXSegG6Ef165rd8WhdN2SMAgI3MpfPSX7wSTZo13h23N5arQiy9AyxmyMLAizRuXepp7btd4VpBn4rz.kdpQDwUyJt76+vvu8kd2zkkt2fLfqbmrb9VYI7E5w9+luoqRWmzczHlqJmrqQ58cum2adyrol1wgmx59rzZb4VrRb5v3.SqdjtipJDZ6SEd1YYve+Ot0a0.No.+Y+OYbKMPixePT3syh.6lCb8DW1KEn0e882NAnYFvO+quIA39KdFOXQfGt3g5Lmp+xO8wFplw0W070+lwlyQVmywVmRzsWui5JzqAL0spkqaUub0skz17MxX8RoCnPs.1IQfr+PXz0kAcMBXUSRQnhdWoQ1VKqozPVRQgfeG7KUoiVFmpzIS46k6Hf5FJepqYoutI7CRPf3Vj7FlZvio.YKGTxm1.+H12yFE.uo3ott5Qi6BiUK2mFqfO6rB9r6J3ydqfOMWAet+J3yCtPezOm6QwJYfYsI.Lnq4yR3Bc5n+A6Z63WC
    


  • @Christoph-Hart said in ScriptPanel, check clicked ellipse:

    BTW, I was going to comment on your Patreon video about the paint routines as this was the only "wrong" thing I found (after you've spotted the non-this reference to the panel in the mouse callback yourself, hehe).

    I shall mention that in Paint Routines Part Duex



  • @d-healey said in ScriptPanel, check clicked ellipse:

    I shall mention that in Paint Routines Part Duex

    Ahh...so there will be a follow up, nice! 👍



  • @Christoph-Hart said in ScriptPanel, check clicked ellipse:

    You know there's a floating tile that connects to the curve eq, right?

    Yeah, I know about it and it works great! But I can't costumize it, or can I?
    I want to limit the number of Bands and change how the numbered nodes of the bands look.

    Don't tell me this would have been possible with the floating tile after all I've been through .... 😄


Log in to reply
 

9
Online

552
Users

2.1k
Topics

16.1k
Posts