HISE Logo Forum
    • Categories
    • Register
    • Login

    Print array index

    Scheduled Pinned Locked Moved Scripting
    19 Posts 3 Posters 1.9k 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.
    • Christoph HartC
      Christoph Hart
      last edited by

      The array stores a reference to the UI, not the String name.

      var a = Knobs.indexOf(Knob2);
      

      should yield 2.

      Dan KorneffD 1 Reply Last reply Reply Quote 1
      • Dan KorneffD
        Dan Korneff @Christoph Hart
        last edited by

        @christoph-hart thank you!
        More noob questions on the way.... although I'm trying to figure them out on my own :)

        1 Reply Last reply Reply Quote 0
        • Dan KorneffD
          Dan Korneff
          last edited by

          This post is deleted!
          1 Reply Last reply Reply Quote 0
          • Dan KorneffD
            Dan Korneff
            last edited by

            I'm trying to get familiar with using an index to show/hide controls, but it's not clicking in my brain yet... Also my first time using radiogroups.
            As a test, I have a simple instrument with 2 samplers. The user interface has buttons (in radiogroup) to select each sampler, and a second set of buttons (in separate radiogroup) to show/hide controls of the samplers.

            0_1534634825552_simp.png

            All buttons have been put into associated arrays, I've created a Callback function for the buttons, and I'm using the onControl section to show/hide content.

            What I'm attempting to do is use the index of my SamplerSelectButtonArray to show/hide knobs in the GainSliderArray or PanSliderArray.
            Any thoughts are appreciated.

            Content.makeFrontInterface(500, 300);
            
            const var Sampler = Content.getComponent("Sampler");
            const var Sampler2 = Content.getComponent("Sampler2");
            const var Gain = Content.getComponent("Gain");
            const var Pan = Content.getComponent("Pan");
            const var SamplerGain = Content.getComponent("SamplerGain");
            const var SamplerPan = Content.getComponent("SamplerPan");
            const var Sampler2Gain = Content.getComponent("Sampler2Gain");
            const var Sampler2Pan = Content.getComponent("Sampler2Pan");
            
            //create arrays
            
            const var SamplerSelectButtonArray =      [
                                                    Content.getComponent("Sampler"),
                                                    Content.getComponent("Sampler2")
                                                ];
                                           
            const var ControlSelectButtonArray = [
                                                    Content.getComponent("Gain"),
                                                    Content.getComponent("Pan")
                                                ];
                                           
            const var GainSliderArray =         [
                                                    Content.getComponent("SamplerGain"),
                                                    Content.getComponent("Sampler2Gain")
                                                ];
                                                
            const var PanSliderArray =         [
                                                    Content.getComponent("SamplerPan"),
                                                    Content.getComponent("Sampler2Pan")
                                                ];
                                                
                                       
            inline function buttonCallback(component, value)
            {
                if(value)
                {
                    local index = SamplerSelectButtonArray.indexOf(component);
                        var y = ControlSelectButtonArray.indexOf(component);
                        
                    Console.print(index);
                    Console.print(y);
                }
            }
            
            
            for(a in SamplerSelectButtonArray)
                a.setControlCallback(buttonCallback);
                
            for(a in ControlSelectButtonArray)
                a.setControlCallback(buttonCallback);
            function onNoteOn()
            {
            	
            }
            function onNoteOff()
            {
            	
            }
            function onController()
            {
            	
            }
            function onTimer()
            {
            	
            }
            function onControl(number, value)
            {
            	 if(number == Gain)
                {
                    GainSliderArray.showControl(index);
                }
                else if (number == Pan)
                {
                    PanSliderArray.showControl(index);
                }
            }
            
            d.healeyD 1 Reply Last reply Reply Quote 0
            • d.healeyD
              d.healey @Dan Korneff
              last edited by d.healey

              @dustbro

              This line var y = ControlSelectButtonArray.indexOf(component); You should use local rather than var.

              This line GainSliderArray.showControl(index); Where is index coming from?

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

              Dan KorneffD 1 Reply Last reply Reply Quote 0
              • Dan KorneffD
                Dan Korneff @d.healey
                last edited by Dan Korneff

                @d-healey said in Print array index:

                This line GainSliderArray.showControl(index); Where is index coming from?

                I thought:

                local index = SamplerSelectButtonArray.indexOf(component);
                

                Is that only available in my buttonCallback function?

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

                  @dustbro Ya, that's why it's local :) post a HISE snippet, I think I will be able to help you more then.

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

                  1 Reply Last reply Reply Quote 0
                  • Dan KorneffD
                    Dan Korneff
                    last edited by

                    HiseSnippet 1609.3oc6ZE0aaaCDVJIrK1qtXcnOrWFfPwFfKVWpsSZ6FJFpSbZ5BVSiWbZ2vJ1JXjocHpLo.EsW7JJv90rm2Og9Sp+C1NRIYQ4X6Hk5zs0Y8PPHOdG+3cGO9QlzTvcIAAbgkcgCG5SrruLp0Pl73FGioLqc21xdUjjDHcpYs0PebP.osks8xOTI0tvJV5u2b+svdXlKIoKKqmxotjGQ6QkI81r92Q871A2lbHsmwn2n9ttbVCtGuOfjkQUr7wtu.2k7XrZXKgrrQOnMUxEsjX.NV1qrEu8vVGy+UV33eJMfdjGQ0npUKvPgcuC2qsBwpdsZbL0qcy3Ubfkk8kZlr9WNb8eMzdz1zQ8m3G9Hs.mDML8G1KMK3U0DdUxN7rMf2Jgv6pnVtBpuLQhBaeHZWljH5fgPfIrBGq0R+wpnFbXDL4Z8vufri.ZLRix2tRka5rdkJ23dkJVpHDHfv8.rvoEtmuGQ37MNwJ2kHav64yYPixWOR90U5cJspcVpUaL8ToTSUGkvwFeS7zGNHaxnZlShwXlr1yZJSFxT7GYYpqM84tVFl7Zwydoh25VtBBjK5fEB7vfIFXaQ7Htxs5Kkb1lpgA1W+8rREcx32YjYby4jkfjkrYoe9dm43L8DpIUv8ljm3s1IDFKeq8.5X5ExhWAvVdz1DQpn+bLAXN4BRu6Xt4KNkCAb0Wr9Ccrbt4NluYFQdiYJjx7nLhSm9LWIkybNRuioA1y6H375xtwX7lf6zqOA.2KCsHsS43dTMeYx73wcwdNTVaxIfCeZUlVSOf86jLE2XrUjJ9MLp.4j1Qe1VHoEXi.tGYMeAE72ZEMGbZwCiE8pREekpNaohc3hxXXMM0kSja.uVfJvpA7HmXZeZrwML5zVg4ynihgb1i4Rx9rx2n3KKVn3qNkjNcljnnY.VcSRphdmXFpUl0u2QDQbdRz3.VNooQglNMJSVdtgaSLFHmsKiJ22mvlF4Jqn8V.MqUi.ELTolj0UhHYE5bsn.WpBnnXokFwlbesxf5EiUu135GgjyP+KgzLtizEYmU8PHnHQNfbX4OspkPFEwyApMLwkQI08NeV3JHyZ+mOaLZgTaxv3I6tMVhUzsiRIfzDehPRUYf1aSF.2iIj7cAz1jfWH495blnxHfSNCYMmjLkWu9vQMdMut.2lxenf22erHTFruQZUxDT2c9MAQ4cIF2Ivv3+92NQiaUOaFOL4bJ1t9ujeaO0rWCmyOYNGOs9.yKlkMSmJq1vxOyvxVe+4wxiksmX6W+Cld88OO1N8tfSL8AFlt4Xl9zW.EtFLuceOrL8ciU.NR.TnO0kPUWzjEPkCMS+tPtvbVg6UQMoR2imLdWZB3EJNbQi2nmenD5Ac5.mqm.1UP67iW7u0fIT9zPn7wnVR3Nj8nrtwUwT3Iol1b3Ag7y7CB0TP7331sn+lwvdc8s5CtKQ5d+y55oZyd79rTyUDvOf3CWMFh9DSgGbftTy3Z8l6qyUNT.7l.Ogof8YDvsKMWiMD7ffNvxQaq.SQM6K5p7UI8b.Y.QDjtuG2uGD5YLhmh9is5f9mDPTgZp6dXofdh4n0yRkCw5v8mipswZo+FrO7iNeg5W+5F51gpTM+pTK+prd9UYi7qxsyuJ2I+pb2boRXh1dX+I91keP1X0BpCkpIdFibKZWCSq5wbW8njOMVMdbz+y8xmu6N2Y4rA2y3wYKDiwVTUz4ArAPwJnmvCa1lzA22SNpWSPtGmw8OlyntoqL.6z61kHLg9DWOaJkPgojdtV8Cf6EhCLJs8Y0eDbocrHcAub4JplcWwrBWeBJDtNph8NuePWX4+2SWXVttXFsNvrKj+KONeYjtTuihNx+TP8.deIPyH9ndDvGnEvAxkXxJXIESiv1UheMfVDVaci+B9hDVMlBgRX0XgVtwlBVaQ+t9Fv1KSXpSNzrf8.xIdlozA.SKEjfCzrBzA0dpCgVQ44f9ZgGPBqvDhmoRmZOpaSN3Lg8QphNn6kCtmF2288Ixmyvasf74BxmKHetf74BxmKHetf74BxmKHeNuIe9tXQ2C6J3O2M7uUkZouptG.AL8+faEP6oZ6TM9OOkJX0CN264ttpcUeIDtlrF0xsFqmaM1H2Zb6bqwcxsF2M2Z7UyPCEIiM6K48BqwZY82.KOFiSB
                    
                    1 Reply Last reply Reply Quote 0
                    • Dan KorneffD
                      Dan Korneff
                      last edited by

                      Almost got it figured out.... 😀

                      1 Reply Last reply Reply Quote 0
                      • Dan KorneffD
                        Dan Korneff
                        last edited by Dan Korneff

                        ugh... I'm so close, but my code is crashing hise :(
                        I can't post a snippit cause the xml crashes on open... but here's the code from the interface file:
                        Does anything look whack enough to bring down HISE?

                        Content.makeFrontInterface(500, 300);
                        
                        const var Sampler = Content.getComponent("Sampler");
                        const var Sampler2 = Content.getComponent("Sampler2");
                        const var Gain = Content.getComponent("Gain");
                        const var Pan = Content.getComponent("Pan");
                        const var SamplerGain = Content.getComponent("SamplerGain");
                        const var SamplerPan = Content.getComponent("SamplerPan");
                        const var Sampler2Gain = Content.getComponent("Sampler2Gain");
                        const var Sampler2Pan = Content.getComponent("Sampler2Pan");
                        
                        //create arrays
                        
                        const var SamplerSelectButtonArray =      [
                                                                Content.getComponent("Sampler"),
                                                                Content.getComponent("Sampler2")
                                                            ];
                                                       
                        const var ControlSelectButtonArray = [
                                                                Content.getComponent("Gain"),
                                                                Content.getComponent("Pan")
                                                            ];
                                                       
                        const var GainSliderArray =         [
                                                                Content.getComponent("SamplerGain"),
                                                                Content.getComponent("Sampler2Gain")
                                                            ];
                                                            
                        const var PanSliderArray =         [
                                                                Content.getComponent("SamplerPan"),
                                                                Content.getComponent("Sampler2Pan")
                                                            ];
                                                            
                        const var empty = []
                                                            
                                                            
                        // Gain page index
                        inline function showPageGain(pageIndex)
                        {
                            for(k in GainSliderArray[0]) 
                            {
                                k.showControl(pageIndex == 0);
                            }
                            
                            for(k in GainSliderArray[1]) 
                            {
                            
                                k.showControl(pageIndex == 1);
                            }
                            
                                for(k in empty) 
                            {
                            
                                k.showControl(pageIndex == 2);
                            }
                        }
                        
                        // Pan page index
                        inline function showPagePan(pageIndex)
                        {
                            for(k in PanSliderArray[0]) 
                            {
                                k.showControl(pageIndex == 0);
                            }
                            
                            for(k in PanSliderArray[1]) 
                            {
                            
                                k.showControl(pageIndex == 1);
                            }
                            
                                for(k in empty) 
                            {
                            
                                k.showControl(pageIndex == 2);
                            }
                        }
                                                   
                        inline function buttonCallback(component, value)
                        {
                            if(value)
                            {
                                local x = SamplerSelectButtonArray.indexOf(component);
                                local y = ControlSelectButtonArray.indexOf(component);
                                
                                            if(x == true)
                                        
                                    {
                                        showPageGain(y);}
                                    else
                                        {showPageGain(2);
                                    }
                                    
                                    
                                    if(y == true)
                                    {
                                        showPagePan(y);}
                                        
                                    else
                                        {showPagePan(2);
                                    }
                                
                            }
                        }
                        
                        
                        for(a in SamplerSelectButtonArray)
                            a.setControlCallback(buttonCallback);
                            
                        for(b in ControlSelectButtonArray)
                            b.setControlCallback(buttonCallback);
                        function onNoteOn()
                        {
                        	
                        }
                        function onNoteOff()
                        {
                        	
                        }
                        function onController()
                        {
                        	
                        }
                        function onTimer()
                        {
                        	
                        }
                        function onControl(number, value)
                        {
                        	
                        }
                        
                        
                        1 Reply Last reply Reply Quote 0
                        • Dan KorneffD
                          Dan Korneff
                          last edited by

                          looks like this is causing it:

                          if(x == true)
                                          
                                      {
                                          showPageGain(y);}
                                      else
                                          {showPageGain(2);
                                      }
                                      
                                      
                                      if(y == true)
                                      {
                                          showPagePan(y);}
                                          
                                      else
                                          {showPagePan(2);
                                      }
                          1 Reply Last reply Reply Quote 0
                          • Christoph HartC
                            Christoph Hart
                            last edited by

                            Which HISE version are you using? I remember fixing a crash a few weeks ago that happened when you try to iterate over an object that isn't iteratable (eg. a module reference obtained by Content.getComponent() et al.), which is exactly what you trying to do with:

                            for(k in GainSliderArray[0]) 
                            {
                                k.showControl(pageIndex == 0);
                            }
                            

                            This is not how the for(... in ...) loop works. You want to iterate over the array, not the first element of it, so you need to remove the array subscription from the iterated object:

                            for(k in GainSliderArray) 
                            {
                                k.showControl(pageIndex == 0);
                            }
                            
                            Dan KorneffD 1 Reply Last reply Reply Quote 0
                            • Dan KorneffD
                              Dan Korneff
                              last edited by

                              I've gotten much closer to the goal.... just one thing left. Switching between Sampler1 and Sampler2 doesn't update my display until I select the Gain/Pan button. Any suggestions?

                              HiseSnippet 1808.3oc6Z8+aSaDE2tslQxZPvD+v9kIYg1jR0JsIlBrIDhzlRYUiRiZJnIMwPGNWROUm6rNeoqYnJs+G1+H6OA9Sh+C1d2Y63yoNo1PJaikHDDe26Kededu676tPKNyEGDv3FlkNbnO1vbYq1CohiZdDhPM1caCyqZIvABaGisF5iBBvcLLMW7IxYMKsjg5y6dzVHOD0EmLjgwKXDW7SI8IhjQa03GIdd6f5fOjzWS5MZrqKi1j4wF.HYQqZF9H2iQ8vOCIEaAKCSqG2gHX71BD.GCyk1h0YX6iX+JMT9WPBHu1CKentQavPgCuCyqiDwxQMZdDwqSq3HNvvv7JsRh+ECi+aZsGoCYz3I7v0USXmngNeXtvzfWcc3UK+vyTCdKEBuaX01kS7EIyHw1masKUf4cQPJPGVgxZrvStlUSFHAUrVezw3c3vCizn5cqUaU66Tq1JOnR4JkgDAjtOAwsai566g41OzNV4dXQSVeeFEdn5shl+VR8NmVNWjZNiomrjZh5HmbL4aglr3vbYipo5DMYxV6o4xDQl.ejGW6LYe6jCm6D68JkWecWNFpEsQbNZXP5DKxy60CDB3Yvh+bkx1S3yEj1W88TSm2CUCIlBqlhPlrRuL6J91XOrqXKEEsoj+.ZR8YJb0ri6JJWlOKIC0KPDclP5TNyKKl3ClDtvb4LI29AD7RtstDks8Hcv7Tk.yvpfPdXlEAYFFNW9ggyGi3nNjsubCiYa4T1IiK8fv4RNJv88Ep8.dYd0MeRs95gu+2G54ylP6fOsRYB0iPw1cGPcEDF0N.ZmpELuTvpRA2UJGDruIzKcY7pGCJm4x2UhfxaRPzwqIsXzFcIFz9gOzV0JjTlyB+mLbfyzcPtbS8y4lJkOK7s2p1axCa.xcwjQ55tYOWLU6+gPESsnYbJIrmllxtafSOT0Md0wpPoq2.bB4P5VMdjw3g0WO.qpzIHncc6S0.ur7Gf5D6QXMUhZ+tI9UFRPvFv7vq4yIvxzSWQaM2n3E9ijNQR5Lo0rHvgVKPtPWQYiBszQZXGewr13rBiJqTiI8rIkRSlQRspCveTRA6Efk7X8aqqGn4XZ3nkWOSgyo0SPVwZJ7GFpYEjPI3EDi4HHkKlJTLJUHugnZq4rivDvGGfPIQRr8Ll.uOs5JkeS4RkO6byzsaVSEYPnTMqYkm+lOE0pRGz+0XdLCFIGbLzzmy0ZxmyU+X3tgDhlfL5tThXeeLcRm90HhEgyAe0HPAhJTmB9ZQmBNb4mAANraIqnElFJDCPyTc0B4P0xwp5DqaxEajG8uhk55PJresrf7dAbY3VrJUqXo0C43lXJdWyDKakz3y6mEtlkdGfue1XTf3jMLd9taiDH4cgDUN.kH9XtfHq9L2FeBwEGdyHkr1FGbrf4qpWhV0AjbNpXNMwk2pwvQO7VVCNpCg8DNaf+XYnbXesxpDGzvc14fn5tDiaGnY7e+Gxz3FMxmwCKNmfsa7KE21Sr58T4ZlkAsGJ+xpvWNIdWDyE0M3R4qVNs85EVHlCTMV4rxL+QNfkUNKtSavdiYvyeUeW2ZOVmAdHQ5agTBtnIfcrSccexqziFPDC0qktTtZx7B2aX0hHbOJa7tPF3EVoeYi2nK5sh0i61EZgKArKYsyOc4eqt5P4qBgxWX0Vvwn9DZu3sjj3IYCpYvUu6m6qduEG6wPcZS9MMwdaisF.zEO8n+YCkq1rOa.Mkuh.9AXeLR.Yer9jGbfZeiw05cORUqbHG5IBXB8I1mhAZWnGiM4rfftP3nrUf9TsFv6I4pjQN.eBlGjdrmMnOj5oTnKO45Q4ased.VlpIt6gDbxo5Rq7RsCQpz82X4rwZo+bx9ve08ake86apdNTk5EWEmhqxcJtJaTbUtawU4dEWk6WHUBKz1C4m4uRzmku1SA0gMnwdZRtEomlokinupdTwmBqZ+LT+m62X5i26cVLev8B9YvJEiw1DY14wzSfMqfQBeYy13tnAdhQipCx8XTl+QLJwM8NCvJ8d8vbcnmY7roP.aLkLxMab.1CiBz1Z6qa7T3ToHd5M7JDUTO+TwzRWeoUHbska1a+oQ6BK9+91ElF0E28pM3ct3e444ksTa0aKaG4eJnd.af.ZyH9U8VP+.sgdfbw5cErfrSivmqEez91XZG0C+E7IZx5wsPHmrd7jFtwlBhsnuqNNq4hXp7MGptf8flS7zKoCfNsjPBdglQfJo1W9RnkjLGLVazI3vcXBwyDamZOhaKFPlv5H4lNVOn.8dpc30OkZ9bJr07lOm2747lOm2747lOm2747lOm2747lOm0Me9wHn6ib4rW4F9COIC8qpFAP.U8ek3RV6Ie1td7u0jLY0Gdu2qbckqptMjtxVCmBqwcJrFaTXMtag03dEVi6WXM9tongrIiMGHX8C2i0v3uoArm2C
                              
                              Content.makeFrontInterface(500, 300);
                              
                              const var Sampler = Content.getComponent("Sampler");
                              const var Sampler2 = Content.getComponent("Sampler2");
                              const var Gain = Content.getComponent("Gain");
                              const var Pan = Content.getComponent("Pan");
                              const var SamplerGain = Content.getComponent("SamplerGain");
                              const var SamplerPan = Content.getComponent("SamplerPan");
                              const var Sampler2Gain = Content.getComponent("Sampler2Gain");
                              const var Sampler2Pan = Content.getComponent("Sampler2Pan");
                              
                              //create arrays
                              
                              const var allbuttons = [
                                                      Content.getComponent("Sampler"),
                                                      Content.getComponent("Sampler2"),
                                                      Content.getComponent("Gain"),
                                                      Content.getComponent("Pan")
                                                      ];
                              
                              const var SamplerSelectButtonArray =      [
                                                                      Content.getComponent("Sampler"),
                                                                      Content.getComponent("Sampler2")
                                                                  ];
                                                             
                              const var ControlSelectButtonArray = [
                                                                      Content.getComponent("Gain"),
                                                                      Content.getComponent("Pan")
                                                                  ];
                                                             
                              const var Samp1GainSliderArray =         [
                                                                      Content.getComponent("SamplerGain")
                                                                  ];
                                                                  
                              const var Samp2GainSliderArray =         [
                                                                      Content.getComponent("Sampler2Gain")
                                                                  ];
                                                                  
                              const var Samp1PanSliderArray =         [
                                                                      Content.getComponent("SamplerPan")
                                                                  ];
                                                                  
                              const var Samp2PanSliderArray =         [
                                                                      Content.getComponent("Sampler2Pan")
                                                                  ];
                                                                  
                              const var empty = []
                                                                  
                                                                  
                              // Gain page index
                              inline function showPageGain(pageIndex)
                              {
                                  for(k in Samp1GainSliderArray) 
                                  {
                                      k.showControl(pageIndex == 0);
                                  }
                                  
                                  for(k in Samp2GainSliderArray) 
                                  {
                                  
                                      k.showControl(pageIndex == 1);
                                  }
                                  
                              
                              }
                              
                              // Pan page index
                              inline function showPagePan(pageIndex)
                              {
                                  for(k in Samp1PanSliderArray) 
                                  {
                                      k.showControl(pageIndex == 0);
                                  }
                                  
                                  for(k in Samp2PanSliderArray) 
                                  {
                                  
                                      k.showControl(pageIndex == 1);
                                  }
                                  
                              
                              }
                                                         
                              inline function buttonCallback(component, value)
                              {
                                  if(value)
                                  {
                                      //set variable x 
                                      var x = SamplerSelectButtonArray.indexOf(component);
                              Console.print(x);
                                      
                                  }
                              }
                              for(a in allbuttons)
                                  a.setControlCallback(buttonCallback);
                              
                                  
                              
                              inline function onGainControl(component, value)
                              {
                              	if(value)
                                  {
                                      showPageGain(x);}
                                  else if(1-value)
                                    {  showPageGain(2);
                                  }
                              };
                              
                              Content.getComponent("Gain").setControlCallback(onGainControl);
                              
                              
                              inline function onPanControl(component, value)
                              {
                              		if(value)
                                  {
                                      showPagePan(x);}
                                  else if(1-value)
                                    {  showPagePan(2);
                                  }
                              };
                              
                              Content.getComponent("Pan").setControlCallback(onPanControl);
                              
                              
                              
                              
                              1 Reply Last reply Reply Quote 0
                              • Dan KorneffD
                                Dan Korneff @Christoph Hart
                                last edited by

                                @christoph-hart The build is May3 2018. I'll update to the latest today.

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

                                  @dustbro The latest is in the develop branch but there might be bugs.

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

                                  Dan KorneffD 1 Reply Last reply Reply Quote 1
                                  • Dan KorneffD
                                    Dan Korneff
                                    last edited by

                                    Finally figured it out!

                                    Content.makeFrontInterface(500, 300);
                                    
                                    const var Sampler = Content.getComponent("Sampler");
                                    const var Sampler2 = Content.getComponent("Sampler2");
                                    const var Gain = Content.getComponent("Gain");
                                    const var Pan = Content.getComponent("Pan");
                                    const var SamplerGain = Content.getComponent("SamplerGain");
                                    const var SamplerPan = Content.getComponent("SamplerPan");
                                    const var Sampler2Gain = Content.getComponent("Sampler2Gain");
                                    const var Sampler2Pan = Content.getComponent("Sampler2Pan");
                                    
                                    //create arrays
                                    
                                    
                                    
                                    const var SamplerSelectButtonArray =      [
                                                                            Content.getComponent("Sampler"),
                                                                            Content.getComponent("Sampler2")
                                                                        ];
                                                                   
                                    const var ControlSelectButtonArray = [
                                                                            Content.getComponent("Gain"),
                                                                            Content.getComponent("Pan")
                                                                        ];
                                                                   
                                    const var Samp1GainSliderArray =         [
                                                                            Content.getComponent("SamplerGain")
                                                                        ];
                                                                        
                                    const var Samp2GainSliderArray =         [
                                                                            Content.getComponent("Sampler2Gain")
                                                                        ];
                                                                        
                                    const var Samp1PanSliderArray =         [
                                                                            Content.getComponent("SamplerPan")
                                                                        ];
                                                                        
                                    const var Samp2PanSliderArray =         [
                                                                            Content.getComponent("Sampler2Pan")
                                                                        ];
                                                                        
                                    const var empty = []
                                                                        
                                                                        
                                    // Gain page index
                                    inline function showPageGain(pageIndex)
                                    {
                                        for(k in Samp1GainSliderArray) 
                                        {
                                            k.showControl(pageIndex == 0);
                                        }
                                        
                                        for(k in Samp2GainSliderArray) 
                                        {
                                        
                                            k.showControl(pageIndex == 1);
                                        }
                                        
                                        
                                        
                                    
                                    }
                                    
                                    // Pan page index
                                    inline function showPagePan(pageIndex)
                                    {
                                        for(k in Samp1PanSliderArray) 
                                        {
                                            k.showControl(pageIndex == 0);
                                        }
                                        
                                        for(k in Samp2PanSliderArray) 
                                        {
                                        
                                            k.showControl(pageIndex == 1);
                                        }
                                        
                                    
                                    }
                                    
                                    
                                    
                                    inline function ControlsCallback(component, value)
                                    {
                                        if(value)
                                        {
                                    
                                    //set variable y 
                                    var y = ControlSelectButtonArray.indexOf(component);
                                    
                                            if (y == 0)
                                               { showPageGain(x);}
                                               else (showPageGain(3));
                                               
                                               if (y == 1)
                                            {
                                                showPagePan(x);
                                            }
                                            else (showPagePan(3));
                                        }
                                    }
                                    for(a in ControlSelectButtonArray)
                                        a.setControlCallback(ControlsCallback);
                                        
                                        
                                                               
                                    inline function SamplerCallback(component, value)
                                    {
                                        if(value)
                                        {
                                                    //set variable x 
                                    var x = SamplerSelectButtonArray.indexOf(component);
                                    
                                            
                                    
                                          if (y == 0)
                                            {
                                                
                                                showPageGain(x);
                                            }
                                            else (showPageGain(3));
                                            
                                        if (y == 1)
                                            {
                                                showPagePan(x);
                                            }
                                            
                                            else (showPagePan(3));
                                        }
                                    }
                                    for(a in SamplerSelectButtonArray)
                                        a.setControlCallback(SamplerCallback);
                                    1 Reply Last reply Reply Quote 1
                                    • Dan KorneffD
                                      Dan Korneff @d.healey
                                      last edited by

                                      @d-healey Overall functionality of the newest version is quite more stable than what I was using. Keeping my eyes open for bugs as you suggested.

                                      1 Reply Last reply Reply Quote 1
                                      • Christoph HartC
                                        Christoph Hart
                                        last edited by

                                        Good to know ;)

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

                                        19

                                        Online

                                        1.7k

                                        Users

                                        11.8k

                                        Topics

                                        102.3k

                                        Posts