HISE Logo Forum
    • Categories
    • Register
    • Login

    how can i use a Combobox to Switch panels

    Scheduled Pinned Locked Moved Presets / Scripts / Ideas
    14 Posts 3 Posters 1.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      LinuxVst
      last edited by

      the Combobox values are not Numbers the are the actual samplemap name
      let's say Drums, Guitars, Pianos

      // Sample Maps Array //
      const var sampleMaps = ["Drums", "Guitars", "Pianos"];

      // Combo Box //
      const var cmbSampleMap = Content.getComponent("cmbSampleMap");
      cmbSampleMap.set("items", sampleMaps.join("\n"));

      inline function oncmbSampleMapControl(component, value)
      {
      Sampler1.asSampler().loadSampleMap(sampleMaps[value-1]);
      };

      Content.getComponent("cmbSampleMap").setControlCallback(oncmbSampleMapControl);

      };

      this is the Part i Need to Create:

      i need to create another Combobox

      // Panels Array //
      const var Panels = ["Drums-P", "Guitars-P", "Pianos-P"];

      // Combo Box //
      const var cmbPanel= Content.getComponent("cmbPanel");
      cmbPanel.set("items", Panels.join("\n"));

      inline function oncmbPanelControl(component, value)
      {
      // this is where i'm Stuck i do not know what to enter Here!
      };

      Content.getComponent("cmbPanel").setControlCallback(oncmbPanelControl);

      };

      cmbPanel will be linked to this cmbSamplemap
      with the names Drums-P, Guitars-P & Piano-P
      so when i use the cmbSamplemap combobox that is linked to the cmbPanel
      i want it to switch the panels at the same time it Switches the Samplemaps

      Thank You

      LindonL 1 Reply Last reply Reply Quote 0
      • L
        LinuxVst
        last edited by

        Finally i am not going to use buttons i would like to have only Comboboxes!

        1 Reply Last reply Reply Quote 0
        • LindonL
          Lindon @LinuxVst
          last edited by Lindon

          @LinuxVst said in how can i use a Combobox to Switch panels:

          the Combobox values are not Numbers the are the actual samplemap name
          let's say Drums, Guitars, Pianos

          yes the displayed values are these text items, but the returned value in the combobox callback is a number - the position the end user selected (starting at 1 not zero)

          inline function oncmbPanelControl(component, value)
          {
          // this is where i'm Stuck i do not know what to enter Here!
          // start by putting this:
              Console.print(value);
          //.... and it should give you a clue...
          };
          
          Content.getComponent("cmbPanel").setControlCallback(oncmbPanelControl);
          

          HISE Development for hire.
          www.channelrobot.com

          1 Reply Last reply Reply Quote 0
          • L
            LinuxVst
            last edited by

            i Do not Get it yet!
            i am able to get the values of the Combo box

            with Console.print(value); it gives me 1-2-3-4

            but i do not know the inline function to get it to switch the panels
            i tried with Panels.showControl(true) but it did not work it displays Unknown Function?

            Content.makeFrontInterface(600, 500);
            
            const var Panel1 = Content.getComponent("Panel1");
            const var Panel2 = Content.getComponent("Panel2");
            const var Panel3 = Content.getComponent("Panel3");
            const var Panel4 = Content.getComponent("Panel4");
            
            // Panels Array //
            const var Panels = ["Panel1", "Panel2", "Panel3", "Panel4"];
            
            // Combo Box //
            const var cmbPanel= Content.getComponent("cmbPanel");
            cmbPanel.set("items", Panels.join("\n"));
            
            inline function oncmbPanelControl(component, value)
            {
            Panels.showControl(true);
            };
            
            Content.getComponent("cmbPanel").setControlCallback(oncmbPanelControl);
            
            };
            
            
            HiseSnippet 1040.3ocsVE0ahaDDdMItJ3qHkSppuUIKdhHkRVrMDPsU0GPREpM4PkznJ0VccwdIrM16hrWxEzo6+78OncWu1XSfPthRfGfYm4a1uc1YlcFFw7vwwrHfV4qVLCCz9R8QKn7o8lhHTvf9.suVuGKbLyrK6dygHJNv7JbLGzcwLTbL1Gnos2OIsUq79fjOe5G6hBPTOb9R.v0LhG9WHgDd9pCc+YRPv4He7UjvBV63NviQ6wBXyE7ZOcHXFx6VzM3KQRyJoCz9hy7IbVzHNhiiAZ62k4uXzT16oJ6ulDSFGfkBM.iDNRs74r.eIikqB5MkD3OL67GCDdYXdzXOUz3qzuf3SVtddT4vDEl4HJFOzJsM50nH8fe9zSq.81WQuWqOxKhLimqQxsWoOfxwQSPhqfhzRYKnjwdhqTgETd8Pzs3yiDBKQTqEDdrYSH7nuqhQECwEQL27NTj5tug4OXlg8FLWjYLiQEB0ppTWUh5AXr1NFqMgwd6Xr2DFmsiwop5DcxIJyiMeSTDZg4ImrlmhEd5OxNQGalwyr+Yu7eNU+qLelWjrpC8BGmX5iwsL8pSTpP8XrPEgiCiE6khS0+GFgVq5eRqdj5fPnADJ1bxbpGmvnlLZFb4NEwBp4ksMGKnRvb7QUL9PECIQhYA35yhHBFnzH73GS75SwRI0R8eOTPvXQkYs01YEAUNT9s.GujwwukV6HiOXT13iFlOT0jIaTWpiCvQaTsrARz1.ViNObLNJKPjYnnRZ0RU8GuTsXmDOUTpfgL5.Jg+1YX5iU.CRCsxR4TVILkmTHeXZgbRVjHIBPDUrF5YgUPBqy6PdnK32FzGwQY9R3VwVMCGwIxSgVe7ch9splDk06iiukylINcKuRAZGn14JYsPR1G41dftJyGbe9FRbWjKz288De9zkK7oX2oXxMSKzZO1Ul7l0B+U5ssrfMZCcZCxW2ZUEfBbq7SvMqmUtA6X2pS6lMWiav1M5.sfmBtqXC6+OD094knm1pUSGX6MPTqlMsrs1ch577daC6.sa0Ft9scCmN1MgNOIQepBhBrsaA15d8CXK3uWiseuaHR.WWSJyw2ySFoHoYKP6aRS9MT4YperMRiQf0eBVLH.yed.hu5zAxQhRUH5CsxyvxmZowD9hhiL8hLxvmKces9PB2a5l4aoMvWQamWZ9lN.VE8ylLA6wyI695m+6u7SaA9U1bNgdyEHdDQlsb47vQhzXOrfIT46wxLnRxt5JYnTVFYFgo9IB+q3SpxFRYsTkMxTBBQdQr24odKPNh2AIqH3DMYR2x5WHkMaj0+WWGVGBBESd9NOOYn3aEbeyXr1AL16.Fmc.Syc.Sqc.yo6.l1aEibn+2LmyBUkIhEFdVx6vZZmQQhrrjLRv+UNxGRJ```
            1 Reply Last reply Reply Quote 0
            • d.healeyD
              d.healey
              last edited by

              Panels is an array. You need to provide an index to access the items in the array. For example Panels[0].showControl()

              You can use the value you get from the combo box as the array index. Remember the combo box starts from 1 and the array starts from 0 so you will need to subtract 1 from the combo box value.

              Libre Wave - Freedom respecting instruments and effects
              My Patreon - HISE tutorials
              YouTube Channel - Public HISE tutorials

              1 Reply Last reply Reply Quote 0
              • L
                LinuxVst
                last edited by

                Hi David
                thank You for The Help!
                i do not Get it yet i am Really a Newbie!
                Still Getting Unknown Function showControl
                how do i create an index for the array?

                Content.makeFrontInterface(600, 500);
                
                const var Panel1 = Content.getComponent("Panel1");
                const var Panel2 = Content.getComponent("Panel2");
                const var Panel3 = Content.getComponent("Panel3");
                const var Panel4 = Content.getComponent("Panel4");
                
                // Panels Array //
                const var Panels = ["Panel1", "Panel2", "Panel3", "Panel4"];
                
                // Combo Box //
                const var cmbPanel= Content.getComponent("cmbPanel");
                cmbPanel.set("items", Panels.join("\n"));
                
                inline function oncmbPanelControl(component, value)
                {
                 Panels[0].showControl(true);
                };
                
                Content.getComponent("cmbPanel").setControlCallback(oncmbPanelControl);
                
                };
                
                1 Reply Last reply Reply Quote 0
                • d.healeyD
                  d.healey
                  last edited by

                  I didn't notice before but your Panels array only contains strings it doesn't contain references to the panels. Strings don't have a showControl method.

                  I think you'll find the arrays section of this video helpful:
                  https://www.youtube.com/watch?v=8JO4m-OloqA&t=412s

                  Libre Wave - Freedom respecting instruments and effects
                  My Patreon - HISE tutorials
                  YouTube Channel - Public HISE tutorials

                  1 Reply Last reply Reply Quote 0
                  • L
                    LinuxVst
                    last edited by

                    Thank You David but i already Looked at this Video
                    i even tried Changing strings to numbers 1-2-3-4
                    i have No Problems Getting the Values with Console.print(value)
                    i still get an error with showControl method
                    is it possible to Change Panels with a combobox?

                    HiseSnippet 1036.3ocsV01aZbDDdOauUlKEoDop94S7IPhh26EvfRqJAvtB0ZGTw0pRoVoK2sX1561Ec2hiQQ4+b9Gzt68hui.FmhrgOMu7L6yM6LyNiB4tjnHdHPqzEKmS.ZeKb7RlXV+YXJCLb.P66g84AS3F832YLByH9FWPhDfdKmiihHd.Ms8+EkuZkN.D+6y+bOrOl4RxUA.WxotjeiFPE4ZG08Wo99mh8HWPCJ3sS2gtbVetOegjW6CQf4X2avWSNGqbaOHP6aNwiJ3giEXAIBncPOt2xwy3efk3+kzH5DehRvDLVFnD0mx88TLVoEzeF02aT12eDPFkQ4Yi8SxFeG7LpG8d84YkWFavHGQw7g1daidlEoG5qmdZEn2AIz6Uvwtgz4hbKJt8B3PlfDNEKuBJRqDeA6UZe4UpzClnQ.9FxogRg6QTsEBU2nIBU60k0KqKuHhDF2hCMvF+jw6Lu50E0EWOXJMjEuqIBY0xbNSJTsRh4J0VGi01wXsIL1aGi8lv3rcLNUR9JO5nD2iLdSXHdowQGsVjhh+7qaXU2vttgyUY3xaNVEjavjXbOz4mYOg0oBMhHRSTAIHpR8zysw+vorpU9KVkZIjkx7oLhwzELWAkyL3rL3pSJj6W0M6XpKoh+BRsx5errdZ7dG5pFQxZwLmEgRGjA9SwA+wHqhgoH6i88mHaLqtFAR3YR.U+KP0y4BxaYUqo+Q8R5eR23KMMc5FskFXeR3FMqleDtMfUYKBlPByxGYNJajVsSE9vcpEGj3ljkJ3HmMjQEucNg8P8ufzTqpSNkURWEw8wuLsONtXRVKAnxFVcXVZEDy5hSXA+wvAXANKVxvJOp4jPAU8UnMfbqbbaxLhRvAjnaD74xut6uRAZGlbxkylfDeNpi8PXRaK3t7Cj1cYtvftef5IlcuhOG0cFgd8rBS1i5ppgylf+BXaKKjYajSaPtdqUM.JvsROB2rdR4FpicqNsa1bMtgZa1AYgNFbaw40+eHp8SKQOtUqlNn1afnVMaZYas6D04o81F0AY2pMZ8aaSmN1MQNOJQerFhBrsWA118xufsf+dM19icCvR3PMkrfbmHdih3YtplEScKcacG41Iq8Zq7Met2BerX0EATa+jZPNyYkWbUupxhnhkE6ceV1N3qktuBNhJbmsY9t2F3qbDyyMeS20pL7joSIthbxd.7z+74ewJvuyWHnrqOCKBopJiyWDLVVx5RjLgodxTUsrmZBdhLRIqxLiILuXg+U9K0noRVK0nYlQP.1Mj+d2j49ps4NLVijSr3kZKAOSIaXlMqGBQMPf.4Rlu20UkJ9AI22LFqc.i8NfwYGvzbGvzZGvb7Nfo8Vwn1u+MKD7fj1DohQmD+lql1ILrrJKthD7eIoCf2.```could you try it to see what is Wrong
                    1 Reply Last reply Reply Quote 0
                    • d.healeyD
                      d.healey
                      last edited by d.healey

                      You need to put the references to the panels into the array. At the moment you are just putting the names of the panels in the array.

                      So instead of this

                      const var Panel1 = Content.getComponent("Panel1");
                      const var Panel2 = Content.getComponent("Panel2");
                      const var Panel3 = Content.getComponent("Panel3");
                      const var Panel4 = Content.getComponent("Panel4");
                      

                      You need this

                      const var Panels = [];
                      Panels[0] = Content.getComponent("Panel1");
                      Panels[1] = Content.getComponent("Panel2");
                      etc.
                      

                      Libre Wave - Freedom respecting instruments and effects
                      My Patreon - HISE tutorials
                      YouTube Channel - Public HISE tutorials

                      1 Reply Last reply Reply Quote 0
                      • L
                        LinuxVst
                        last edited by

                        hi David i Tried and i Can't Get it to Work

                        Please Check my Snippet

                        HiseSnippet 1088.3ocsWs0aaaCElxIbnVcFqEXXOK3mb.xhojuDGzMLmqCFaIwXNKX.cEczxzwrQhTPhtMFE4m49ez+AaGpKVJwNWpQhySmq766vyg5j9gRWVTjLDYT9rYALjw2hGLSnlr+DJWf5c.x3Gv6K8GJs1SdkUepf4YcFKRg1aV.MJhMBYXr1up80n75n3ee4W1i5QEtrbUHz4RtK6249bUt19c+Mtm2QzQry39E7tY2dtRw9RO4T.WqgIn.p6kzKXmP0tUBiL9lCGwUxvAJphEgLVeO4nYClH+jHw+y4Q7gdLsfMZ.jnD0GI8FoQrVKZ+IbuQ8y3eDBxR+7pwZIUiuGeLeDet97pxqhMXkGQw5gQo6Cd1EgG4wCOiBva8D38Z7.2PdfJ2hFauD2SnXgiovUPQXk3Kpz+VBtRAODps7oWxNJDDlGQs1DxlVsHjMdSEyj+pWO4hOxZ2vP5Lq50qXBWPQJqORCyL8yVu8cwQjH+Vx6.UYGyELEzDEHEfPspwdXWci2j4q8C3qSUMXRc14AbtQgD23A7sY0LVBbLuM+lDz0eXry2UlxrGmq50yD2JhAF4JleT0MSqRa8AIWTq5eKptQxAyEdbAyZ7TgqhKEVRQV35yJT5UyM6f1D.i2T1FUL+bESq4U4shf9pLmUgfCPhuNN4ODb0HLMx8oddCggrZK.fDbd87lgBP8Dohcpn1Fle1rr40lV21z3wK0VZh8XgK0r9sfv6KvZho9CYgY0iLGgghaN0gu6othOJ3lTkJ3nTzSvUmFvD20rHJszpmJSQE3pJdl7UoyjwsSP2DhCCel3rxJJF04O18ptn+r2ATEMKWPZgiJfEp3ZVXb.6ivSmIy6kwGvhtTIC.1M+JExdxIWI60f3yQeru.mLqgtJ+.4cmkKbP2OwGolLWwWh5NgwuXRgWoi5p6gydM9k3NNND6NjlcP45ctog.YvzfiYho8zc+EfAzkAMqo8ZfguCuqmmUtBzWAobdRIEYmFs2oSqVKPJRG6cHNjsWfTkSgg4SJqZ7zxpsa2tUSRmkvJmVsbZ3bWrpwSKqZ9z1.R1gzncGxhMf1M2oQKRy6hUM+5XU4G2.cApsWAp087aQMz+r.09ot9THbrgVVwtREucCOAz8vmN7CLWkE4pFTalCvayBZfgs12VSyEzrMnA1zZgMGf8Wjil5QU2boF8lboFf2buw1C5MDDQb0rha58rroyiEtuF2mqbmrb7VZI3Edh84Fuo6MVAe33wvsPNXWGeze87ujH5OjSUbwEGSUgbcm0IS8G.yGtL.IB8JC5tsR5ufkHSzx5Jy.lXTrv+A+RMZqkMRMZmYD4ScCku2M46d5MSeQrF.Sh3EzKiOVKaYm8sNLlrEA4CKL+dWWco3GAru7XbVgXZrBwzbEho0JDS6UHlsWgX5buwn+eU1cpR5mLl.J5eX7NGFFGJnPWVbGI5+A.CNB6I```
                        1 Reply Last reply Reply Quote 0
                        • d.healeyD
                          d.healey
                          last edited by

                          HiseSnippet 1094.3ocsWs0SabDEdVCaEdSsZhTUeqRi3IiRBL65KXDAUy0JqVHV0TTkhPICqGiGwtyrZ2wDrh3Oa+Ej+AsmYuvtDaiIVvxSmqy22YNmwG5FJcYQQxPjQ4SGGvPF+nYuwB0v8GR4BTmCPF+h49R+Kj38j2f6RELO7orHEZuwAznHVejgwR+t1WixKih+95usG0iJbY4pPnyjbW1ex84pbsca+GbOuin8Ymx8K3c81cbkh8kdxQ.tVxjfBntWQujcBU6VISjwObXetRF1SQUrHjwx6I6Ot2P4mEI9eFOhegGSKXi5AIJQ8QRu9ZDq0h1eH2qe2L9GgfrzMuZrTR03mMOl2mem97pxKiMfyinX8vnzCAO6hvi73gmQA3sbB7dkYO2PdfJ2hFauvriPwBGPgqfhvJwWTo+sDbkBdHTq6SuhcTHHbWDUaRHuA2fPVa6JVI+swFIW7Q3cCCoiwarQEK3BJRgulFlYZG7GNONhD4OPNGTkcLWxTPSTfT.BUWM1C6UWa6LesmiuNqpASpyNyw4ZERbs43a8UyXIvw7176SPW+KhcdVYJydZt3BOtfgGLR3p3RAVJxbPGdnzqpaVruAxu2H1ZUr9REKL7MPFhqxALS1FywuKs1ttGSboZHn50udsDG0eobje95QPqUVxiyH9sXa7N6f4ZHcaLrlG1WORaHNG6S87t.l3pNAzSX3s20YTfjmHUr2Kptl0WrJacqE9aMMXvTsklXOV3TMqeXH7gBrpXj+ErvrJYlivDx8GAMm8HXwWHbSpREbTJ5H3p2GvDyZvDkVZ0inonBbUEOf9xzAz3dKn0BwgIQKyrxJJF04u7sRaze24.phlkKHsvQEvBUbMKLNfcM7NZxveYyCXQWojA.6t6JEl9SN4JYOMDeN5icEyjAOzM4GHu83bgCZ+Yde0v6T70n1CY7KGV3I6n1bEyO6o4WX1xwgX2hTuEJWuy8MDHCFEbLSLpC3QTAX.cYPaaZuFX3mL20yCmq35rqHikPeG7y4Ikejsp0bqVMZLA+Hsr2h3P1bB9UNEFVKJAslCAq8zRvMa1rQcRqoPPmFMbp4LKBVa9D764Zq9SaaIYKRslsHS1VZWeqZMH0mEqpuvWakebS7EX4dEXY6y9FVh9zDr7cs8oP3lFZYE6FU7tP7D7+qoiUVoceo2Qo0Vzj6N.avH6Oxipt+ZM5c4RM.Ozdu8Gz6HHh3pwE206YYWmGKbekYWtxc3zwaoofW3c0ma7lt4XEyCGLf4pxA6xlG8OO+qIh9K4HEWb4wTUHW2sbxH+dP6uKCPhPuwftCpj9msRjIZYckoGSzOV3+fuTi1ZYiTi1YFQ9T2P4GcS9wN8toqDqAvjHdE8xlGqkw1Y+.moIYcBxGVY9itt5RwaArO8XbVfXps.wTeAhowBDSyEHlMWfXZ8fwn+uU1cjR5mLl.J5dX7hFFFGJnPWVbGI5+ADeA.+C
                          

                          Libre Wave - Freedom respecting instruments and effects
                          My Patreon - HISE tutorials
                          YouTube Channel - Public HISE tutorials

                          1 Reply Last reply Reply Quote 0
                          • L
                            LinuxVst
                            last edited by

                            Thank You So Much David i will learn from this Snippet

                            Mike

                            1 Reply Last reply Reply Quote 1
                            • First post
                              Last post

                            15

                            Online

                            1.7k

                            Users

                            11.9k

                            Topics

                            103.4k

                            Posts