HISE Logo Forum
    • Categories
    • Register
    • Login

    Simple Filter Selection ComboBox

    Scheduled Pinned Locked Moved General Questions
    13 Posts 6 Posters 594 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.
    • orangeO
      orange @DabDab
      last edited by orange

      @dabdab Here is an example of SVF HP & SVF LP filter selections from the Hise Filter Module (non-scriptnode version). I used if/else conditions for this, but alternatively you can use switch/case too.

      HiseSnippet 979.3oc0WssaaTDFdVmLH1EbUKBUQk5EixUNRgHaZoEIT.W6XCVjj5TGp5EHUMd1wwixryrr6rs0spOBbGOP7nvi.uAv+rG7tor0wXoJQVKY6+i9a9ONdbjlwii0QHG2yVDxQNeJdxBkYd+4TgBM5PjyMvGSiM7HRFqdKBowwbejiyV+fkgi61nzm+566QkTEiWxBgdpVv3GIBDlRti69SBobH0melHnh12u6HlV0WK0I.d1B2FERYWPOmeB0pVCLx4iF3KL5nIFpgGib1tm1ewj45Wpxz+ohXwTI2RzAMAbTF6gZouEwVtn9yER+wEm6XD3kwkQgsxhBeN9XguXI+xnwMSEPJsnZ7vowpfWmpvq85COmJva6L3cK7DVjHzTJwhsOAORAIpYTHETEVY5hZ76Mv80fFJy9AzK3Ci.hkVz5dsauGAda2usom8EjJhMjWPiHCERPoNjCHokF6eN2LX1LNyzZmbQ6jYToI80AS08zuJS9DtDzVGAdn..fO.cB0Jfn0N0q9NEPQnjBEmLKQwLBshXKRpy.qyizxVrBOuG.FYBe2lduoomqXFoUJM4fCHc.ltD3I+HreL27HiIRLMwvaUv7XsOeOxCs.IUY3CtLl6l800z7GT07lduM8T8eKPXce9oqOUJmB8EsthnPQvK6UkX2IZC+wpV658FOWu25QdWQylUqrb2J4Q0J11JGsJCaoRBlxiJRIEJB0zWtoA+9aZp1SyxheUTTqFoDlGGxUuuVITdP21TkiJPUSZK0MyaoJhoHAz67E35CwnzyP0QenedzgTCsvyvOB7CGxiLB6Yx4P9Kf4fYMut3C4wWXzgo5lm5gQaaBNdUIFlzcwRh+3W5FPAYXmF.kvvC.Pba7ONlLbzQmM3IdGs7av33+03EXHm1OQRMWdxmcbet.HydoQL1wHpXgYQ0XxGjwgqKbuEdrvvlWOdaTCdgT2GZ7luboINa7YIX2FO7Ya5lj5Wz09p1jjut+yvi0xEgy0JAKq1JEPt37QXqXeOBMLh+qIbEqHJ9mu969stmVsDvN.rj9tcOMgJemndOQnVRiVqLxVqWX3J1wupxlaiWdnHWip0sYlqO38N37jNwFru9f6afO8+Af8I5DiPc9wT31F1Y7mjDLAtwLiC.UofqmTL2OmtskNcCAW4mR72vStvNVZmbgcJDhBnrH8yYY6Hs8OebJG.Spz6h6B+o.flzoXSHF2d+1n.3twOmwrCz9R.60ayWsA1buMvl6uA170afMOXCr4gafMeyJsw92RdThQGjUaBLFOH8FINNCTTnJKsLE8O.XunxRB
      

      develop Branch / XCode 13.1
      macOS Monterey / M1 Max

      1 Reply Last reply Reply Quote 3
      • NatanN
        Natan
        last edited by

        @DabDab My Version

        HiseSnippet 1184.3oc0W82aaTCF1WaMhbPl1PHDveYk+JUKzjvZWAlFjlzFVDscoMkJj.zjycNMV0w91c9FMapeD36DeEPhO.7QXeCfWe9tbW2R6JQZSzDon752e3G+XeOu95Gp7XQQpPjSoilFvPNeHdvTodbmwTtD0aajysv6QizrPhcn1SCnQQLejiyxeuY.mRqfR97xuqMUPkdr7gPniUbO1t7Ibc9n8a8CbgnK0mcDeRgnWuUOOkriRnhA7rLtAJf5cJ8D19TSXKgQNu2N9bsJbflpYQHmUZq7mNXr52j13OlGwGJXFilnAPgrC2UI7MH1LJpyXtvue15NBAUoeNKrrkE9X7dbe9rwyYiam3fjmQQ9vYoqBdMKBuFWe34T.dqXg2cvC7B4A5bOFr8A3dRXiZDE1BJBKarnk97UvcTPDR8ZSnmx5FBFyxn58ZznFA9Y0GT109E1LhzjmQCIc4BHrljGRRNbr1IL8NiFw7zUqj5phMs50s1DyVVD4tjiFy3gjiohX1qWPaPOj7hxtD3i82J6FT4aHecMRkGY9SS.UoNFbbWRhy6WyZjDvly72l+zXpuMDHqLaaYp8pAQNj8bvwFPf6R88ALutItMlUtsDh9.GZFbcHnC4xS1S4aL2DJ14O3hTTG0jgp1pyrqrALAvNpPXwkQ4.mAwDnjfQ0JyO7JYje851BNTcFomlMIpr67yXsHFTMtIjJ.HgBPpWuifAHRvizkcGAfn5oDtrHmuZY2TN+RpJPHlos5oI0aKeexDkOiHgjIZUZoOO6fhAsTgXH7zJoqJbFzK6xkBtjQFEK8zbkjXd7ddSngjBUhpdYLTMfTgyL4.M8blY8tkVGxGFqYUyFD1WX0Zb2BqvedVkLDuYsbD6Lc0U+UCCa269uswXl3TTlsVq9FVM4OIk8s.OruRydrr5ptuvsj64tjW00nQy0WZoErv451HnFdUIVUFOYHKLidyBDTVtnzE9xktJpr5Y4vBApj8jb8iCXxKSPCkR7FosTTAgpSD1tcpvVFuh3fB1mhmOMiRVCEa.g9wdaS0zrJCSBLwArPM2rlb1l8LnajUBsDdaVzoZUPRroa+PClEAGmkigAslNy3O9kVIOXhbN.6taf6iBbsRXtVwK2YZQtyjpbuf9jalxjapXjapJDZBElTriaR+zWq+.zkR4GKn5K15xzuN0Abn3B8HL8AjQb8zhz4ak9YWW3dGbet1a77w6RyAuvt9aa7ld6fxXa2ubvtBt6O8N9p.o2W6iv8UhoAiURtm8XYBfJgS0FuhKrgPcCYOMlI8xXw+94e6u25fhGALJq41UZcPLUjy5j+5k+4Vs4AJAM7Zsir70SV4MbIsq5XymfmsnH2fNqa1Yt4f2OCmtoSLj8MGbeK7A+O.rGph0FYbJbMFiJ99wSF.uxiGC.pTxDl1uNKYZTZsaXrSZtvj9IF+C7I0YSisSpylYNg9Cdgpm3YauZd948SFAvjL4koJAuUGXSZl0DEiarVCzD3kadhmmQP6K.rO+b9xEHm6s.4r9BjyFKPN2eAxYyEHmu5Jyw7dkaEqUSrmMgA5uSxkYbb1QRgSYIGSQ+Kj6lRcA
        
        1 Reply Last reply Reply Quote 1
        • musictopM
          musictop @DabDab
          last edited by

          @dabdab This is the solution I use on my projects. I have found it here in forum sometime ago.

          HiseSnippet 1031.3oc0W0saaaCElxIrX1aoncXn.6NBicgLfWp7Va2OECMwNwaFqI0YNsX.CCEzRzwDlhTShpKFA4IYOG6sY69c4dC1NThRxI0vwy.aXQW4yu7iGdNejdXrxmkjnhQN0OcdDC47d3Qyk5o8lR4RzfCPN2EeDMQyhI4p5NOhljvBPNNa80FEN02Fk88mOqKUPk9rJUHzqTbe1y4gbck1g68sbgnOMfcJObAuezdC7UxdJgJEvyVXOTD0eF8L1wTia0vHm6bX.WqhGooZVBxY6tpf4ilp9YYt+uhmvGKXFgNnQPhxU2WIBLH1nE0aJWDLrXemffrLrpJrUdU3CvGwC3k5qpF2Ky.oJhEqGN0VE75byvyaYvyYA3scN7tOdjeLORWYwfs2EOPBGTSnvQvhvJ2WTsesFtmB7Pp2MjNi0OFDJiv8IddsIO1yq0S2owNMfChDM4MzXRet.boC4qHYMF6dFSe3jILesaSqolWOjPU.KAB3hlcHCUBF44Ca9kjuncg32XD6309xqEWOU3XUW04lEq.ovxApiTRPvsYoG10rTd2DFXlqYgIMaSZBlIO7g8DLHqBdh136DULwcFgKywWqcZbwNMHvWURnAACfT3NKK78CBxbkHg9OhVYyzkljwkBtjQljJ80bkjX5asYwf7Xkv0u.1sgMmHkUsf15lAy6q0w7woZlagxifUrcND+gxTXJCFjcJ6bsaqezr4uzV.tgxjYQrHpGUHFCSTtuMXa8zE1IGqzrWHca03hF0abYCx0MMYxRsYSkfEuTylY83UEnqLMbLKtnZU3Hzze0op6rdSU94UlEbTIGH45WDwrxqlV.YKslIPKBAW0Yye2yN+UTFQ7.y3WYUEksEVfGbOzKGb.USKRFjWXshXwZtYK4b.6M.OY9vcc7ArjYZUTlu1yTXaulK84HGryYvZN27Ce3GYSEHmGfaTNN1nbRDERyhnVFy7awz.7cpfTAUeURPCyu0.bFdE1FCihLgqmu3MC+CXF8Vah60Et2GOjq8mtb7VaI3ENk92Fu16Y1AmykVA1sw8+9+iuTwdy+6igVh4QSURteNYTFfpisLSq3peDpeL6mRYR+Eph+wyNYwV.CuVk7Gs2IoTQUUm76+xuseWdjRPiWqSjsVuxvMbc+pZad.tbSQtE0qaNYt8f2ODaOzIlh8sGbeW7I+O.remJUykmcDEdDggE+3zvQvim8Y.PkRlHofY2J6YjM.ZDSFjI7Wvm0XGiri0XmBiv8C9wpW6meCnY94cxz.XRl8r75v+O.jIkW5gwd65gBgmI+ZeeCg1GCXe4w7IaPLe5FDyi1fXd7FDyS1fX9rMHlOekwX9GJ6mpUg48lfhgGl83CGmCkTnKKqME82LJ6MaG
          

          my website: https://musictop69.wixsite.com/ilirbajri
          https://musictop69.wixsite.com/creatools
          https://musictop69.wixsite.com/orchestools

          1 Reply Last reply Reply Quote 2
          • DabDabD
            DabDab
            last edited by DabDab

            @orange @Natan @musictop ... Thank you so much. Every snippet that you guys have posted is nice study material to me.

            Bollywood Music Producer and Trance Producer.

            1 Reply Last reply Reply Quote 0
            • DabDabD
              DabDab
              last edited by DabDab

              @orange I have tried with Switch Case..

              Content.makeFrontInterface(500, 400);
              const var Filter1 = Synth.getEffect("Filter1");
              const var ComboBox1 = Content.getComponent("ComboBox1");
              
              
              inline function onComboBox1Control(component, value)
              {
                  
                  switch(value)
                  {
                      case 1:
                      Filter1.setAttribute(Filter1.Mode, 6);
                      case 2:
                      Filter1.setAttribute(Filter1.Mode, 7);
                      case 3:
                      Filter1.setAttribute(Filter1.Mode, 8);
                      case 4:
                      Filter1.setAttribute(Filter1.Mode, 15);
                      
                  }
              
              };
              
              Content.getComponent("ComboBox1").setControlCallback(onComboBox1Control);
              

              Bollywood Music Producer and Trance Producer.

              d.healeyD LindonL 2 Replies Last reply Reply Quote 1
              • d.healeyD
                d.healey @DabDab
                last edited by

                @DabDab Your snippet doesn't work here.

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

                DabDabD 1 Reply Last reply Reply Quote 0
                • DabDabD
                  DabDab @d.healey
                  last edited by

                  @d-healey Is it a bug?

                  Bollywood Music Producer and Trance Producer.

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

                    @dabdab The other snippets in this thread are working, it was just the one you posted that didn't

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

                    DabDabD 1 Reply Last reply Reply Quote 1
                    • DabDabD
                      DabDab @d.healey
                      last edited by

                      @d-healey May be I changed some HISE Source code.. that's why..
                      I will post my snippets from another (untouched version) HISE in future.

                      Bollywood Music Producer and Trance Producer.

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

                        @dabdab said in Simple Filter Selection ComboBox:

                        @orange I have tried with Switch Case..

                        Content.makeFrontInterface(500, 400);
                        const var Filter1 = Synth.getEffect("Filter1");
                        const var ComboBox1 = Content.getComponent("ComboBox1");
                        
                        
                        inline function onComboBox1Control(component, value)
                        {
                            
                            switch(value)
                            {
                                case 1:
                                Filter1.setAttribute(Filter1.Mode, 6);
                                case 2:
                                Filter1.setAttribute(Filter1.Mode, 7);
                                case 3:
                                Filter1.setAttribute(Filter1.Mode, 8);
                                case 4:
                                Filter1.setAttribute(Filter1.Mode, 15);
                                
                            }
                        
                        };
                        
                        Content.getComponent("ComboBox1").setControlCallback(onComboBox1Control);
                        

                        read the documentation about switch statement... specifically the

                        break;

                        statement

                        HISE Development for hire.
                        www.channelrobot.com

                        DabDabD 1 Reply Last reply Reply Quote 1
                        • DabDabD
                          DabDab @Lindon
                          last edited by

                          @lindon Yes.. You are right. break is the best practice. But HISE was not throwing any error without break so I skipped it.

                          Bollywood Music Producer and Trance Producer.

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

                            @dabdab You won't get an error, because sometimes you don't need break but when you do need it and don't use it things won't work how you expect. So unless you are leaving it out because you want cases to fall through it is better to always use break (or sometimes return).

                            Here's an example where breaks are placed in such a way to create groups of conditions

                            const myValue = 1;
                            
                            switch(myValue)
                            {
                            	case 0:
                            	case 1:
                            		Console.print("My value is 0 or 1");
                            		break;
                            
                            	case 20:
                            	case 30:
                            		Console.print("My value is 20 or 30");
                            		break;
                            }
                            

                            Here's an example where no breaks are used so you can tell which range a values falls within.

                            const myValue = 21;
                            
                            switch (true)
                            {
                            	case (myValue > 10):
                            		Console.print("My value is > 10");
                            		
                            	case (myValue > 20):
                            		Console.print("My value is > 20");
                            		
                            	case (myValue > 30):
                            		Console.print("My value is > 30");
                            }
                            

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

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

                            23

                            Online

                            1.7k

                            Users

                            11.9k

                            Topics

                            103.4k

                            Posts