Complete crash of Hise with this script



  • Sorry David - too high - I am not yet ready to understand your short precise instruction
    Do you have an example - or can you please comment it in my snippet so I can see where it says what you are talking about?
    I would be very grateful.



  • @MikeB When you select item number 1 in the combo box the value in the callback will be 1 but the first element of the array has an index of 0. That means when you select the last item in the combo box the value will be higher than the last index of the array and you'll get an error or a crash. So everywhere you are using a combo box value to access an array element you need to use value-1.

    With regards to the other stuff I said you can see in all of my videos I never use things like

    Content.getComponent() inside a control callback, I always declare these references as consts in on init, like:

    const knbKit1 = Content.getComponent("knbKit1);And then whenever I want to access it I use knbKit1`. There's more of this kind of thing in the coding standards guide - https://github.com/christophhart/hise_documentation/blob/master/scripting/scripting-in-hise/hise-script-coding-standards.md



  • @d-healey said in Complete crash of Hise with this script:

    @MikeB When you select item number 1 in the combo box the value in the callback will be 1 but the first element of the array has an index of 0. That means when you select the last item in the combo box the value will be higher than the last index of the array and you'll get an error or a crash. So everywhere you are using a combo box value to access an array element you need to use value-1.

    I did that in the first try - but 1 minus 1 = 0 and Kit 0 does not exist.
    How do I get a combobox with value 1 to x together with an array [value 0 to x]?
    I have seen this in a video of yours - but in which one?
    By the way, this is often the problem - that with the number of your videos
    you don't know where this or that was shown.

    With regards to the other stuff I said you can see in all of my videos I never use things like

    Content.getComponent() inside a control callback, I always declare these references as consts in on init, like:

    const knbKit1 = Content.getComponent("knbKit1);And then whenever I want to access it I use knbKit1`. There's more of this kind of thing in the coding standards guide - https://github.com/christophhart/hise_documentation/blob/master/scripting/scripting-in-hise/hise-script-coding-standards.md

    The other I have as well as understood - I think - for now 🙂



  • @MikeB said in Complete crash of Hise with this script:

    I did that in the first try - but 1 minus 1 = 0 and Kit 0 does not exist.

    inst[0] does exist. As I said you need to use value-1 when you want to use that value to access array elements. You don't need to do it everywhere.

    By the way, this is often the problem - that with the number of your videos

    If you have a solution please let me know 🙂



  • @MikeB said in Complete crash of Hise with this script:

    inst[value]

    First stupid error found "inst[value]"
    Is of course "doppelt gemoppelt" as we say in Germany
    Means "inst" is already a value - so here a value of a value - stupid 🙂

    to the second part: Content.getComponent()
    Here I have the problem that I have the knobs 1 -12 and I read the number 1-12 from a key (as learned from you) But because there is no knbKit1 and that creates an error

    knbSampleSelector1_Kit+i.showControl(i == value);

    Interface:! KitSelector.js (25): Unknown function 'showControl' {SW50ZXJmYWNlfEtpdFNlbGVjdG9yLmpzfDE0NTZ8MjV8NDU=}



  • Now I have to stop for today
    it is completely the worm in it
    I can't get any further



  • @MikeB said in Complete crash of Hise with this script:

    knbSampleSelector1_Kit+i.showControl(i == value);

    You need to store all of your knbSampleSelector knobs in an array (you can do this using a loop or use the built in or use the right click method in the widget list to grab a component reference). You'll see me do this in lots of videos.

    Then you're code would look something like this:
    knbSampleSelector[i].showControl(i == value);



  • Maybe someone can help me here
    David has tried - but unfortunately I can't follow his explanations yet.
    And the more he writes the more confusing it gets for me - sorry David

    I want the ComboBox to select a kit 1-12 - (this works so far).
    each kit has a knob that selects the corresponding samples (sample 1-10)
    The selected sample from the selected kit is loaded into the AudioLoopPlayer.
    Actually quite simple if you know it 🙂

    I am a visual person - I need to see this to understand it.

    HiseSnippet 2225.3oc6Z0sTajbEdFfw1nX4hcWmpxlpRUSQRkBJL5OPfb4305ODnEDRlAgw6VaQMZTKo1LS2CyzRfvkqZeAx6PdDxiPdBRk6xsatKW52fjt6YFod.YhVggJqM5hFN8OmyWeNm9zcOmtlC1.35hcjjmc+91.I4Gpn0GQ5TniNDIUtnj7eTYiMqppoaYaBT0.l.CB1QMYJ0sgDW0k01EZaCHR46aq65BZJIKO8lrwJO6LR7eu+E40M0QFfgUIIc.FZ.1AZAICqsV1sgllkzaB1GZIz6UyV1.iJfMwco3bZkDR15FGq2FrqNqaSoHIeuMZBovRinS.tRxyjG2ruVG7oHu9e.zE1vDvHRJoQYjW0kvlMYHlUqTgNPyl0BzGtRRxJ0Fpcl1S67XkJvlvA0OTKMGuA0giPTeHO0UAujhvKw3CuoDf28CLdb3Yp2G3vg0iTpTtXYUuZRFBTE553.PDMvIcAgLNu+E9MsuCUMKV+NXr8FHcJTaJZKYbuAsqZ1.wFd+KjmN77d5O77Vzrb44pDaZUBZBXya4.BZuYyQp8unNQWR9uqjLchXn8Wa6LEJUK19kxEaKxKe8V4crh0KUl50qWHecz1odCDFqvJ63b19uZubGCHFYx4zX6ChYelS5TE17T3IqV9MUVKeisNY0zNzxyRl60sqV8z9UN+vREMscprd6S5ZefYriKsa8LIRj3MtmV3.qxXcml5vWQd5gosdIbKT9c2qpQrkd0oc1BUMVdTs11adRtduFs4gq09fzEz91x8d8Jl6bP6xoiknWsTag5AMO4v5s1sfDaJ54g+cJwO.a10B3FuRWW3wkzYqA6GutKvwMtEqpV9UoUs9tE0hyr5wK5z0xksXVMchDwyaB.1myV0dzJMNJYxLwrfLGA1ZMMXajNoqCUVJ610JuNUoOz.mcWrEj1NOJgekyksH.MppY9HT6sCQzCwywIjugjf26LddueghlgCzlLrEl48WoTFQ.NzIHHj+qWekl5OeekBXZOPjXV5GCJ4PIFLhEnFmmvl9K9rnQhFIdb0cv5MUy0sID2h4OoBQDrpMFapt7M5unQ1.0Fh.wLo.fKet+LEo3ZTou.Cfwiu7szOekAMrpKQsG0bSqiCJlkxOZwMfPGHO0KJL0mqx22IVa.gu7mSsv779ox5XPPr4CLk2x5pbNN5882Gj41nNzHtLORsyGesDj8OOW86m2kK1DIicpdu4eR.YpvjqDlb0vjoCStVXx08HUCnybA5mFlNYBN8Obq6zxjWvgPVt.1pANO9rfSibi5wREPffYdqAwbX9qXKaLhRrv7hch6nBQlzE8ps5hLHPLREiD6BiINzE+FAb3ITQY1ErXzHuUk9KZDVYK54sV.RkYxmoBU+SzYK8uKszhpu0qc1uQCmiQM7bXGHwinhe9kfKFyktMbf3o7949B9YCY4f0ibGcO9LHz7nWYFyEPXqHVX92Vaupe6FE1+nRU2o3F68tiYhkKhklONE.Ts52yI+AQQRAjK1DDy1Axf+Oel7NeF4QEOdXF5OE85v6hFYbrgrojudpftoI6bNKLRi3sR.buk.QiH3OsKl.phVXwHuMxrQdWD0K1TqVirMeTaBbFYyrSE3bUCbATWqF.m.G1fNR2LO7Y9TFuy7Y3YJD5HFUFAIUsAnOzIfk7sezyDF0GUztR3mkXN+yRDDhPhcVmGoHZ2j3HW7bNRWjKOxmKZlPZ7cNO9ZkQunJL69oye7WesXWpKhtGbsX2JWZxJccX2pgX2eYy+UjqE5ReQzQOd30fcqcQ1cuqE5V+iqtKyEY2bWKz8zIyQ429gbiSDheYi7O+pqG+RNYZuOH+RMB9UuL+BfzaE3GQfFkvF3Pfr.PxEA8fF.uqXLqRQf6wDrMMN0fP9RxOX7CZb1.I+i8y1eHQ8rV5z1TjeHkBR.VTQWgMT0jQXko3kqvKWkWllWtFubcdYFd4S4kIS38GuQmLUDoSgMIcFHv+V6rc.v1cDtm02vrTClS2yaNEM3RU5HfIeB8qUrMQgUsthyqDmKLu9q8x5KWEYYYIo.YpHe.sU4GJHvnSPLyyDsiCkpzeHqU3OgDW4NrU5lOZDpTbEqLrBJK9RJnxYcMzMAdWedX0+6WXqy9dGBykQqibI.aM34gBT0KX+L4oE09ObBh3+Kekgz0xcXkOccGhNAawdmxP3.B2oLDNdycJCgCm8KKkgvD+ie.zL24YHdv3OCUFWww5+LbcxUboj6zFhWo5SVsw8CeIncza3eInGnv++P2mKmv8dx9xrDvYTN76T32FrA9LUWNDT42Ga4joTW9ajFb2nGF5tQY8tk6XCCQKvOVV.F054CiTJaivM7jqON7SIOspDpsbvVpdYgP8XpIk1sgXqbHrYv46kR91bJUvM6ZxRmmXVsYox2uAHFEJAbrjrgbgj9gR46MQptGW39EJ0fDiNiFuSMB7xxh9MLd8e3.QU1nUKpUaHXmQozg27uR.Qn7UAPYPx27ek.OV4xeL+q3Ac7OF2Gzg8X+fNz5iLnlsPqi41R9aP.hZe4rIeomgvdXLg8EuEePI9wNX4ilx9P8FzC33FlCCy39uWYD4dHUbwDsIwCMpHyFn+m94mdljj4v7e60lYPtu8Hu3ahXlw66i++3sfLy+W+TUt8B2L83A2QnAkqcomB0bJZPl8dCTOfIcwBGieoRQPK8tljfZCuRoBFgs6fQPivNazcIa2F3Hh8QNgxQHgdzMON6dzn85t.wcX2Ah.5NWb8xOCcQxwWWbU1qeihGbUYKuU+zXaho+7bah8vcIzvrUzoNpm48JfznQmM.TjfP.SVl7jmhcpFO5DAwyz.nlbh+C8meiI4esX+FSFz3shLrzMbvGY3kfAlu7C30Pm2Hdf8YUpvnUGjVBEkDwRPik2DdjgAScubRIoQOlTSvXVYBFypSvXROAiYsIXLqOAiIyUNF1lQ45RvVdKEoUTaCu2ym7fM4oW+8+tXSd6C
    


  • @MikeB said in Complete crash of Hise with this script:

    HiseSnippet 2225.3oc6Z0sTajbEdFfw1nX4hcWmpxlpRUSQRkBJL5OPfb4305ODnEDRlAgw6VaQMZTKo1LS2CyzRfvkqZeAx6PdDxiPdBRk6xsatKW52fjt6YFod.YhVggJqM5hFN8OmyWeNm9zcOmtlC1.35hcjjmc+91.I4Gpn0GQ5TniNDIUtnj7eTYiMqppoaYaBT0.l.CB1QMYJ0sgDW0k01EZaCHR46aq65BZJIKO8lrwJO6LR7eu+E40M0QFfgUIIc.FZ.1AZAICqsV1sgllkzaB1GZIz6UyV1.iJfMwco3bZkDR15FGq2FrqNqaSoHIeuMZBovRinS.tRxyjG2ruVG7oHu9e.zE1vDvHRJoQYjW0kvlMYHlUqTgNPyl0BzGtRRxJ0Fpcl1S67XkJvlvA0OTKMGuA0giPTeHO0UAujhvKw3CuoDf28CLdb3Yp2G3vg0iTpTtXYUuZRFBTE553.PDMvIcAgLNu+E9MsuCUMKV+NXr8FHcJTaJZKYbuAsqZ1.wFd+KjmN77d5O77Vzrb44pDaZUBZBXya4.BZuYyQp8unNQWR9uqjLchXn8Wa6LEJUK19kxEaKxKe8V4crh0KUl50qWHecz1odCDFqvJ63b19uZubGCHFYx4zX6ChYelS5TE17T3IqV9MUVKeisNY0zNzxyRl60sqV8z9UN+vREMscprd6S5ZefYriKsa8LIRj3MtmV3.qxXcml5vWQd5gosdIbKT9c2qpQrkd0oc1BUMVdTs11adRtduFs4gq09fzEz91x8d8Jl6bP6xoiknWsTag5AMO4v5s1sfDaJ54g+cJwO.a10B3FuRWW3wkzYqA6GutKvwMtEqpV9UoUs9tE0hyr5wK5z0xksXVMchDwyaB.1myV0dzJMNJYxLwrfLGA1ZMMXajNoqCUVJ610JuNUoOz.mcWrEj1NOJgekyksH.MppY9HT6sCQzCwywIjugjf26LddueghlgCzlLrEl48WoTFQ.NzIHHj+qWekl5OeekBXZOPjXV5GCJ4PIFLhEnFmmvl9K9rnQhFIdb0cv5MUy0sID2h4OoBQDrpMFapt7M5unQ1.0Fh.wLo.fKet+LEo3ZTou.Cfwiu7szOekAMrpKQsG0bSqiCJlkxOZwMfPGHO0KJL0mqx22IVa.gu7mSsv779ox5XPPr4CLk2x5pbNN5882Gj41nNzHtLORsyGesDj8OOW86m2kK1DIicpdu4eR.YpvjqDlb0vjoCStVXx08HUCnybA5mFlNYBN8Obq6zxjWvgPVt.1pANO9rfSibi5wREPffYdqAwbX9qXKaLhRrv7hch6nBQlzE8ps5hLHPLREiD6BiINzE+FAb3ITQY1ErXzHuUk9KZDVYK54sV.RkYxmoBU+SzYK8uKszhpu0qc1uQCmiQM7bXGHwinhe9kfKFyktMbf3o7949B9YCY4f0ibGcO9LHz7nWYFyEPXqHVX92Vaupe6FE1+nRU2o3F68tiYhkKhklONE.Ts52yI+AQQRAjK1DDy1Axf+Oel7NeF4QEOdXF5OE85v6hFYbrgrojudpftoI6bNKLRi3sR.buk.QiH3OsKl.phVXwHuMxrQdWD0K1TqVirMeTaBbFYyrSE3bUCbATWqF.m.G1fNR2LO7Y9TFuy7Y3YJD5HFUFAIUsAnOzIfk7sezyDF0GUztR3mkXN+yRDDhPhcVmGoHZ2j3HW7bNRWjKOxmKZlPZ7cNO9ZkQunJL69oye7WesXWpKhtGbsX2JWZxJccX2pgX2eYy+UjqE5ReQzQOd30fcqcQ1cuqE5V+iqtKyEY2bWKz8zIyQ429gbiSDheYi7O+pqG+RNYZuOH+RMB9UuL+BfzaE3GQfFkvF3Pfr.PxEA8fF.uqXLqRQf6wDrMMN0fP9RxOX7CZb1.I+i8y1eHQ8rV5z1TjeHkBR.VTQWgMT0jQXko3kqvKWkWllWtFubcdYFd4S4kIS38GuQmLUDoSgMIcFHv+V6rc.v1cDtm02vrTClS2yaNEM3RU5HfIeB8qUrMQgUsthyqDmKLu9q8x5KWEYYYIo.YpHe.sU4GJHvnSPLyyDsiCkpzeHqU3OgDW4NrU5lOZDpTbEqLrBJK9RJnxYcMzMAdWedX0+6WXqy9dGBykQqibI.aM34gBT0KX+L4oE09ObBh3+Kekgz0xcXkOccGhNAawdmxP3.B2oLDNdycJCgCm8KKkgvD+ie.zL24YHdv3OCUFWww5+LbcxUboj6zFhWo5SVsw8CeIncza3eInGnv++P2mKmv8dx9xrDvYTN76T32FrA9LUWNDT42Ga4joTW9ajFb2nGF5tQY8tk6XCCQKvOVV.F054CiTJaivM7jqON7SIOspDpsbvVpdYgP8XpIk1sgXqbHrYv46kR91bJUvM6ZxRmmXVsYox2uAHFEJAbrjrgbgj9gR46MQptGW39EJ0fDiNiFuSMB7xxh9MLd8e3.QU1nUKpUaHXmQozg27uR.Qn7UAPYPx27ek.OV4xeL+q3Ac7OF2Gzg8X+fNz5iLnlsPqi41R9aP.hZe4rIeomgvdXLg8EuEePI9wNX4ilx9P8FzC33FlCCy39uWYD4dHUbwDsIwCMpHyFn+m94mdljj4v7e60lYPtu8Hu3ahXlw66i++3sfLy+W+TUt8B2L83A2QnAkqcomB0bJZPl8dCTOfIcwBGieoRQPK8tljfZCuRoBFgs6fQPivNazcIa2F3Hh8QNgxQHgdzMON6dzn85t.wcX2Ah.5NWb8xOCcQxwWWbU1qeihGbUYKuU+zXaho+7bah8vcIzvrUzoNpm48JfznQmM.TjfP.SVl7jmhcpFO5DAwyz.nlbh+C8meiI4esX+FSFz3shLrzMbvGY3kfAlu7C30Pm2Hdf8YUpvnUGjVBEkDwRPik2DdjgAScubRIoQOlTSvXVYBFypSvXROAiYsIXLqOAiIyUNF1lQ45RvVdKEoUTaCu2ym7fM4oW+8+tXSd6C

    OKay, you have all your instruments loaded in to an array called inst:

    const var inst = ["sample01.wav","sample02.wav","sample03.wav","sample04.wav","sample05.wav","sample06.wav","sample07.wav", "sample08.wav", "sample09.wav", "sample10.wav"];
    
    • arrays are numbered from zero so in inst[0] is : "sample01.wav". in inst[1] is "sample02.wav" etc etc.

    you are referencing this array in your combobox....using the value returned from the combobox.

    Comboboxes ALWAYS start at 1 and go to whatever the last entery is.. so yours will return the numbers 1 to 12

    -- so you want to load the samples from inst (which are numbered 0 to 11) using a value you get from the combobox (which are numbered 1 to 12)

    So in your combobox call back you need to reference the contents of inst like this:

    inst[value -1]


    Meanwhile:

    inline function onKitSelector1Control(component, value)
    {    
        for (i = 1; i < 12; i++) {
            Content.getComponent("knbSampleSelector1_Kit"+i).showControl(i == value);
            Synth.getAudioSampleProcessor("Audio Loop Player1").setFile("{PROJECT_FOLDER}kit"+value+"/"+inst[value]);
            Console.print("{PROJECT_FOLDER}kit"+value+"/"+inst[value]);
        }       
        //Console.print(value);    
    }
    Content.getComponent("KitSelector1").setControlCallback(onKitSelector1Control);
    

    -- just NO. NO.NO. never do this.....

    every time your callback executes (everytime you use the combobox...) your program has to go initialise and find all the controls you want to access...bad very bad.

    do this instead to pre-load your components and loop player...:

    const var mySampleSelectors = [];
    const var myLoopPlayer = Synth.getAudioSampleProcessor("Audio Loop Player1");
    
    for (idx =0;idx<12;idx++)
    {
        mySampleSelectors[idx] = Content.getComponent("knbSampleSelector1_Kit"+(idx+1));
    }
    
    

    Then in your combo callback:

    inline function onKitSelector1Control(component, value)
    {    
            for (idx= 0; idx<12;idx++)
            {
                  mySampleSelectors[idx].showControl(idx == (value-1));
            }    
            myLoopPlayer.setFile(inst[value -1]);
    }
    Content.getComponent("KitSelector1").setControlCallback(onKitSelector1Control);
    


  • @Lindon
    Super - many thanks for the help - But unfortunately this is only the half

    1. the combobox selects one of 12 knobs - (that works fine)
    2. this knob loads one of 10 samples into the AudioLoopPlayer (this is completely missing)

    So the knob has to load from the folder selected with the combo box
    the sample selected with the knob

    There are 12 folders - Kit 1 to 12
    Each folder has 10 samples 1-10



  • @MikeB - so see if you can work it out from the code I've given you...



  • @Lindon Thanks a lot
    I've been trying to do exactly that for a week and I can't get it to work.
    Ok - Must try something else.



  • @MikeB - you wont get it to work if you dont stop and get the concepts right first...



  • So I am making progress.
    After watching one of David's videos again I am a bit further along
    However my requirement here is not so simple

    I fail at the moment still at the following problem
    I need the value of one component in another and vice versa.

    Bildschirmfoto 2021-06-15 um 07.34.11.png

    HiseSnippet 2305.3oc4Z0sTaijEVBPyFXfTL6jspY2ZunKW6ElhfsjAyOUFVL1FCd.i8fABYRkhRH21tCRcKjZavgJUkGg8p858QYeB1mi8x7Fra2sjrkrMTDCgcmAkpB9z+bNeme6Vp6JNDCnqKwQRdxC6XCkjmVoZGLsYtl5HrTw7Rx.ks1tLnptksIDTEZBMnDGfVJvtHpKPcIorcr0ccg0jjkGea9rjmbBIwym2HqtoN1.1qIIoiIHC3dHKDsWqUxrKxzrfdM3gHqPidoLEMH3bDSRKFBGWQUxV23b8Fv804CaLEI4uYqZHFfpR0oPWI4IxRp0oZSxkXuweLxEclIjSnIUkwHulKPLqwQLuUobMQl0pDXIbkjjUpzytLtmc4EJkP0Pcaum8YVQGfdyHr8PdraCdZggm5cGdiEBd+t.2l.dl5cfNBX8bkREyWD30hVDPkqkiCDSqBunELhy4ya320gNLyb312iPr2BqyfZsv9RN2OiMzp1vvc74MjGOpdO9Mq2gcKCpqRb0p.xDx0a4.B1n45Hy+mWmpKI+uTzRql.e3x6tZtBURbXgMSrC8meyNYcrRzN0pGczQ4xdDd2TuGgRjaw8bt5vWevlmCoFqtoyY6dbB6qbRmJ21WhtXohuuzxYOamKVJsC6+uRay2znb4K6T5CmTHuosSoUZbQK6iMSbdg8OZUUU026dYtisJRzcpoidMcsSRa8yncvY2+fxFIl+0W1bGb4DYwUZXu8Ea19M3sOY4FGmNW0epX62rn4dG2nX5DpsqjZGbaj4EmbT88yIwUQuH7eQI4wDyVVP2jkZ4hNufNO6qSxibgNtIs3MU2uopkOZ+7USx85Iy6zxxkmFCRqplLqIDZ+Ad95oKd1oZZqlvBwCD34ZUQMv5zVNLYoreKqr5LidOGbl8IVHV+h5C9MNal7P7vZlGiv72NzvQHdANQhMjBE8NgWz62oT0vAYS60C289sJEwTnCSAgQhe8FqzXGLoRNBaDXZBK8ygEbXDcmQbsTppujq+y8pYlZloRlDgMLaUCFOlqnVl6ot9EyNUKw6ci4ML9.A6QzqA1rUMDoNOxCfvTBvlPLAK7U8gK7svMPXXBSFDDHPD6yzJREl7iyAYxjK7H83YPDljMcbz63uJ.2f.5AtEDUqbdnDIqfuKEzV2gIE1OVG7VeGlpVhK0aG6kAjohRtXTxkhRlNJ4xQIWwiDDPuZezqEkVSUP+t+G3LRljkF2aY30A4HVmQNibE3RDKcm2oFXAsThoTjB7hwADLDzlfEKaiIm4Bzw.dNCnIxBz1qX7c1uX0gIl.H3x8PbKQ394Y8dq7v5UrehDMfTQHiWHT2D83wDsB3yHXwJ+Tw5L8KNp1Uf0UeE6O+nVJ9ele94lYpqmYJ.6IJPdKq22IrHd0DXRjYbrYpNlFO143y7Dcv30NkM4Xyykv7ZywE4G4REgMY4ef5svFTDyhQvgjgFm2Nr7Pi.F+RlFa1BxwDGQd3h+Df90ApuBzG7CFy089o2yPTnDtrUMCDqvZrNHtPlKvQcz42ieeLzuYy1kXBSX6f3VhqqbP4eZqbGdZgx6keqC934byffiyGKYr4isA+IluAY3FyvljXykvk2o.g4zMM4aHH9PMaOtUu5OwousvxCb6lNHRdD1.fJXAvZgyaH0AZp.+EM.0cHV9UCiwKPECbWRYXKs5IHtL6KYIZXY27ofDf04wOferKKXTcChBE.M.edK5KNY.LOSd9IC2FeGtCe3LMjqWDWNrLraclCMW6KK31OjVDdy8YuUvm24Gh+nEQ5mhx9WHceeBEVFGetotdpIm5iSA5uq50GZe9FGSnyP6lu0NmaahwwsrNC5DXRCFHaGYQ23txcai6FdgYgFHAWDinksg3a50Xj7iMYareFeTwFJUrgvY82PnX0srjqj3aX84JgqoHIPd3MqJ0OWdtOWpZhXaPQvi+nxvC1Ffcr8odOXWp9Y2r2Kzs3.Jqz8gcK8vhtz8ytmcuX2xOrnakGV1sZ+r6OeuX2Zils6OcSgwpil1di7Sazh7tQ9MPhwOjQ5nhh2hm8pc9UDXUIrgNTDu.jbdXajAz68DmTIOz8bJwl8t+cWNSR9Y28hFW0SxkyzoKwmHYrzY8oHOMiBQgVLQ+2Up.cLZ45xpb5x2Z8TEw0Z4RcP5lBxs3bk8VmHCAIa6qtT+eWBR8GTgSD+40DRMwONjzwiYayFtaxbPGcq.FnyT6j4XuBMqTMuAw6w6MqlHbCwOktDUi1rKx+mMxzDhZzLzac+W4t7tFmuwy3LSvqXqiglBKyePw1D22h6gMPeJWHCjz1YhJ2Oec+x8ezLi7zgD7ziPQ3qBGnER5+EO2S.YrLrkupxbD1tgGSTD92r6GgeZmLtF5lPuuhRuY9u2vVm+YuBA9gabboP6pnODYYh1AqHJOdXy92NBqY7qPsW5d4vW72PN7oGgkgeJq8oeRq8K+jV6W4Is1u5SZsesmDZ+srA8mzpu1Sa0O0u1U+AO6tYUJQp0xjeZfgOTb9MAvuC1qOE4763mQG1EQ6D4Di+ZbR42U39cJUPTilCGuiMD7xOD9ux30+dGLixV0qy7N8.6DJEN4q+kLHLT99.nHNqF9Q03eICdgxfmdyCw8Aw9NeePp1AavbaQhWE9RwUXf8NyCdXzCbKFNfPn7u0Z36ihehA+3rYrOxngsgNtQ4PuCreLEIKtJqHya2+aJXrtrjYuSG2qOyfSF2ir+aLwD2sO7ZOm3vt8DxS7+0WjkGupIie2f6PrfxUF3JRMqRUDO5XKbanIKWPfweuRdXc8VlzfVilHThfI1M4epnnwRrJ7MZ.cBi8gpPaRoQtRNuHyArh15tvvqNrGBC0c5Oc3KvVnc2sE2l+5GT7fKfm8B9swp.i+zbUfCHsnrpnkzYApW4cGgpxJ9Z.YHAigl7iHRdL9GE1iVMndVUHtlf3+vd76TiSK62oVPmOJxvR2vgbpg2WtlGK+LQKL8FKpaOoRINMn626VQQMgJqVdMzoFFby8BZRRCeNoFg4r3HLmkFg4jdDlyxivbVYDlyp25b3KFsYKJwxKUj0Pks7tsexcWCmsgz+KRgEJGA
    


  • @MikeB look in the API, you will see a call for every component that looks like this

    youComponentReference.getValue()

    this will tell you the value of the referenced component, but are you sure thats what you want? Because the value of your comboboxes are 1 to 12...

    .. you might need:

    yourReferencedComboBox.getItemText();



  • Thanks for looking at this again
    It doesn't matter what I put in front of ".getValue() it always returns the error "Unknown function 'getValue'!
    I have tried everything - nothing works

    I think I can't reference the sampleSelector because it doesn't exist yet.

    And that is already correct there are 12 kits and 10 samples per kit
    The ComboBox select the Kit 1-12
    The Knob (1-12) select the samples



  • @MikeB said in Complete crash of Hise with this script:

    doesn't matter what I put in front of ".getValue()

    It definitely matters. You're obviously putting the wrong thing 😛

    What have you tried?



  • @d-healey please see the snippet and the screenshot above

    it is built exactly like in your "scripting efficient" video

    There is a ComboBox that calls one of 12 knobs
    The called knob calls one of 10 samples

    and loads them into the AudioLoopPlayer

    The file path is dynamic - both the kit (1-12) and the sample in it (1-10)

    {PROJECT_FOLDER}kit "+value+"/"+inst[value]);



  • This post is deleted!


  • @MikeB said in Complete crash of Hise with this script:

    Thanks for looking at this again
    It doesn't matter what I put in front of ".getValue() it always returns the error "Unknown function 'getValue'!
    I have tried everything - nothing works

    as Dave says - it does matter - you need to put a reference to a control in there...

    clearly you havent tried everything because Im pretty sure this would work for example:

    Content.getComponent("KitSelector1").getValue();
    

    I think I can't reference the sampleSelector because it doesn't exist yet.

    what makes you thing this?

    • do you understand how event processing works? Do you understand how the init callback gets executed?

    And that is already correct there are 12 kits and 10 samples per kit
    The ComboBox select the Kit 1-12
    The Knob (1-12) select the samples


Log in to reply
 

9
Online

1.3k
Users

4.3k
Topics

38.5k
Posts