How to add/show/connect the interface of Sampler's Script Processor to the Main interface?



  • Hi,

    I have a simple question: I have multiple working interfaces with buttons that is in multiple Script processors of samplers.

    What is the quickest and easiest to add, show or connect those interfaces directly to the Main Interface?

    For example, is there a way to show this interface inside the Main Interface with a Panel?

    Thanks again for the help, really appreciated.



  • @Alex-Paradis you'll need to add new controls on main interface then connect them to your different script interface controls…
    I don't remember if we can do it directly from the property editor though, or if you need to script it. The macro can also be used
    If you haven't find I'll be in front of my computer in 2h…



  • @Alex-Paradis

    Ok so I'll use the hard-coded arpeggiator as an example, which we have named "Arpeggiator1":

    // we declare a variable so we can talk to the arpeggiator 1
    const var Arpeggiator1 = Synth.getMidiProcessor("Arpeggiator1");
    
    // we create a dial on the interface to change the number of steps in the arp...
    // we've called this dial "ArpSteps"
    
    
    // now we need a call back to make something happen (Connect them in your post..
    
    inline function onArpStepsControl(component, value)
    {
    	//set the number of steps..
    
    	Arpeggiator1.setAttribute(Arpeggiator1.NumStepSlider,value);
    };
    
    Content.getComponent("ArpSteps").setControlCallback(onArpStepsControl);
    


  • @Alex-Paradis here you are:

    HiseSnippet 1535.3oc4X80aSbDDeO6bg3CLpP4g9RkNgppRjnFaH.UhGxE6jfrf.VwAT+mDZycqsWk618zc6EhAgDOzOOU8aP4CQ+BvS8U9FzN6d24aOGSvXATJ0Ocyr6r6uclcl425dQbWRbLOBYTa+wgDjw4L6OlIF0YDlxPc2BYbdycwwBRjcpp1iCwwwDOjgQ06HUXTaIj52q2nM1GybIEpPnGwotj6QCnhBs8btK02eGrGYeZf1rW2oqKm0g6yS.7T0rIJD6dHdH49X4zpXhLVdaOpfG0WfEjXjwRs4di6Oh+DV57eDMldfOQJzB0GVnT06v88jHV9MpyHpuWu7ycLBYX1qvKTM0KbIycodzI5K7FegZ.6BKz8GFUNM30ZAgmgF7VJEdWvruaDMTTLhDam0rKCBTCvPHPGVoyEY7RyNbXBLQi.7gjch.gIFr5Ma17J12nYy0t8fDlqfxY1b184BxCXqtl0yrpY8bK6oGZvfYNlbah399jnYNrLpGcZFtJKI3.RzUrOB6mPlLQ33W1+d14y+5ldp0lHm0kQEOHjjIWDAjikdpyGsIZxgUWUwYTWq5nMioUn5jAXTVTAB0UxlNLUgJPe9r.ceepGIBQALZYF.WFuKie.R4dxxebd0S+yMPuI6amHDblx9ZJ6aKXkLWk+hdX2svBr7NWFl.bFRhDTo21XKxQPxb5MvZlaQhOTvCgspCOHjyjm.iUlGXe7j87E+ny3IBN+rySndhQPBowwf7HBc3HgTpAHEl6w5BK1Wls9E4gsfZEQPYB35rbBmwTtSsj91IXa44vkT.MzOoAsWPcd21+ZloKeYDXkhf5YVeO7ADeE.VwT8cK88us19iZV3ZpYn6Z9EXvfDeA0mxfk1nBAxPvpj.3N.4XXR2Vl1yHtBhmsfaKFQriSQOMO629HJVMPXZ7drMQkngF.WC5SeZohznSVOBpJx8R7whxkJk8GxF.xuKUSRV3gESEi0u+8NT+r4Lqe1ZVoWyIbufYOpvczrwakYfWY95GX7l0Mpt41CF.AvBvtj4N+vh15YwfxWmBkKZ1WDQvAT1v93fPn7mBOVlYRsdePPHbtIHzKh3ywdkuh9Rm1If+Jpr1e2QsUaFvSXk1qLjuGIjfEP3WylUb1au6DwSBm1pWug5xx9Q.AEvUnOvCXDvuKzOich3wwCfiiZsh0GpWRzPoupPydjiHQwk0c+j.H1CIw9wxjdnB.5gwDYrl5tKVDQOVe1pco49oUA.VSJ4VSIesoju9TxqOk7MlR9lSIeqB4TG5t3P4MCIqsoZael4qsMr.8vvQValsoCmr3oZJWhQapS74JbowQbFLrV9yDBfypszLHBV4uLLqaQYxVF5ruTsLyof4l21JmEVcqmU2p1Uu5ldd1igDPa2jXAOv1mOj5ZOhDQZznQcqme65V0sxIZNjHlz+a0Kq1fKuViXoV01zA66e.jCsZ4ceM0hLKLl0V8CIJy1h2DNKi.IR+uCgYq2WDl+jjjbIFc47uNII24ficN8wSRvdgXHWQiC3RyAlKplGFqyB7aczYSdt2J7KVG6CbJwbIVLVF1WVMQT.0yymziC7aj7dJbV+A7v+v71nO6R+1cd0S+0MBz6oCrOwGq6digVux1QPc+AT+fXn4TX2.3Q7RtCPSKaOx.LPX0NFZbhfz6CId6yUy+iGwxpyG6n2Rs3Z4XrOU1SZa1Q.YDPiDiWDh9pyYt1xUh2ky3gi3Lpa4V+f2Z3PRjN1m4AZSg.pFUn4RN6Q7I3Xsa5eiy8fZm3nxLZdm7EsleewoEu9JyT3ZKS7s+73AAU+e+CBNMW24ydNfMr6QhOwiymyTQf0V9di+sf5d7DA7Nhbt7l.g+9.6EWhNs+Jx1foxMkxR.0mv7TB+M7KavV4uQPNXq7AQt4KEb1x9V0KynJgI4HqdmqO75C+RcJJpm+QAkAX2H9icS6QKw5JJM.JYp+E3Zl6Jksmzb1zrYilxVXzG65JSD9tVHzrs4ZKfMWeArY8Evlar.1byEvlas.178mpMx2CsYBPxNsHInn21oWrL1dxEqpn+AfaTRxK
    


  • @Lindon

    I saw the hard-coded arpeggiator but I am using a Script Processor inside of a sampler. There is dynamically created buttons that are created in the script that has to be connected to the Main Interface, but the big problem is that it is not an attribute but rather a button.



  • @ustk

    I saw your snippet, but my setup is created dynamically. I think I will try to set the Attribute to each button dynamically.

    I'll get back about it.



  • @Alex-Paradis You can do it this way, BUT!
    I don't know why, after init the knobs are not linked so you need to press compile...

    HiseSnippet 1763.3oc6Y8taSbDDeO6b.wfiJTTU+RkNE0O3HAQmCIgVhPXxeUJjDq3PoUUpnM2s1dUta2q6sNDWTj5iPk5KReCJOB8Qg2f1Y2ymu8bNBlzDZgh+.J6ryb6uY14e6PSA2iDGyEHqI2qeDAYcM6V8YxtqzESYnMWEYMk8V3XIQ3jPZ49Q33XhOxxp7FJBVSNAR+6UOXYb.l4QxHgPeKm5QdLMjJyn1rwinAAqi8I6QCM3d9Fa5wYqvC38.7T11EEg8N.2grMVwVIaj0kVymJ4hVRrjDirlXYte+Vc4Omkv+2Rio6GPTKpiZAenDxqyC7UHVQEsRWZfeyT8NFAezlYVgxIVgaZuE0mNjdl03Sza3jIgo8vpzoAu5lvyc7gmkA7lHAdW2tkmfFIy1QgsqZuICtnZigq.SXkvKpz8JYuBG3fImMDe.YcArXnD0Vz08VNK35NyRUqTsBbQDKcNDKbBAU+QL99N22IUZruuhRsoS2a5a4TWId8TwS4LlnvXDQHojX3.C+lV6rsobUq7BG3W0Jp+cZIncSeOmoSPbq.pOQn3QuI0WskonZxGATq6N2rtoD5qI70YDdN0W1UQbN2LhcIzNck.04WLiXTp8bS+LXjcYWe3gFgEfOIX5RXTAnrMCoLf3sqafIH.JpE8m0JW8YcyXEqgOvY0JGOyRs6w7jTNygy1lKI6vpMSkWTYxJGWwYzsZ2tv8TFdAOHfHJbaU.m3zDrFqW39Dwsfq9fdjgLBdd4csse8t1lQddI9AFLxYaxnxchHrWmCOZfyix0e.p.VkZG+orMcMPTv+thcpKARi4r7IWoA5IatJVhS+RvGMyaDnsJ4PH6TRH0j1qRhOPxifDMqvCi3LEDrpjbtUGbtOFuOIPerWwV+20QGkcfK2ne1B2FZ+tgD90nFI9bYr7zFg8Bjz.JCNBqRDvBi0FQPcIGALtjJfkQ7jDeGI2Q1k3Dm3SRSiacNjh0aDknY8cH5KJTaPgUtbl4WQFZ1UGGKZlx8Keugx03GZj5QCtB1fGMJzrTPsWBN1FKGwTf9wSXJ1ngQrGx5SsOQrGxHlCYcYacLGTL4DIGgTzb+dAXY971phUC1.73ykfTkDjESk8MKlcgjLebg60saRkdcKFukJ.ufK9EMdGTZrp8ZsaCtjYfcB60+tK95flP4KRfxMraIEDL350oENLBR5owSE6AqpedzsRzX2sRSAIfi8yGz8xFK2CrWh7T+8F5i5gg7drbm0.juKIhfkv0etzY6t6FBdunQk5UOP6rrm.5VBLElarCi.1cooNthfGG2FTG82J1bql8DcT1pLJ6RNjHhySa6dgvcOjVJPUGvxBH8jXh5tl5sEVJnGYxs9Tb2KIuFzBmdc8QVO2HquyHqmej0KLx5EGY8cyVmXP2BGo7LTsPNRgrKOdExfOPSLnxFbtLsyvOdBESG3glYMTL5Q88tFPe2khs73A22POxSlhwVT0syZrCgvRfhBi2.px2FCEcSolOEwVbFOpKmQ8xGD.N0c5PDlXuPE5gRIDClQ4lM1kDPvwFQweYiGCk6wh7w1uU1h5ius3ztu9b6D35nxq47gQowx+uuz3oY5lZPgQG3zEx+ieOeMacpbGUk2+sf5t7dRnhZZUManzWKnbuGwr.XIUQ0j0tp0J.0hv70K9K32fMqmVsTsY8zMQdoeJP2F7252rXUlvTkNzc7E.0gCLcoiglJTPBpnYZPmJwfdUH2GT4WMHGss7yzqcdJ9PhyFDFQnL0mV2Q+44e2Q63IgiGZRgEGwiy8gaQBo6AOKI1rYGnmh0EjeZWULdt9W3XQga8pGrNnjEJSKrrmPmrXzdm.qd4w1yo3YJUXR3ItnJoetVWn34HUziuJZdR+VI6rwDobvT9WYtWN22Q6ANaGhTiF8pZSWjq3ziN0I8q6JZjSCF0Rx7lFuoMYLclWL9CZJ+LczioY9ExOkI2wX.OmbVPly7ww4XkJnF.V0JTlZR.lCkQigzIy3k918zgyTsBnNSdRCuxN.k1Ez86II0VHkc3bNdoLik5VI8KlZilQI5fyaEbPv9P6A0xCiDK96OCppx40fpR0zTJtngJnIoL8xjpVcJfsLR+imCV5DQNmFBlkwnht1a7Pydxmy9Mx06UrruxZeIMinPpue.oIGJeq5bKK28e71MOIixesoAgwfydzlg3N5gB.UNb7SZy2IFdQLBBqNf3uG+DkK+f64Ly8wmy7wmy7d+yYdWz186hyHD6I3OyKI2sxW9JZJfdyz+OZNo8Vp0NCSZaa6pS84Selmmxbeav9TrLycFj4NmAYl+LHyBmAYV7LHycOCx7UmpLpFweXOIOLITDHzbsjWiYs1vWiUF82nEr8LN
    


  • But if the script interface is manually created, the dynamic widget of the main interface works:

    HiseSnippet 1716.3oc6YrsbSaDUxNBHFblBkoSeoyrSl9fCCDjCIgVxvfI2XRgj3INE5aLajVauSj1Uc0pPbYx+P+.5GQ+CJeB8Sg+f1ytxxZkiw3llPKz5GXx4l1y4rma6glBtGINlKrrmd+dQDK6q4zpGS1cstXJyZq0srmwYabrjHPonVsWDNNl3aYaW9IJD1SOkk92aezp3.Lyijixx54bpG4YzPpLGayFOkFDrI1mrOMzf6EarkGmsFOfm.5SYGWqHr2g3NjcvJ1J4XYeoM7oRtnkDKIwV1SsJ2uWqt7WwR4+4zX5AADEPcqVvGJE8l7.ekFqvZsVWZfeyL6N1B9nMy8BkS8B2zYapOc.9buwmoIfxkvzeXWZbpWcS0ycxUOaC0apT065Ns7DzHYNEktcUmsXvEUaLbEXpVo7ZU5AkbViCbvjyGhOjro..FHQskccuMZIW24VoZkpUfKhXI5Hr.EBl9SY7CPODkIM12Wgo1rYzl81n5JwqmIdFmwDkNFQDRJIFNvvuq0t6XJW0JuFA+pVQ8uyJAqa1GflMUiaEP8IBEOZhTeEISQ0nOFvV2cg4cyPzSi3ayQ7JpurqB4Bt4H6Rnc5JArKtbNxnL+4V94pQ9kc8AGZDV.wjfqKkQkBkSLjx.j2otgNAIPQsn+j13pOuaNqXs5CbVsxIysR6DlmjxYHNaGtjrKq1bUdckoqbREzvjZ2djzTNdAOHfHFIYUBmXbBVikDd.Qba3pOHgLfQHxqXnsy6Nz1LyyKMNvfQNaKFUtaDg8tB3s5G7.+02u05XIVkCzGWdvDfacxQPwkzLhocVmDenjGo4MLhyTeA6JRM0p8yWdF9.RfEExJthi9uqacbd8mUazKGvsgNrY.heNpQZHSNKunQXRfjFPYvQXWh.NHr1GXWVRNFXbEU9Fi3II9HIGI6RPwogTzrzNzQTrlPTpk0CQz9Yq1fAqhXLKOZc5JAP8HteR.VVrHkpxbeBv0agpApLdVLU1yrx8ERkqIUcutSSpzq6n02RiPeg.hKZ8seefpNaztMbAlqrS4r4ObwWz2TU9pTU4FNsjBBFJtzoENLBxv05SEm9P0OOZMGMwslaJHAbrewPz2zX0DveIJh8WanOpGGxSXENq9Z9djHBVBW+FxbkF6s2SD7jngk5sORGrru.FM.bElD1kQ.+tzzFWSviiaCli9aEaRpYhnixWkiYOxQDQbQb6jDB28PRbfpnmsspnTLQcWS81FKEziM4VeJt6mVE.lWQCWeH3EFB9dCAu3PvKMD7xCAe+b3TG513HUjgZdogpZe4IqpM7AZhAS1fyUocF7wSwXF.OvMqUEiAx9naZqObkXKOYp66YfvoyzwVT0syFrifzR.iRGuAzSrMFZQkgsXIhs4LdTWNi5ULI.Bp6zgHL08QZPOVJgbvbL2rwdj.BN1HK9qa7Ln4HVTL29ujun9j6KF280W5jptHUcMzmFsFK+e9Viiy0MS+FiH3zEx+keOeMGcobjpy6+Tp5d7DIzQMqqlCz5qEzt2iX1.rjpoZJrqBVoPsHLeMve.+5SrdV2REw5YDs7x9Tfs0+u0S3aWlvTsNzS7E.8gCLCoiggJTpDzQyzgNSpC8pPsOnyuZqEZe4WngQu.eDA8DBiHTt5wMczue9OcztdR33ggTXwQ73Be3VjP59vyShMG1AloXSA4G2SkiWX9ENVLRRu8QaBF4HkoEVlHzEKFd1IvqWdhibF8BTFYQ3otnZoet1WXzKM4ycN0q7G4xS9kRN46DQEfohuxCuPODoi.muCQp0FMTsYGUn3rCuhE85CL1uh5aj8F1ZYKWHcCK58qb2a8d2vhwFId8jubkh6wPuZhEWp3lUbmfkZb58eXtmCD5DkQfP25tJ2.kod.s4pHzZQ19H7xbDYqjnZEvfl9z2.JOAziWPOHQRpsTF6vIcxJ4tqQ4ZmSIZ+yaMbPvAvbB0JpFo2Xe7rdlJmWqmIyRyv3ZMv.MQkaWlX0lyHXKG0319S5Re.1AVSWiyLNlwt583bYG80jk1eXVQ8u+tit168Pye6G5fFEFBKV1S4sujlQqPpue.oIG5iqFgKuH9ukkBAMHcfTHfSCx0dCj1X.1vnOXaZPXLDrGsUHtid6.PKDje579nX3owVPZ0gD+84mpu4mbuqYg++cM++6Z9n+cMeHl+9CwYDh8D7W5kV6VEKeEMFvtY5+e7l1YaELZPQaGGWcoOe5K87Tt66.9mQKyBmAYt2YPlEOCxrzYPlkOCxb+yfLeyXkQMQ9iSj7vzTQ.QyMReVl8FCdVVYq+DfEH..K
    


  • And vice versa it doesn't work at all... (manual main interface + dynamic script interface)



  • @ustk

    So I've tested your HISE Snippet.
    I tried on my own and with manuals buttons it works pretty good, but I've got to have dynamic panels in order to have more value attributed to it than a simple buttons.

    Even by linking two panels looks like it doesn't receive any callbacks.

    I'll stick to use Global variables for now, but I'll have to check this out later.

    Thanks again.



  • There is dynamically created buttons

    Explain



  • @d-healey

    Sorry for the delay.

    I've changed a bit of the code yesterday to fit more what I was trying to do.

    What I was saying with "dynamically created buttons" was I created the buttons through the onInit Script of the Midi Processor's Sampler, through a for loop.

    But I've changed the code to use Global variables for now, it makes more sens since more samplers are gonna have to be interconnected and I needed arrays to save some information through the app.

    Working now! Thanks for the help guys.


Log in to reply
 

8
Online

502
Users

1.8k
Topics

13.6k
Posts