Playback Interrupt intended or not?
-
@tod-slaughter I think it must be something in your scripting, you should be able to adjust sliders without it cutting out. What is the slider connected to?
-
@d-healey It happens whether connected to something or not
-
@tod-slaughter Can you share your script or a snippet?
-
@tod-slaughter It doesn't happen with tables
-
I did a quick 1 sampler example
Content.makeFrontInterface(600, 500);
const var Sampler1 = Synth.getSampler("Layer1");
const var Layer1 = Content.addComboBox("CmbLayer1", 42, 9);
const var samplemaps1 = ["SUS1_White", "Critters"];
Layer1.set("items", samplemaps1.join("\n"));Sampler1.loadSampleMap(Layer1.getItemText());
-
Yes David is right as soon as you bypass modulators / synths, load samplemaps, the engine will kill all voices. This is a safety measure because some operations require a suspended processing state in order to prevent multithreading issues.
Your problem sounds like a scripting bug to me - do you use a switch statement without
break
-statements or something like that? -
@Christoph-Hart @d-healey Hi guys did anyone get a chance to have a look into it?
@tod-slaughter said in Playback Interrupt intended or not?:
I did a quick 1 sampler example
Content.makeFrontInterface(600, 500);
const var Sampler1 = Synth.getSampler("Layer1");
const var Layer1 = Content.addComboBox("CmbLayer1", 42, 9);
const var samplemaps1 = ["SUS1_White", "Critters"];
Layer1.set("items", samplemaps1.join("\n"));Sampler1.loadSampleMap(Layer1.getItemText());
-
@tod-slaughter Hard to test with these kind of code snippets. It's best if you can post a complete HISE snippet so that the whole preset is already setup and can be easily tested.
-
@d-healey wouldn't you need your own sample maps?
-
@tod-slaughter Yes, but I would either way. But if you post a HISE snippet all the samplers, modules, and controls will be setup exactly as you have them.
-
HiseSnippet 1316.3oc4X0uaaaCDmxNLK1qoncnCX+y.DL1.b1xBryWcECE0wNIEAKeXDm1Nftg.FIZa1HQJPQ4Eug8Nsmfg8H02fsiTxRxoFYVYcqEa5OLDOd2we2G7tStqT3PCCERjUkyFGPQV2A2aLWMryPBiiNXWj0cwGQBUTocLo1iCHggTWjkU4mpIXUYAj440OoMwivcnYjPnmKXNzCY9LUF0ts9Vlm29DW5YL+bbuYqCbD7NBOQDfmx3Fn.hykjAziIZ1JgQVKtmKSIj8TDEMDYsPag63dCE+HOl+myBYW3Q0KZh5AJJl79BOWMh0ui5Lj441chcGhPV3tYdgxwdgGfOh4xRom4MtmYC6LIx6OrJcSvq4sDdV4f2Bwv693dNRVfJaGM19P7AbHP0m.gf7vJlWToeyB2Q.bvUq4StjtuDVjJQ8sazXU6sZzXkuY4pPXHTYOhHs6Q7C7nxl1O11jWr1.pJgV8ZGRFCaUaZIhIB7O4rHttcD9WHZKtpdsN9WjH0p1at9p1OZZgCMp1mDDp0vKq06Y8Zd9KFxTTf+ZcjLE.2vZ+.HTrZVKjppWC12OD3Hm3q8JAiWu12yqsh9HVtZ+HtihI31B9wBE8Dd8Up9yUqT8Wdic52eVaoMGovSa3yXWclr7FDqNOx+BpbUvJ8hnZ9l3YWySPbiWbDIndhYAt4C.i5L5Up5fAnUJD8mN8Zw4K8xINNjiQA+.NScR.MYcVBXyYj.hRBjPpXoDqAXUYRDuWRh3j.Lh4pyCSixHi4lqfPKTpJVHVEeThJ54wboxtvMdiRVFmQHUMXqk.c3RTDj0Kwau4ZvS+uT+6i5HF0X8SdU6WPSVC+rwI41u.qQnmcvt5CAt8jX7fCIfJULse2ZW5HnpV7UwJ3cogWpDAFuieffqcUVKNm9mqzF0W.F0X8KUfW7IFZkfWMo0HqOFmcMn5j6.5vR5oUDW4UYQiG2Zb1hiagdyBMP4NgajGQMcMPcg+jMfr7oJ1nKnvCYpw4aLTfBiMlYgwYlWNmv893tLkyvYi2Ry.u5D8+gwaRalkw60uO0QkA1Ev6+c21dJ2Nn7omMI2QIoDeFePRkICdVBmjn9Vnuevb22uqjZpJx9obr86sZGAdK4zT+0VliZGeQDepyJwJNkFPIJH3mSlkZc5oOUJhBttTu9IlTkyjvMEvQjeiS3Tvqqxaicjhvv9f4XzUX9s5FIGn8UYTNkNBt0NMsii7gHOmS8B0W4s.ROKjpizLmiHJI6p7baNkFmQLQ6OGuto5WtmQWqZ1nShEoYwEY8hKxFEWjMKtHaUbQ1t3h7vBIRZua88kp3zBzWuc8GLesqAE0k.oD43rMaP5gDSY5Bv4XMMmzXB4FMdFCVt36f4de6Wd+ue2nxyGb+KFMuxDL1ioCU6wGA0v.Jwsf1k1mD4oRolGjGI3hfgBNyY5BFPAfACnx7Pel1yNJktUeJkGz5TpGkDlqh2m05PFmRjSWGrPthlyuq3lBWeBNFt15d.1+2XHhx+ueHhax0cWbbwKa3zkp2yiy2Aa5.XqmR4cETOUDofoOlLA.FFSnGLZjCM+vB5uOHYcC8ZMf5Q4tlE+A7jrYyISVn2r4jMQNSTEXaIua9hGqxTttygY1XOXlEu7ozgv.XZHUB+uCJ8INRw4NwewnFqKYn.nja9KgpfORu1N8CD0dWenQ04NN5qAeUSDZ1RrdgkXiBKwlEVhsJrDaWXIdXgk3quAIzSErSjR3GWTDHzcu3DIq8RSjJi9SHD3Y4O
-
I don't know how to format a snippet sorry
-
@tod-slaughter HISE won't import that snippet for some reason.
To format it you just place ``` (those aren't quotes, on my keyboard they on the key to the left of the number 1) and then hit enter to go the next line, paste your snippet, then hit enter again and put another three `
-
HiseSnippet 1362.3oc4X8+aaSDE+bRcUSYEsACI9Ejrh.oLZIJoqqYSnokkz1QGqMg3tuTFnoq1WRNl8cdmO21.h+m3u.D+Is+Cf2c1wwlE0EOFLDXoF46cu26979x8dO29BtCILjKPFUNZR.AYbIS6IL43tiwTFZ+cPFenYnG0kHBvNOmbN1Ovif5LI.GFRbQFFkumhQiJKgzOu7NcvdXlCYFID5QbpC4ATepbF09s+Zpm2dXWxQT+LbuU68c3rtbOdD.pxlMPpCFOhbHVwVISjwx65RkbgsDKIgHik5vcmXOleFKl+GQCom.fDVzDYCJJl7dbOWEhUTQcGS8b6O03CQHCy9ybEkicEW07.pKMk9LWxk0aXMShr9CiRWD7Z95gWi4AOiLvaoX3cESaGAMPNaGE1dOy8YRhXH1IeXJlWToe0vrKG3fIq6ieNYOArHUhZa2nwFV2nQiq8kqsJDFBkVmhEV15ntno0sszIG0GQjIzpU8A3IvVUyKQLQf+omE10sK2+DdG940p10+jDo1vZqM2v5V4ENTqZebPnRCOsp8Csa9rGOlJI.+U6JnR.tgU+dPnX0TOjHqUE12OD3Hi30+ANkUq52wpdM0Qr1pCiXNRJmYwYGxkjdrZWa0eZ0Jq9yuxNCGNusTlif6oL74rqJSVbAhUiE4eBQrAXkdQDEeS8r083X23EGfCpkXVfadevnNhbtrFX.JkBQ+7oWKuXoWNwwgLLxY6ynxdAjj0W78CTRfDREKkXM.qRch3kSRDmFfQTWUdXZTFoM2r0HPopXoXU7AIpvVWpoObiWqj0LmQHUMlFq.JwEKwHimZt8V0GL5E2ac1wdG2h5cr2Y89Vui2a8mz69mzxF94L3ua9Uq25aF8hVcAVmz6rFzNquyi6c+V1mbS1oYV2sd85m1C9Y350QnGt+NpCAt8jX7fCIfHjTke2XGxoPUs3qhUL2gD9bIOP6c7C3LkqxX4Ez+btxn9bvnlndoB7hOVSqD7pNsFY7QlytFr5z6.pvR5oUDW44yhF2t8jYKNrM5UKz.k63tQdXY9ZfpB+Ia.Y44J1nJnvBoxIYC5EnvXiEtt8hB2qX1mJcFOe7VZN3Ukn+2LdSZyrl4tCGRbjy.6Rl68j2zdJuYP4SNZZtiTPv9T1njJSZ7rhYRh5ag99AKbe+9BhtpH8Gyv1u0tSD3sD4o9Ks0G0c84QrbmUhULfDPvRH3mQlUZOXv8D7nf+rTu7N5TkiDvMEvQjcidLB30kYswtBdX3Pvbz5JL6V8iDiT9pYTFPNEt0lm1gQ9PjmwHdgpq7F.oGFRTQZpyAXofddVt0mRiiv5n8mYt4V0y+Ls5E7bq3pYwhzr3hrYwE45EWjsJtH2n3hrcwEoUgDIs2s59xkxTq9UZXuxh0vFTUeLjTjgyNzQoGSLk7kfyvZZVo1HxLb7qYJ3keGLE7a+h8+06MUdwf6qYP8JSwnMUE11kcJTQCnD2PZGxPbjmLkZVPd.mwCFyYTm7kOfxAiFQDYg9bsm6JkpF+oTtZ6ADOBNLS8uOs8CnLBVjupXgbEMWbWwEEt9XyX3Zo5HX8eiQJJ++9QJtHW26aFWHyBNcg7e4w4KYp6GXolY4cETGvijvrHSmGvDFZvFFTxgjczA0WKjrtgZsBP1DlqdwuCOIa1b5bFpMaNcSjyTUA1Vx65u+wnLgo5hnmT1ClfwKaJcHLNlBRkL+mAk9XGA+YNwe+nBqqno.njo+GDUw7.0ZqzOWT4c8gFUOywQcM3KZhPyWhMKrDWuvRrUgk3FEVhsKrDsJrD27BjPMUvcijb+3hh.g96FmHYraZhTYzePh3ilH
-
@tod-slaughter This is your on control callback
function onControl(number, value) { Sampler1.loadSampleMap(Layer1.getItemText()); }
So whenever you interact with any UI control it's going to trigger this.
-
That's because there will be 30 items per drop down. Without that line it won't load the next map
-
@tod-slaughter You need to make a separate callback function for your dropdown menu and use the
.setControlCallback()
command to assign the function to your menu. I very rarely use the generic onControl callback now and nearly always use separate callback functions, for most things it makes it more manageable and it allows you to use the same callback function for multiple controls.If you really want to use the generic callback function then you need to make sure that call only fires when your dropdown menu triggers the callback. Use an if statement to check if
number == Layer1
if it does then switch sample maps, if it doesn't then another control triggered the callback. -
Hi David can you show me how? I cobbled that script from various forum posts.
-
@tod-slaughter Try this
HiseSnippet 1396.3oc4X0uaaTDDeO6bQwlZDEJRvefzIKPxgDrrSSiaEppt1IojRSrwW5GgBpZ8cqsW5c6dcu0IwT02IdD3QpuAvr2W9tVqTekBEAmTrtc9Z+syL6Lyk9BtEw2mKPZkNdlGAocIcyYL4jtSvTF5fcQZehtuC0lH7vVOkbN10ygf5LyC66SrQZZEuiRPsRqfBdd4s5fcvLKxbRHzC3TKx8ntT4bp8a+8TGm8w1jiotojd61GXwYc4N7o.nJp2.o1X7XxQXkXEzQZqtmMUxElRrj3izVoC2dl4D9YrP4e.0mND.IrnIxDLTH484N1JDqnh5Ng5X2O9v6iPZ58m6JJF5Jth9gTaZB84tjOJfgwbMR6OzJbQvq4aFdMVD7zRAuUBg2k0MsDTO4bNJr8A5GvjDwHrU1vTnrnBedA8tbPBlrtK9oj8EvhDMpsSiFaZbsFMV+aqTFBC9RiSwBCyfntnowMMBRNpOlHinUq58vy.VUypQHQP938Baa2k6Nj2gedspccGFo0lFau0lF2Hqx9Al1E64qrviqZdeylO4gSnRBHe0tBpDfqe0eFTJzL08IxZUA9t9fDoTu9uvorZU+IV00WOizJXI3NcwNNCgzqZgb51QIUkxTlCkQLFMkYIoblQL2ZVgpsI.Smoj0qT94UJa.OwNn5Nbrc3hCwdQVU4sN.v1wjyk0.bT9EUJmXZN6HtjziUa8xOuboxu303LZzhXEgeU.XAbU2nDWfZ0XScGRDwGiH4fDqrYtqtbYtVgg3TBxYGvnxddjn0W7UOTTNBjkWHBffnxfb7OJJGON2AQsUo3IIPnfSP5xOnDSrRnI93HSXFTEqODsCLRE84DdMyXz1FKwHsGquy10GL9Y2YC1INmzh5bhyY89QmS1eiG06tCaYB+bF720+tMZ8CieVqtfny5cVCZmM18g8taKygWmcZp0cqWu9o8feFsQcD59GrqZSfKmQN.vo3QDRpx2qsK4TnnY3M8R56R7epj6E3gb83Lk6Ra0kzGcNTcS6qgi0L0KkfWbwAzJ.uFbqAo8o5yukUN9JlJzjra4wcd9bW4MaOa9hiZid85XP0Tt8TGrLaIVUekHFPxalZYp5ULepbV5.eNp61XoaKrrv8x58oRqIKFuEV.dUI6+Mi2ntXUz2azHhkbNXWQe+G811x5sCJewww4NRAA6RYiipXFfm0ziRTeGLVg2ROVQeAInZM8WSI1u2tyTvaIxR82ZGrU21kOkkYuhNECHdDrDB9ozYs1CFbGAep2qp0KuUPpxwB3lB3HRynGi.dcY5yXWA22eDbbBrkeZV8mJFq7UyoLfbJbqMKsil5BQdFi33qtxqAjtuOQEooVGhkB54okNXWZbLNHZ+U5asc8rOwUufmaDVMKTkl4WksxuJWM+prc9U4Z4WkcxuJsxkJIyTntunlA9UZUu1x0pFLPeLjJjRxNzwIFOjR1BuoDMIWL.5ol39MLZ8puGFs9ceI9+5cjJtbv8ML8eoXLZRUgs8XmB0w.Jgsg1kLBO0QlPMMHOjy3dS3LpU1hFPQfwiIhzPegmmaKkp18ITtR6ADGB1OUUuur88fImwhr0Bykqn4x6Jtnv0moGBWCUe.i+aLHQw+2OHwE459P8vBYFvtKj+KONeI8ft.FpIUdeA0A7oRXBj3o.zgQELgwirHoGXP8MBQqanVq.jIgYGr3OfmHlMimtPwrYLSjUrofyVz6Ae0iVQBS0EIX9XGXtEmzoz9vPXJHAc59GAktXKA+IQecuBqqEPAPIK3+5TI8CUqMR9PQk20EZT8DKK00fuoIBsXM1J2Zb0bqw14ViqkaM1I2ZzJ2Zb8KPC0TA2dpj6FVTDHzeuvDIs8RRjJh9SA0YfMB
-
I owe you a few pints of ale for this. Many, many thanks