XY Panel controlling Knobs, Panel does not create DAW automation but Knobs do?
-
@Lindon lets try this, stripped right down!
HiseSnippet 4807.3oc6b07aajjcuosaOVzxyXO1IHmRJnKKksLMIknrcbFHRIRZy0hRLjRdklAKFTjcQxJtY2b5toj3LqALVDfbLGxkr21+CBxsDDfDeM.6gEHmxsIIWyAebuM4UU0M6uoZpO75MXHLr.q58d0qdueuW8ppK1MMz6RLM0MjRkduIiHRoVTt8DMqAaM.S0jpWQJ0sjK2Yho4AGtGwzRZyIivllDEoTot5yYjjZgqIw+79M1Dqh05RbaRR5U5ztjsoCoVts1rzKopp0vJj8nC8P8Zkp2UWaKcU8wf5bU4bRivceMtOYGLirqHK8Br4.oT2WtXgU6tlxiUJTn3SWuKdcxS6g60K+pJqs15O4o4W8o30dx5jbEkRc8pJTKci1VXKhoTpqsotxj1CzOVSL.uhZR6nRXeIuTaXjEMWSWUgMEYsJs0.ppRSG6joDHkltVsqJrZ2StAUgNscWq2s4cfb4vqAL0U7qdW0m5k2q5kyi5EgJkxiJcMgJcG41cMnirb6goO2TttlEwnGF7SdUEAsRW4u4OS9QWDePk27v1sQmQtS+ne++IcZ1rfA8QTSDVCgU6qaPsFP6hLHGQL5f5fAqGBanOVSAUoZ8cp7SLQO2fLYftJAUocyUPXTKFslvWIp3IPC.ofvZrMZntBQEo2Cn44.BGvLZ8IFnxiUn5OZuATCETCfxVjt5FJlnlpXygXzV5TUTEpI.arn5ZOr13u8aQMIJXUg.AEZrIUqOZmxMx9LXNHlB585AZA5fCQMwJHHNyxPWL3pC0Msf+nh5MVqKSllqfFRvZLgL1jwUWPM9lwztuVcBW+oZVioVziHv2GpeDA0gXcLg.ln9F.TC5XEjhPEA04XHpkvz.ayFXCF1gRzrr+tovnXdLQUkMlN8NBCy5tFDLSHclfrFPDbXRbkDyZZOCzl.yKfWMLaRvH2fP0xBlf8.N2TERlv8K8MviXNQvqNxP+HJDpCLNFzUyILsbmxsKy7i5JJXvGzFxBQP0To8GXg1hvhddzOED8vIn1cGnQsrFhgQggV1Z2lG1p9yewdncp9ppsZraqpnx6Wo9tOZ6x62p5NaUE0r5d60FUHWghqfJu81HN4sQsp1tZqWUsRVDHmC0GiLGnOVUAM.eDax1kByWXlB54HtNJrEpjivfgp59aWFc7.v9S0LsvBqH2suBh1CMADmBUAooC1TUBfY49ebWKT6wiFANoR6vLmC0MHbvW1t5YG+ZTOcCjBwBSUMAfDnWaw8ELuuHAB25qpC3odf7LyldK3OfAJ6P7qI0LfuLMWSl0ykaEzZ4xs7yRCCN3tNBaf7rvB5KP70cx1mXwSuw+Vlk7PxR93ce.Y1DPaDqW.pgJD37EnpZ8oZjrBLSHBxrLeVHzXFdmOYQ0np.5rmg9PtUk2nnM9x.Fr4qNuql55posGClPbIElm5rdgg.kNMaTZh0HplHOJ7AG9RM8N71AU0wTwlt5CGoqAeIyRdnAlsP1SHdk0BmbXIEhAW3m2byubmc27Lma9ikzyeLnCtd2Jzd8f7t5Zb2Ub9WeT4GO2l9sjYxqCA9Yi0xpwxCu2vLr1LYXsvLTblLTLLCqOSFV2OC7UFaAgry114kpHDP6QPXuxoKBW5hPH0HDkNvBEmtX7RYDBpA8jSWF1DE17kellu7gYnvLYn.iAVhCgryTodsZ62t9t6rb5zTMX4Bxz09Q5Z9.oaIpTHSWGItBLlpiIKm96Rm9MfTSDPOqIqWtj1Bx7xraYhdf7nnEPYZW+KqFoN5DLbFUO2Xon0r.hWrvgHTKSs8+xuD0n9ArFCqXbhNiZkczZzpjWA6pOqA1nWTuQips3pTbZzZmCMZsYoQqERiJhxzX2JP0vM26EwpOEOG5SwYoOECoOqKzmZsp9WFq5r94PcVeVpy5gTmGCQedSjEcDnWJNqQf9SWFSDXDCjqt9Dac0MiY7ZqKMmG80at4YnwgFLWc9o15r2zywq0do57n29WLXFZdDCnqtmOmsxautP75sMAmGUd5ZOyPa8OLBE8bT1IaymkqfpuydUaUqLrYn+v9rAdNwhusfgPg4vbisu5QrJ2y5qnen4lZypheAAKYu4D68Xw1YEHkdz9iMH7Q4fCaaA6.uY3QvscOiBVQg2DaDbIXoUPv1vXaBym3.DPlkNlpXM.HnPzcOfv1.b782ou3j6XCwI4xUi+IRJAPl9wNPMSf9kJCaFysgHXphAtOrsq9axNoEyLNFMlsba8tXU61ysrsUrNrsbJVEVEma6dM.hMQXCC7DulNQyeA5q94g3h20JHxIiTocoVpSPfVXw1WMHOpAxfcVM1GbA1zj1medCnt1ShroYadNCaPnv.j6Yve9KPEf+7fGrL56RifO7g3qn+7YV41RnGfxPg+KOapwXi+efxV0mpwGcPaIcYGVBW6xxoD1+Ov+W.5fy3ZyeMPAO4gizMorDK+4BdXmIxCKlCAa3sXtrSI2QUYthVL5x7vhqff+kKat7150aPv9cItiW9HFuIQMd7QKetYOb4WAk2+v4yXz11B3btVN9AlnALoczoSVzroCNJAy+woGFo2vwEMzGa55a4mKh+nwfvUNCSElyvlgbD3WYlEG0txXCFjRwFcmMqqOiSaVVOAriMvi3SUMxwhzMHGaJxYFylYhEBLcMpN.9C.71P7nWw5Ni0.pIC0kYoSVZYdtAugV+LVFgLKidHxgN6VVAw8+7SnXaROXYGCVxgPi0gQOVShXrdAO8huAyoItq+g44i1d5iVA0Q2xRe3zQyq0Y+QJrzmNA8grBBmdNtSWnVbaBH6.xRPX9.DdnM5i8guhc1t7SsUISfNJDrCNd00w1EhceMQwALDnWE8wcTIawngQwBQp34bU5EhTgY4oWHJEcgXTx2j9MNqBMEq6T3AU6H8WyNLW1wLhEFWH3kc5uJYCUlB2yFtrDz2MMhsBwhXLjwzwCncGHD3wXHKsxe0XSKlPYTZP5inJm.3H97KKUSgbxt8bEs2rh7bOLhEY6DocnFP1dtz+ue6eGZr.ebxzfFWngJagDVXkuHDthai2mQ.huL.t83AUHD+A1GJfvmz2wU4gtvqWdBrDISs7PDTAhWz1ptNc9.7nhOHWVQ3oytUQqFfiX.tEcE0Cyeeaowkzzc0gJFfiHDUnhcCK16m+ob4Vo51kODUqZ0JaVdqWNCID2v3tafnz86+zbdFl1MaUsbkX4OtgvtP3HjeduRGryQyWDxMzhlBfKaYSwJZvZYJg.tSlEv8vH.t7TmyJaaPjqSWgftG5A5VHgP2IBn6gQCc8c9Ot1V9.IrpNmSEJOJFthvx5b3MAj38WkKS1QJgJDl3XhGV2mOWHH23A1oJfVO.CwAhb1mcP8RDFfDPnVk2qZLrE0JJSym1hLB1FhEaswAh5BLYkBXP5oB0DhD7ZuPnO+jgfQGoNEkDncVoPrUF12hpRsl3lpGFD.yAKIvAbhmiBjY1t9NnWrlN6QwEdQhfPUcUkFTMwewmvAN7uy9K9DmxfLHViMzPBl.7qfqkQ2GkQPHzlfykQOBkQHLOz8.6dYE28rzd1X8N5Vjc0xv167BPenfc0qWj8YW5H+4KEQ2rq3fwrXLi13gcHFd14NmPoTWy+cCPN96Ff2qtPWwVI7PntFaeM6NhnE2EZPxd+GRRotqsVAjZwuEA2x4VDv.KRTEoTokcvHRbU1608P5zY+Sk8B+RfH9TaQzVkpPLrkwKZVipBUPvBLBJi8JkLYrc7x3f+kDJilTqtCryxGTO99MRhL9DY95wmGlWyGynm8O9ejHl+LYe4WNath6HGXMzPh4sIQL2UNz58mMA8oxdW38rJilFDtXhRF+1DYbSK6rxxYytBNGuqyc1Dh.dT7rYEDLu94g47mG0tvbv7ligcDpwYdQ4WQL5X2P.I79Mj1udErElciorS5AIBGQLrnrbropPNh1kHt+TK.HIyWaoOBblSOUFoT2NA4EOY5PhTKMY5WdamR7CYaZCuqSIwwpMskeMtj+iGigD7c7XRczM.CUKrBcroqnOpjE4DKmKO2hxqU3wOI+Syk6I4jnVjgduUcteufnAmitiMGxu9ie7iKjunjI9HRcMwEnPrvwH0w8oZMwF3grMuItUd2PVbkhjTH8viUEE13MMlPcYACd8jLy+TS5mkv0JbMqkZ5wrVZmol0qeOa4O0rNsE2I4BW+G9gef21oYpGgM.Ezil5wGGmafKSmyqTX37YvWTN+p4JTHWthOtnOWyMkeRtG+z0gNeRLFy2uQXmhjGs6lwYG+L4FXXO0F6WOngDVrz0PNxH.9rzaChOeWqRQhV7NQRKu5pEKt1ZqVH3L2CnzKZ0ibNx6MdL0U8L4tWRqFvcx81uxyjC93exIsSDStPd7flNnZs1VfB35ye2WWpGUcnIq05Cw8Ak7OU96Z1Z2eZ0s16qqs61Up15M78wkY0kyNB.Elv1oH0vcsX2VStTJs5p+OaXB0rsGXV1T+Dw7eH1ct7NiRCoJJpjl16+ycVhgdz75QA8cj+.t2uQzHp8JEYP8BxaqeLZqwVRTyl9IvNUfS0i0UldAg42ywNrXFAk04Yx2VmIFeg6K5GltMtiML8Vfij4BEsbhWWmmjnurzo4GkVKreL.Hgcg0Dy06IuI170DiinPM7n5VXUZWIBT5MdJNjgUYnTaiRV+S+zSkr+490kqYP9FeAn2MoUi5AC+MefvvIETNmXcuXXnpZuH0R+swAoK8OTJR7JHfXVD5EzKF35KngfqoiGtt8kHbc6yIbcAaaRVeHv6jz8x3Ncd+uvKBbsRI.AdQjjzmO61xkMK2Q+HRa8MIv5q9caKJ2d.cHrOaP4kNUzeRA5wUPSLXVnGhFyInHX2+JYdATKDGf5t9bAyDVI0NneXuPvpUiBV4yIeJvJAP55x.4YSVgF2UtgtxXU9Ev9BoXiXJSH95JhoPjHKZwuK55dsSm510OwaHw7lg97lTcdRfGBCDkOJdLsaB6e8u5W8Ouga5728a9M+ua3CWey3v0etL6GoPRf0mwrkNNE+4ASD5dAYwuqhrbx8W0T1RRg232LNElS7twt4ESLO9z4MUZRf.gq9LVLwYM0ru3MeIKkRTrWvCr5hsJonLJWhwkQXu88ioyagSRKEYM89h9tUbQe+QxaMP2XroiY6xH.Lnm4LTuxmHy3N5vPe.tErmO4CVtMi+nVlJQmZ4E6tFiBK8gbmiIKu7erskj+vpurfFgM0mB3HJ.PzE3Jjo+RSt0bcDym38ja9CdutuTFGFLkAe86jAL9SBaptLfFQ4Qtf.G2T1Qp9gGKlzGbfmiv8W7+yPFeeBQA20mE4xYWt9r4BW2hxUnXgoJ64GN304+4I8I9.yR4TJhYnbpeRpD4zuDqUPXXthrTR1jZo+qu8uN1Mo9a8TWAjP3+bi3NwjnNlkaxrROjalR7QpjdpkMgKJ8YSY3B.wkns.rn6zJqTTaY1KzX9Pb2NIOePNZ6ecNQaWhYO7kr3FwcFcR+tjdjI+tM7UZ62OWXtqKKr1ID63XTu.vNNkkxDY14qh1HdtQS81m11L+zD+Hg43lAolObyEyNJiN4UROAs4KmyzIsjuyh3eOgqhcO+VsKLfwhtx87hNB5XOumDQQAz3e5hAZbgjoIHzv+d9lwwOg6ZnO8o9eG4czQM71zEAD6SfpPFwLNIBOcaA0WPXoyvFkugPAhXoJGu+YOEiyc9fie97qboV.z7.27sjz8RZllqUZ9Voge.BICE7orB5Yz+gpHkaxFPjHb4TRm33DOMXP53NE+aI648PQrOAh0CdYV9kglasO8KKPjWHkXN0+TWKQOIKm6djmiis+4eKb9MJ9pn4duK.9Lt7YRgSDdIVG27.9ug7AnxGTusD0rAwBGfEojDR.hXZvvz5Ycl4aOeAB2xaffcDvUkOHhC3OzQENa+17rLZgK3iGJHBJNLh+CB9e6iWHygmeHygdfL1kxNWPFGnwgRwAdtPgLoS10NzE272+KmIt4dglR2qTR2Y8BxUseDJwcaw787VjB+Fh61NmJk+WXcrWqetGWku2Rbr2mSZ.hchuGCwE0awtjph2w9oXGoNdkHzQIoKEcz9c+2sjq1qGoqkqBdM4ZGbI8h96JdF+aL8M1Hc3HUxycFd163uQis3eO92WiRR1GKiaC+L+nyCKEwazw5Z.TzpotJ1HnM9pIdRle1SxqkXf.aJg9nFr94hy37ickj65+3VIusbS7uub1szGy90+2.CKwxVrZGXMXn7zt72ZirerUrEvtB6FpK9dN124k.SzT3e4GfO1clm88T1cl2oSoDDYun7tistHBso+Xn8OFZ+ig1enBs+PLF7iJ6qseCXvB0tAuEXdqwKKFRlfsFaHru9+gw7t8XaYk90c65WZS4UVtr4fv+dblMSWQ9G4HdNXuVnKO1RenvgHI0nYU9OMoTobpqGv9R+e6qrPqB
-
@Chazrox On the XY Knobs? It's doing that already annoyingly
// Mouse callback for XYStickPanel. XYStickPanel.setMouseCallback(function(event) { // During dragging... if (event.drag) { // Map the new panel position back to knob values. var knobX = mapValue(this.get("x"), 0, XYPadPnl.getWidth() - this.getWidth(), -5, 5); //Left, right var knobY = mapValue(this.get("y"), 0, XYPadPnl.getHeight() - this.getHeight(), 1, -1); //Top, bottom // Update the knob values. knobs[0].setValue(knobX); knobs[1].setValue(knobY); Knob1.changed(); Knob2.changed(); }
-
@Lurch so is this latest snippet displaying your problem/ What is it failing to do?
-
@Lindon the XY knobs are declared as plugin parameters and produce automation when automation is enabled/recording in a DAW, this is great.
Using the XY panel to manipulate the knobs does not produce automation in the same scenario, despite it manipulating the knobs as seen in the snippet. -
@Lurch well the immediate idea that comes to mind is - we record the XY movements and then play those back...
-
@Lindon My thoughts exactly, I'm not sure why using the panel to move the knobs doesn't generate automation when directly manipulating the knobs does - I thought calling changed(); was functionally the same thing.
-
@Lurch gentle bump - still stuck on this one.
-
@Lurch Looking at Christoph's example you need to use a custom automation handler (I think). In your snippet it seems you're using a panel for the drag point as well as a panel for the xy pad background. In Christoph's example it's using a single panel, this is also what I show in my tutorial video on the subject.
-
@d-healey hello! Yeah I tried implementing the custom automation handler in the snippet further up this thread but I get a load of errors (also further up). Do you know why the XY knobs don’t produce automation when controlled by the panel but they do when controlled directly? Seems like that might be the simplest thing to fix and would give the automation parameters I need too.
-
@Lurch said in XY Panel controlling Knobs, Panel does not create DAW automation but Knobs do?:
but I get a load of errors
Start by making a minimal snippet. 1 panel and 1 knob.
Then try and implement Christoph's solution.
You can leave this part out if you want, it's just a check to see if you've compiled HISE with the
HISE_SEND_PANEL_CHANGED_TO_PLUGIN_PARAMETER
preprocessor definition, and this needs to go at the very top of your script, before any comments.#on #if !HISE_SEND_PANEL_CHANGED_TO_PLUGIN_PARAMETER // If this causes an error, you need to add HISE_SEND_PANEL_CHANGED_TO_PLUGIN_PARAMETER=1 // to your ExtraDefinitions of the project and rebuild the component tree (either reload the patch) // or click on the refresh icon in the interface designer) Console.assertTrue(false); #endif // FOR AUTOMATION FROM PANEL