HISE Logo Forum
    • Categories
    • Register
    • Login

    Change Sample map via Prev-Next Button

    Scheduled Pinned Locked Moved General Questions
    37 Posts 6 Posters 1.4k 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.
    • d.healeyD
      d.healey @Tania Ghosh
      last edited by

      @Tania-Ghosh Sure it's possible. You just need to store the index of the current sample map in a variable and increment/decrement that index when the button is clicked.

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

      Tania GhoshT 1 Reply Last reply Reply Quote 0
      • Tania GhoshT
        Tania Ghosh @d.healey
        last edited by

        @d-healey Can I get a brief example sir ? please :)

        Tania Ghosh

        1 Reply Last reply Reply Quote 0
        • d.healeyD
          d.healey
          last edited by

          HiseSnippet 929.3ocsV01aaaCDlxwpaVatXEX+.35mrgabkSeYCvaXYwIYvnMIFycECnnnfghJlHTjBjTY0nH.8Gx9Qt+AaG0KQxcpEMFX7KI2cOOjO7zcG8BshxLFkF406EqSYHuu1e4Zoc0rUDtDM+Pj2c8OgXrLMtv0AqSIFCKB44syu5b30qKJe82+7ADAQRY0tPnWp3T1y4Ibas2E6+LtPbLIh8BdRCzOd+4TkblRnx.8rieHJkPujbA6ThCVGej2cNJhaU5kVhkY.LGnhVubk5OkE3eI2vOWvbFSPKgMpvMZ1JtHZQ0c0fPdcWTey2o3l+s9mvi323uNC7M4Av0LZlC75roj5tgjl7wjzwJQjaC9Hxyqg75VHu64ujp4o15HNs8U9ykvGmXBj1aJqBrnN+UG+YJ.gzNNgbI6XMXbCiAOML7A3mDFNbZ+f9AZ1EXpJyEE+S3vbeO7g3CxrVkzzO.93Xr3yKLADu504PhUZ7.dNCLG+i38f+LZzv9Auqe.FVkDFmlYVMnRLWvryTIoJIXL39EGw8wibazH7jgCcJpA4Wwe8XiihzpUhYDg3bnzXfRVvrz+voAW6TDWJ3RFNNSRsbkD+AvFPqN4GfuhHxX0ZkGiGT4xYW51sDJJQf4xH1ag6Z0kJ29r35srR30Dc642kiaXsS2pLWu6tSq8yDFVqnFMZ5l9qsfqkQIXiS0bHYVhuRGWGbci7voJK6L4fgAuKnWv0A3OLTbbqwJSbBlt0vt1X8mh3.YVx4LcU5tBHTauYyyc97ZdnEEQM.pjykb6YorR651qIszdgJqBg+62meHwRbcbk9.boLsk6ji2grqfwWE8e87OjYtzpRgIQ2T5h79Badz6V1cVTng3QNBEFSPusdF2z8Weiw6e19FxUr4xEZFTb6Za4lSTIv9Rz.LuNLIAt9toOOmQzRGBzs5r2qwY+dQyyd91b1+2oRvrQUTlfX2bfo6kgx.PgvFSlbSejFtccyWNtESQCacJZqel+Lk687WvszUsq2NsnWnb4+a8V9lTe+ihiYTasX65e7ersO.cKjxuoxrb4EmPrZNTB4eZVxR3YYJCThTBSo.edcbsRE1gNaWlYISFka7OvpL3DmsWYvIUAQIDpV8FZwHB2qdeYtGPSx7G76A+xCvFOAkO1.34GNNDk.kjugRcohcAs2Nm81BNOZK373sfyS1BNOcK378aAme3SxwMM3Wxrpjh1Dvwhixme54cT93h7JRz+d.kEmJ
          

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

          Tania GhoshT 1 Reply Last reply Reply Quote 0
          • Tania GhoshT
            Tania Ghosh @d.healey
            last edited by

            @d-healey Nice.. Thank you :)
            Will try to attach Samplemap with it to change it.

            Tania Ghosh

            1 Reply Last reply Reply Quote 0
            • ?
              A Former User
              last edited by A Former User

              I've found the easiest way to approach + - buttons for ComboBoxes, is to just have the buttons adjust the ComboBox, instead of trying to call modified versions of the ComboBox's function:

              inline function onprevControl(component, value)
              {
                  if (value)
                  {
                      cmbsmp.setValue(cmbsmp.getValue() - 1);
                      cmbsmp.changed();
                  }
              };
              
              LindonL Tania GhoshT 2 Replies Last reply Reply Quote 0
              • LindonL
                Lindon @A Former User
                last edited by

                @iamlamprey said in Change Sample map via Prev-Next Button:

                I've found the easiest way to approach + - buttons for ComboBoxes, is to just have the buttons adjust the ComboBox, instead of trying to call modified versions of the ComboBox's function:

                inline function onprevControl(component, value)
                {
                    if (value)
                    {
                        cmbsmp.setValue(cmbsmp.getValue() - 1);
                        cmbsmp.changed();
                    }
                };
                

                does this wrap round?

                HISE Development for hire.
                www.channelrobot.com

                ? Tania GhoshT 2 Replies Last reply Reply Quote 0
                • ?
                  A Former User @Lindon
                  last edited by

                  @Lindon I don't know what wrap around means 😲

                  1 Reply Last reply Reply Quote 0
                  • ?
                    A Former User
                    last edited by A Former User

                    Here's an example of implementation:

                    In this case it's allowing a RR group based on the ComboBox, but it should work for samplemaps

                    Edit: forgot to mention to add checks for min/max value of the combobox, otherwise your + - buttons will go to infinite :)

                    Tania GhoshT 1 Reply Last reply Reply Quote 0
                    • Tania GhoshT
                      Tania Ghosh @Lindon
                      last edited by

                      @Lindon said in Change Sample map via Prev-Next Button:

                      if (value)
                      {
                      cmbsmp.setValue(cmbsmp.getValue() - 1);
                      cmbsmp.changed();
                      }

                      Thank you @Lindon it is working but doesn't stop when it reaches the First and last sampleMap. Instead it is going beyond. And ends up with the error.

                      Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                      Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                      Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                      Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                      Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                      Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                      Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                      Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                      Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                      Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                      Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                      Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                      Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                      Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                      Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                      Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                      Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                      Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                      Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                      Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                      
                      

                      Tania Ghosh

                      1 Reply Last reply Reply Quote 0
                      • Tania GhoshT
                        Tania Ghosh @A Former User
                        last edited by

                        @iamlamprey Exactly it is not stopping. Going beyond.And ends up with the error.

                        Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                        Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                        Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                        Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                        Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                        Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                        Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                        Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                        Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                        Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                        Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                        Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                        Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                        Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                        Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                        Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                        Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                        Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                        Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                        Interface:! Line 17, column 24: API call with undefined parameter 0 {SW50ZXJmYWNlfHw0Mjl8MTd8MjQ=}
                        
                        

                        Tania Ghosh

                        1 Reply Last reply Reply Quote 0
                        • Tania GhoshT
                          Tania Ghosh @A Former User
                          last edited by

                          @iamlamprey Can you edit the code? please :)

                          Tania Ghosh

                          ? 1 Reply Last reply Reply Quote 0
                          • ?
                            A Former User @Tania Ghosh
                            last edited by A Former User

                            @Tania-Ghosh I just used a nested if statement

                            if (value)
                            {
                                if (cmbsmp.getValue > 1)
                                {
                                    cmbsmp.setValue(cmbsmp.getValue() - 1);
                                    cmbsmp.changed();
                                }
                                else
                                {
                                    cmbsmp.setValue(whateveryourmaxvalueishere);
                                    cmbsmp.changed();
                                } 
                            }
                            

                            Then do the opposite on the + button, if it's reached your max value, then go back to 1

                            in my case i just ignored the event if it would otherwise go "out of bounds", instead of wrapping round (i guess that's what Lindon meant)

                            Tania GhoshT d.healeyD LindonL 3 Replies Last reply Reply Quote 0
                            • Tania GhoshT
                              Tania Ghosh @A Former User
                              last edited by

                              @iamlamprey said in Change Sample map via Prev-Next Button:

                              cmbsmp.getValue > 1

                              Superb... :) Thank you :)

                              Tania Ghosh

                              1 Reply Last reply Reply Quote 0
                              • d.healeyD
                                d.healey @A Former User
                                last edited by

                                if (value)
                                {
                                    cmbsmp.getValue > 1 ? cmbsmp.setValue(cmbsmp.getValue() - 1) : cmbsmp.setValue(whateveryourmaxvalueishere);
                                    cmbsmp.changed();
                                }
                                

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

                                Tania GhoshT 1 Reply Last reply Reply Quote 0
                                • Tania GhoshT
                                  Tania Ghosh @d.healey
                                  last edited by Tania Ghosh

                                  @d-healey @iamlamprey
                                  Can you correct the code?

                                  Content.makeFrontInterface(500, 400);
                                  const var Sampler1 = Synth.getSampler("Sampler1");
                                  const var prev = Content.getComponent("prev");
                                  const var next = Content.getComponent("next");
                                  
                                  
                                  
                                  
                                  const var smpmap = Sampler.getSampleMapList();
                                  const var cmbsmp = Content.getComponent("cmbsmp"); //ComboBox
                                  
                                  cmbsmp.set("items",smpmap.join("\n"));
                                  
                                  
                                  inline function oncmbsmpControl(component, value)
                                  {
                                  	Sampler1.loadSampleMap( smpmap[value-1]);
                                  };
                                  
                                  Content.getComponent("cmbsmp").setControlCallback(oncmbsmpControl);
                                  
                                  
                                  inline function onprevControl(component, value)
                                  {
                                  if (value)
                                  {
                                      cmbsmp.getValue > 1 ? cmbsmp.setValue(cmbsmp.getValue() - 1) : cmbsmp.setValue(1);
                                      cmbsmp.changed();
                                  }
                                  };
                                  
                                  Content.getComponent("prev").setControlCallback(onprevControl);
                                  
                                  
                                  
                                  inline function onnextControl(component, value)
                                  {
                                  if (value)
                                  {
                                      cmbsmp.getValue > 1 ? cmbsmp.setValue(cmbsmp.getValue() + 1) : cmbsmp.setValue(4);
                                      cmbsmp.changed();
                                  }
                                  };
                                  
                                  Content.getComponent("next").setControlCallback(onnextControl);
                                  
                                  

                                  Currently I have 4 sample Maps. It is working but only two steps.

                                  Tania Ghosh

                                  ? 1 Reply Last reply Reply Quote 0
                                  • LindonL
                                    Lindon @A Former User
                                    last edited by

                                    @iamlamprey said in Change Sample map via Prev-Next Button:

                                    @Tania-Ghosh I just used a nested if statement

                                    if (value)
                                    {
                                        if (cmbsmp.getValue > 1)
                                        {
                                            cmbsmp.setValue(cmbsmp.getValue() - 1);
                                            cmbsmp.changed();
                                        }
                                        else
                                        {
                                            cmbsmp.setValue(whateveryourmaxvalueishere);
                                            cmbsmp.changed();
                                        } 
                                    }
                                    

                                    Then do the opposite on the + button, if it's reached your max value, then go back to 1

                                    in my case i just ignored the event if it would otherwise go "out of bounds", instead of wrapping round (i guess that's what Lindon meant)

                                    thats what "wrap around" means....👍

                                    HISE Development for hire.
                                    www.channelrobot.com

                                    1 Reply Last reply Reply Quote 0
                                    • ?
                                      A Former User @Tania Ghosh
                                      last edited by

                                      @Tania-Ghosh Hint: Both your previous and next buttons are checking for the same condition

                                      @d-healey I really have to learn that single line if statement wizardry 😲

                                      @Lindon took me a minute 🤣

                                      Tania GhoshT 1 Reply Last reply Reply Quote 1
                                      • Tania GhoshT
                                        Tania Ghosh @A Former User
                                        last edited by Tania Ghosh

                                        @iamlamprey Thnaks i have modified the code. Now ERROR is

                                        Interface:! Line 17, column 24: API call with undefined parameter 0
                                        

                                        Line no 17 Giving me the error. ComboBox and Buttons working to change sampleMaps but it is throwing ERROR after reaching out bounds/wrap around.

                                        Content.makeFrontInterface(500, 400);
                                        const var Sampler1 = Synth.getSampler("Sampler1");
                                        const var prev = Content.getComponent("prev");
                                        const var next = Content.getComponent("next");
                                        
                                        
                                        
                                        
                                        const var smpmap = Sampler.getSampleMapList();
                                        const var cmbsmp = Content.getComponent("cmbsmp"); //ComboBox
                                        
                                        cmbsmp.set("items",smpmap.join("\n"));
                                        
                                        
                                        inline function oncmbsmpControl(component, value)
                                        {
                                        	Sampler1.loadSampleMap( smpmap[value-1]); //Throwing error
                                        };
                                        
                                        Content.getComponent("cmbsmp").setControlCallback(oncmbsmpControl);
                                        
                                        
                                        inline function onprevControl(component, value)
                                        {
                                        if (value)
                                        {
                                            if (cmbsmp.getValue < 1)  // > didn't work so <
                                            {
                                                cmbsmp.setValue(cmbsmp.getValue() - 1);
                                                cmbsmp.changed();
                                                
                                            }
                                            else
                                            {
                                                cmbsmp.setValue(4); // I have 4 Sample maps 
                                                cmbsmp.changed();
                                            } 
                                        }
                                        };
                                        
                                        Content.getComponent("prev").setControlCallback(onprevControl);
                                        
                                        
                                        
                                        inline function onnextControl(component, value)
                                        {
                                        if (value)
                                        {
                                            if (cmbsmp.getValue < 1) // Same here
                                            {
                                                cmbsmp.setValue(cmbsmp.getValue() + 1);
                                                cmbsmp.changed();
                                                
                                            }
                                            else
                                            {
                                                cmbsmp.setValue(4); // same here
                                                cmbsmp.changed();
                                            } 
                                            
                                            
                                        }
                                        };
                                         
                                        Content.getComponent("next").setControlCallback(onnextControl);
                                        

                                        Tania Ghosh

                                        ? ulrikU 2 Replies Last reply Reply Quote 0
                                        • ?
                                          A Former User @Tania Ghosh
                                          last edited by A Former User

                                          @Tania-Ghosh add whatever functionality to your combobox

                                          HiseSnippet 1478.3oc4X80aSbDD+t3boXCAAHdnOzJsxpOXKfH6P.pf1hwNInnR.q3PDuAaNu1dE2s6o81K0oH9tzOBUpeA3iDeCZmc267s9hiwXnkpV+Rt4e69alc1YlMcEbeRbLW33V9vSiHNtWxq2oL4nNivTlyda639Md97vi4GyGiXjwRTjfbBhLFGFEPbZeZDNNlz2w0sziUV3VdUG8u2+v13.Lymjyxw4HN0m7DZHUlysaqelFDrKtO4PZnk1a0ZOeNqCOfm.nqjWCmHr+qwCIOEqTaEOG201oOUxE8jXII1wc0179m1aD+WXF8OhFSOF.IPzzoGrPF16xC5qPr5amNinA86lEEhcbb85lGSJYhIW2aeZe5D94wlqnEfxsvNd3tx7fWykDdtVvaUC7tpWOeAMRlKQgsK5sGSRDCv9SeLYz0Yk+XUuNbPClbiP7qI6J.hIVT6NMZbSzVMZT+AqWY8JvAQrDcBVf5oO2EMQ+HRmmrwPhTCRMUspYxqVzP+viiCi.yx1Tkg7vHNCHpU0H9LVoS1NOaTB0VjquNC87zWILcGVuBkEPYDzfDlujxYHNy.AkoBdPM+L6tIrvAIj5qW4MqWoLHNlGP1HRPUK4ginwnXsOiBwQn.NjG2+9npnajZFrcuUuky2u2HVwVu0cvAAGCo50J.oyG4p.wG.2zAnZYzH32aL+Q8yrIJbcjRgZ0Q+jEuZUCorp0QOLiWbldm0tagZVGc+4nHrX3wUqq7jB6t+HLaHoes5OPK4syOpYN4mcLyJXb9QLUpvmyH1OfNiStPQrar.QLU3+SNhYx8mcDyJXXhXVApmxkjmwpUuxapTtxaqfJJZvfYJKc4fJAyTrpRuXdFVikDdLQjchjoHTxa5ZpWbwpo5ahIVJxY6wnxmEQRoyq5pjY75LoMbl3r1rx8QatZWaFpky5rE0cROyfx6kRUG9RpKtekzh6cTMgayG6PATdAOSRfiN7.8LWyMqEaQ6ubp8sSjRNSa8Zdp6HSrcR24EyVU1xLr846sMVhUMnRcFvAiHBIUcL4tM4DnyuocUYusIwuVxizdaZFJrxKh+NNeO2r0oSHPupEbmC5c6pnoRRHroa3YJLC0kaVYxmal+4sy+bqJJuuHVN+XWNNd2PKb7tWzhFuOODVDr.X6tBggg7Q0TBOgfELUC3EcizA57M52r2nWgWjM5riJ.Crv6mDfkSOEiZzsTAv0voFWPMR.KlJO0dztOhQaZLyQaZNqaAKHbupWWpzezrw6Jy.uPR4e23McPw081Yv.huLGrq5s6KV1oBWNn7sFnbMudRAACcOFlNSlFOU7xlP6ywr6QK7r6cED0rQ8n+pkZuqU6DHdIll6u2RuUOJjmvlZuRQ9AjHBVBG+V1bgVGbviE7jnhV89GpSVNT.s5fPgsfmwHPbWZ6icD733Af6nWqXaQcSDCUwpbNGPNgHhml2SSBgydniZPrpZjpp7yiIpyZp+9XofN1Va8tz3Pr97FdPiltYA5MKPe6BzaUf9NEnuaA56kSaBn6iiTYFpGTUn65WsXcWgEnKFbYKMaSGNYwMbltDikpSh4ZbY87sY73m09B71rO+Ev9zq2VZwf6G34ikyvXOp5nZG1IvcTfiBiWCZRO.mDHy3Nc8h84LdzHNi5O8MBHCe3PhvF6yzgdjTBWHy4b8VGPBH3XqqzeWqm.CsiESeQ+iJVzbwiEy675q8LvEoJxg9uQexR+uuO47BcWNsKIB1cg7e4myWxSWWGoZC+kBpGvSjP60rVbdPevdPueehc2vUTcXMzMTzJ.0iv5qI9S3WpvlYsNUBalIzwOao.eK8a8SNbKYl8UO9W.zTNvNkNFlvPAIn81+HnLD6K3uz27RJEVuflCfRl9+aYYu8UznlYugxyqwFMbBgdUuz2WcQ3VPDd11r4RXysWBa1ZIr4NKgM2cIr4dKgMe+bsQMlviRj7PSQRfQ2cLIVt6LIwpjyeA7fARUO
                                          
                                          Tania GhoshT 1 Reply Last reply Reply Quote 1
                                          • ulrikU
                                            ulrik @Tania Ghosh
                                            last edited by

                                            @Tania-Ghosh

                                            Content.makeFrontInterface(600, 500);
                                            const var Sampler1 = Synth.getSampler("Sampler1");
                                            const var prev = Content.getComponent("prev");
                                            const var next = Content.getComponent("next");
                                            
                                            const var smpmap = Sampler.getSampleMapList();
                                            const var cmbsmp = Content.getComponent("cmbsmp"); //ComboBox
                                            
                                            cmbsmp.set("items",smpmap.join("\n"));
                                            
                                            
                                            inline function oncmbsmpControl(component, value)
                                            {
                                            	Sampler1.loadSampleMap(smpmap[value-1]); //Throwing error
                                            };
                                            
                                            Content.getComponent("cmbsmp").setControlCallback(oncmbsmpControl);
                                            
                                            
                                            inline function onprevControl(component, value)
                                            {
                                                if (value)
                                                {
                                                    cmbsmp.getValue() == 1 ? cmbsmp.setValue(smpmap.length): cmbsmp.setValue(cmbsmp.getValue() - 1);
                                                    cmbsmp.changed();
                                                }
                                            };
                                            
                                            Content.getComponent("prev").setControlCallback(onprevControl);
                                            
                                            
                                            
                                            inline function onnextControl(component, value)
                                            {
                                                if (value)
                                                {
                                                    cmbsmp.getValue() == smpmap.length ? cmbsmp.setValue(1): cmbsmp.setValue(cmbsmp.getValue() + 1);
                                                    cmbsmp.changed();
                                                }
                                            };
                                             
                                            Content.getComponent("next").setControlCallback(onnextControl);
                                            

                                            Hise Develop branch
                                            MacOs 15.3.1, Xcode 16.2
                                            http://musikboden.se

                                            Tania GhoshT 1 Reply Last reply Reply Quote 2
                                            • First post
                                              Last post

                                            46

                                            Online

                                            1.7k

                                            Users

                                            11.7k

                                            Topics

                                            101.9k

                                            Posts