HISE Logo Forum
    • Categories
    • Register
    • Login

    hidden buttons show up randomly after Compile

    Scheduled Pinned Locked Moved Scripting
    3 Posts 2 Posters 740 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.
    • Dan KorneffD
      Dan Korneff
      last edited by Dan Korneff

      I need some help with a script I'm working on for a mixer. I've put components into Arrays as @Christoph-Hart suggested, which is really simple to show/hide large amounts of controls in one go. And I've created empty arrays to hide these elements when they are not in use.
      In one instance (while a page is already being shown) I need to show/hide components from other arrays that I've setup. This script I have here seems to work, but if I reopen the project preset or hit Compile, elements in a certain array are shown. If I hit compile again, they go away. Same thing happens when I export to VST.
      The array/components in question are in const var Rack = []
      I've created an array called TomEmpty which is indexed at (3). and I use showTom(3); to hide the other elements throughout the script. What looks suspect to you guys?

      Content.makeFrontInterface(1000, 700);
      
      //main fader const var
      const var Image1 = Content.getComponent("Image1");
      const var FaderSelect1 = Content.getComponent("FaderSelect1");
      const var FaderSelect2 = Content.getComponent("FaderSelect2");
      const var FaderSelect3 = Content.getComponent("FaderSelect3");
      const var FaderSelect4 = Content.getComponent("FaderSelect4");
      const var FaderSelect5 = Content.getComponent("FaderSelect5");
      const var FaderSelect6 = Content.getComponent("FaderSelect6");
      const var FaderSelect7 = Content.getComponent("FaderSelect7");
      const var FaderSelect8 = Content.getComponent("FaderSelect8");
      const var Fader1 = Content.getComponent("Fader1");
      const var Fader2 = Content.getComponent("Fader2");
      const var Fader3 = Content.getComponent("Fader3");
      const var Fader4 = Content.getComponent("Fader4");
      const var Fader5 = Content.getComponent("Fader5");
      const var Fader6 = Content.getComponent("Fader6");
      const var Fader7 = Content.getComponent("Fader7");
      const var Fader8 = Content.getComponent("Fader8");
      
      // ch1 small fader
      const var Image2 = Content.getComponent("Image2");
      const var Button1 = Content.getComponent("Button1");
      const var Ch1Aux = Content.getComponent("Ch1Aux");
      const var Ch1Room = Content.getComponent("Ch1Room");
      const var Ch1Oh = Content.getComponent("Ch1Oh");
      const var KickInPan = Content.getComponent("KickInPan");
      const var KickOutPan = Content.getComponent("KickOutPan");
      const var KickSubPan = Content.getComponent("KickSubPan");
      const var KickComPan = Content.getComponent("KickComPan");
      const var KickInSolo = Content.getComponent("KickInSolo");
      const var KickOutSolo = Content.getComponent("KickOutSolo");
      const var KickSubSolo = Content.getComponent("KickSubSolo");
      const var KickComSolo = Content.getComponent("KickComSolo");
      const var KickInCut = Content.getComponent("KickInCut");
      const var KickOutCut = Content.getComponent("KickOutCut");
      const var KickSubCut = Content.getComponent("KickSubCut");
      const var KickComCut = Content.getComponent("KickComCut");
      const var KickInPhase = Content.getComponent("KickInPhase");
      const var KickOutPhase = Content.getComponent("KickOutPhase");
      const var KickSubPhase = Content.getComponent("KickSubPhase");
      const var KickComPhase = Content.getComponent("KickComPhase");
      const var KickSampPhase = Content.getComponent("KickSampPhase");
      const var KickSampIn = Content.getComponent("KickSampIn");
      
      // ch2 small fader
      const var Image3 = Content.getComponent("Image3");
      const var Button2 = Content.getComponent("Button2");
      const var Ch2Aux = Content.getComponent("Ch2Aux");
      const var Ch2Room = Content.getComponent("Ch2Room");
      const var Ch2Oh = Content.getComponent("Ch2Oh");
      const var SnUpPan = Content.getComponent("SnUpPan");
      const var SnDnPan = Content.getComponent("SnDnPan");
      const var SnComPan = Content.getComponent("SnComPan");
      const var SnUpSolo = Content.getComponent("SnUpSolo");
      const var SnDnSolo = Content.getComponent("SnDnSolo");
      const var SnComSolo = Content.getComponent("SnComSolo");
      const var SnUpCut = Content.getComponent("SnUpCut");
      const var SnDnCut = Content.getComponent("SnDnCut");
      const var SnComCut = Content.getComponent("SnComCut");
      const var SnUpPhase = Content.getComponent("SnUpPhase");
      const var SnDnPhase = Content.getComponent("SnDnPhase");
      const var SnComPhase = Content.getComponent("SnComPhase");
      const var SnSampPhase = Content.getComponent("SnSampPhase");
      const var SnSampIn = Content.getComponent("SnSampIn");
      
      // ch3 small fader
      const var Image4 = Content.getComponent("Image4");
      const var Button3 = Content.getComponent("Button3");
      const var Ch3Aux = Content.getComponent("Ch3Aux");
      const var Ch3Room = Content.getComponent("Ch3Room");
      const var Ch3Oh = Content.getComponent("Ch3Oh");
      const var RackUpPan = Content.getComponent("RackUpPan");
      const var RackDnPan = Content.getComponent("RackDnPan");
      const var RackComPan = Content.getComponent("RackComPan");
      const var RackUpSolo = Content.getComponent("RackUpSolo");
      const var RackDnSolo = Content.getComponent("RackDnSolo");
      const var RackComSolo = Content.getComponent("RackComSolo");
      const var RackUpCut = Content.getComponent("RackUpCut");
      const var RackDnCut = Content.getComponent("RackDnCut");
      const var RackComCut = Content.getComponent("RackComCut");
      const var RackUpPhase = Content.getComponent("RackUpPhase");
      const var RackDnPhase = Content.getComponent("RackDnPhase");
      const var RackComPhase = Content.getComponent("RackComPhase");
      const var Fl2ComPhase = Content.getComponent("Fl2ComPhase");
      const var Fl1UpPan = Content.getComponent("Fl1UpPan");
      const var Fl1DnPan = Content.getComponent("Fl1DnPan");
      const var Fl1ComPan = Content.getComponent("Fl1ComPan");
      const var Fl1UpCut = Content.getComponent("Fl1UpCut");
      const var Fl1DnCut = Content.getComponent("Fl1DnCut");
      const var Fl1ComCut = Content.getComponent("Fl1ComCut");
      const var Fl1UpSolo = Content.getComponent("Fl1UpSolo");
      const var Fl1DnSolo = Content.getComponent("Fl1DnSolo");
      const var Fl1ComSolo = Content.getComponent("Fl1ComSolo");
      const var Fl1UpPhase = Content.getComponent("Fl1UpPhase");
      const var Fl1DnPhase = Content.getComponent("Fl1DnPhase");
      const var Fl1ComPhase = Content.getComponent("Fl1ComPhase");
      const var Fl2UpPan = Content.getComponent("Fl2UpPan");
      const var Fl2DnPan = Content.getComponent("Fl2DnPan");
      const var Fl2DComPan = Content.getComponent("Fl2ComPan");
      const var Fl2UpCut = Content.getComponent("Fl2UpCut");
      const var Fl2DnCut = Content.getComponent("Fl2DnCut");
      const var Fl2ComCut = Content.getComponent("Fl2ComCut");
      const var Fl2UpSolo = Content.getComponent("Fl2UpSolo");
      const var Fl2DnSolo = Content.getComponent("Fl2DnSolo");
      const var Fl2ComSolo = Content.getComponent("Fl2ComSolo");
      const var Fl2UpPhase = Content.getComponent("Fl2UpPhase");
      const var Fl2DnPhase = Content.getComponent("Fl2DnPhase");
      
      const var RackSel = Content.getComponent("RackSel");
      const var Fl1Sel = Content.getComponent("Fl1Sel");
      const var Fl2Sel = Content.getComponent("Fl2Sel");
      const var TomSampPhase = Content.getComponent("TomSampPhase");
      const var TomSampIn = Content.getComponent("TomSampIn");
      
      // ch4 small fader
      const var Image5 = Content.getComponent("Image5");
      const var Button4 = Content.getComponent("Button4");
      const var Ch4Aux = Content.getComponent("Ch4Aux");
      const var Ch4Room = Content.getComponent("Ch4Room");
      const var Ch4Oh = Content.getComponent("Ch4Oh");
      const var HatPan = Content.getComponent("HatPan");
      const var Crash1Pan = Content.getComponent("Crash1Pan");
      const var Crash2Pan = Content.getComponent("Crash2Pan");
      const var RidePan = Content.getComponent("RidePan");
      const var HatCut = Content.getComponent("HatCut");
      const var Crash1Cut = Content.getComponent("Crash1Cut");
      const var Crash2Cut = Content.getComponent("Crash2Cut");
      const var RideCut = Content.getComponent("RideCut");
      const var HatSolo = Content.getComponent("HatSolo");
      const var Crash1Solo = Content.getComponent("Crash1Solo");
      const var Crash2Solo = Content.getComponent("Crash2Solo");
      const var RideSolo = Content.getComponent("RideSolo");
      const var HatPhase = Content.getComponent("HatPhase");
      const var Crash1Phase = Content.getComponent("Crash1Phase");
      const var Crash2Phase = Content.getComponent("Crash2Phase");
      const var RidePhase = Content.getComponent("RidePhase");
      
      // Save the controls into arrays
      
      const var empty = []
      
      const var Ch1SmFader = [Content.getComponent("Image2"),
                              Content.getComponent("Ch1Aux"),
                              Content.getComponent("Ch1Room"),
                              Content.getComponent("Ch1Oh"),
                              Content.getComponent("KickInPan"),
                              Content.getComponent("KickOutPan"),
                              Content.getComponent("KickSubPan"),
                              Content.getComponent("KickComPan"),
                              Content.getComponent("KickInSolo"),
                              Content.getComponent("KickOutSolo"),
                              Content.getComponent("KickSubSolo"),
                              Content.getComponent("KickComSolo"),
                              Content.getComponent("KickInCut"),
                              Content.getComponent("KickOutCut"),
                              Content.getComponent("KickSubCut"),
                              Content.getComponent("KickComCut"),
                              Content.getComponent("KickInPhase"),
                              Content.getComponent("KickOutPhase"),
                              Content.getComponent("KickSubPhase"),
                              Content.getComponent("KickComPhase"),
                              Content.getComponent("KickSampPhase"),
                              Content.getComponent("KickSampIn"),
                              Content.getComponent("Button1")];
                              
      const var Ch2SmFader = [Content.getComponent("Image3"),
                              Content.getComponent("Ch2Aux"),
                              Content.getComponent("Ch2Room"),
                              Content.getComponent("Ch2Oh"),
                              Content.getComponent("SnUpPan"),
                              Content.getComponent("SnDnPan"),
                              Content.getComponent("SnComPan"),
                              Content.getComponent("SnUpSolo"),
                              Content.getComponent("SnDnSolo"),
                              Content.getComponent("SnComSolo"),
                              Content.getComponent("SnUpCut"),
                              Content.getComponent("SnDnCut"),
                              Content.getComponent("SnComCut"),
                              Content.getComponent("SnUpPhase"),
                              Content.getComponent("SnDnPhase"),
                              Content.getComponent("SnComPhase"),
                              Content.getComponent("SnSampPhase"),
                              Content.getComponent("SnSampIn"),
                              Content.getComponent("Button2")];
                              
      const var Ch3SmFader = [Content.getComponent("Image4"),
                              Content.getComponent("Ch3Aux"),
                              Content.getComponent("Ch3Room"),
                              Content.getComponent("Ch3Oh"),
                              Content.getComponent("RackSel"),
                              Content.getComponent("Fl1Sel"),
                              Content.getComponent("Fl2Sel"),
                              Content.getComponent("TomSampPhase"),
                              Content.getComponent("TomSampIn"),
                              Content.getComponent("Button3")];
                              
      const var Ch4SmFader = [Content.getComponent("Image5"),
                              Content.getComponent("Ch4Aux"),
                              Content.getComponent("Ch4Room"),
                              Content.getComponent("Ch4Oh"),
                              Content.getComponent("HatPan"),
                              Content.getComponent("Crash1Pan"),
                              Content.getComponent("Crash2Pan"),
                              Content.getComponent("RidePan"),
                              Content.getComponent("HatCut"),
                              Content.getComponent("Crash1Cut"),
                              Content.getComponent("Crash2Cut"),
                              Content.getComponent("RideCut"),
                              Content.getComponent("HatSolo"),
                              Content.getComponent("Crash1Solo"),
                              Content.getComponent("Crash2Solo"),
                              Content.getComponent("RideSolo"),
                              Content.getComponent("HatPhase"),
                              Content.getComponent("Crash1Phase"),
                              Content.getComponent("Crash2Phase"),
                              Content.getComponent("RidePhase"),
                              Content.getComponent("Button4")];
                              
      const var Ch5SmFader = []
      
      
                              
                              
      // page index
      inline function showPage(pageIndex)
      {
          for(k in empty) 
          {
              k.showControl(pageIndex == 0);
          }
          
          for(k in Ch1SmFader) 
          {
          
              k.showControl(pageIndex == 1);
          }
          
          for(k in Ch2SmFader) 
          {
              k.showControl(pageIndex == 2);
          } 
          
          for(k in Ch3SmFader) 
          {
              k.showControl(pageIndex == 3);
          }
          
          for(k in Ch4SmFader) 
          {
              k.showControl(pageIndex == 4);
          }
          
          for(k in Ch5SmFader) 
          {
              k.showControl(pageIndex == 5);
          }
      
      }
      
      const var Rack = [                        
                          Content.getComponent("RackUpPan"),
                          Content.getComponent("RackDnPan"),
                          Content.getComponent("RackComPan"),
                          Content.getComponent("RackUpSolo"),
                          Content.getComponent("RackDnSolo"),
                          Content.getComponent("RackComSolo"),
                          Content.getComponent("RackUpCut"),
                          Content.getComponent("RackDnCut"),
                          Content.getComponent("RackComCut"),
                          Content.getComponent("RackUpPhase"),
                          Content.getComponent("RackDnPhase"),
                          Content.getComponent("RackComPhase")];
                          
      const var Floor1 = [
                          Content.getComponent("Fl1UpPan"),
                          Content.getComponent("Fl1DnPan"),
                          Content.getComponent("Fl1ComPan"),
                          Content.getComponent("Fl1UpSolo"),
                          Content.getComponent("Fl1DnSolo"),
                          Content.getComponent("Fl1ComSolo"),
                          Content.getComponent("Fl1UpCut"),
                          Content.getComponent("Fl1DnCut"),
                          Content.getComponent("Fl1ComCut"),
                          Content.getComponent("Fl1UpPhase"),
                          Content.getComponent("Fl1DnPhase"),
                          Content.getComponent("Fl1ComPhase")];
      
      const var Floor2 = [
                          Content.getComponent("Fl2UpPan"),
                          Content.getComponent("Fl2DnPan"),
                          Content.getComponent("Fl2ComPan"),
                          Content.getComponent("Fl2UpSolo"),
                          Content.getComponent("Fl2DnSolo"),
                          Content.getComponent("Fl2ComSolo"),
                          Content.getComponent("Fl2UpCut"),
                          Content.getComponent("Fl2DnCut"),
                          Content.getComponent("Fl2ComCut"),
                          Content.getComponent("Fl2UpPhase"),
                          Content.getComponent("Fl2DnPhase"),
                          Content.getComponent("Fl2ComPhase")];
      
      const var TomEmpty = []
      
      // Tom page index
      inline function showTom(pageIndex)
      {
          for(k in Rack) 
          {
              k.showControl(pageIndex == 0);
          }
          
          for(k in Floor1) 
          {
          
              k.showControl(pageIndex == 1);
          }
          
          for(k in Floor2) 
          {
              k.showControl(pageIndex == 2);
          }
          
          for(k in TomEmpty) 
          {
              k.showControl(pageIndex == 3);
          }
          
      }
      
      
      inline function onFaderSelect1Control(component, value)
      {
          Button1.setValue(0);
          showTom(3);
          FaderSelect2.setValue(0);
          FaderSelect3.setValue(0);
          FaderSelect4.setValue(0);
          FaderSelect5.setValue(0);
          FaderSelect6.setValue(0);
          FaderSelect7.setValue(0);
          FaderSelect8.setValue(0);
          
          if(value)
      	    showPage(1);
      	else if(1-value)
      	    showPage(0);
      };
      
      Content.getComponent("FaderSelect1").setControlCallback(onFaderSelect1Control);
      
      inline function onButton1Control(component, value)
      {
          FaderSelect1.setValue(0);
          if(value)
      	    showPage(0);
      };
      
      Content.getComponent("Button1").setControlCallback(onButton1Control);
      
      inline function onFaderSelect2Control(component, value)
      {
          Button2.setValue(0);
          showTom(3);
          FaderSelect1.setValue(0);
          FaderSelect3.setValue(0);
          FaderSelect4.setValue(0);
          FaderSelect5.setValue(0);
          FaderSelect6.setValue(0);
          FaderSelect7.setValue(0);
          FaderSelect8.setValue(0);
          if(value)
      	    showPage(2);
      	else if(1-value)
      	    showPage(0);
      };
      
      Content.getComponent("FaderSelect2").setControlCallback(onFaderSelect2Control);
      
      inline function onButton2Control(component, value)
      {
          FaderSelect2.setValue(0);
          if(value)
      	    showPage(0);
      };
      
      Content.getComponent("Button2").setControlCallback(onButton2Control);
      
      inline function onFaderSelect3Control(component, value)
      {
          Button3.setValue(0);
          Fl1Sel.setValue(0);
          Fl2Sel.setValue(0);
          FaderSelect1.setValue(0);
          FaderSelect2.setValue(0);
          FaderSelect4.setValue(0);
          FaderSelect5.setValue(0);
          FaderSelect6.setValue(0);
          FaderSelect7.setValue(0);
          FaderSelect8.setValue(0);
          if(value)
      	   { 
      	       RackSel.setValue(1);
      	       showPage(3);
      	       showTom(0);
      	   }
      	else if(1-value)
      	    {
      	      showPage(0);
      	      showTom(3);
      	    }
      
      };
      
      Content.getComponent("FaderSelect3").setControlCallback(onFaderSelect3Control);
      
      
      inline function onRackSelControl(component, value)
      {
      	Fl1Sel.setValue(0);
      	Fl2Sel.setValue(0);
      	if(value)
          {
              showTom(0);
          }
      };
      
      Content.getComponent("RackSel").setControlCallback(onRackSelControl);
      
      inline function onFl1SelControl(component, value)
      {
      	RackSel.setValue(0);
      	Fl2Sel.setValue(0);
      	if(value)
          {
              showTom(1);
          }
      };
      
      Content.getComponent("Fl1Sel").setControlCallback(onFl1SelControl);
      
      
      inline function onFl2SelControl(component, value)
      {
      	RackSel.setValue(0);
      	Fl1Sel.setValue(0);
      	if(value)
          {
              showTom(2);
          }
      };
      
      Content.getComponent("Fl2Sel").setControlCallback(onFl2SelControl);
      
      inline function onButton3Control(component, value)
      {
          FaderSelect3.setValue(0);
          if(value)
      	    showPage(0);
      	    showTom(3);
      	    
      };
      
      Content.getComponent("Button3").setControlCallback(onButton3Control);
      
      inline function onFaderSelect4Control(component, value)
      {
          Button4.setValue(0);
          showTom(3);
          FaderSelect1.setValue(0);
          FaderSelect2.setValue(0);
          FaderSelect3.setValue(0);
          FaderSelect5.setValue(0);
          FaderSelect6.setValue(0);
          FaderSelect7.setValue(0);
          FaderSelect8.setValue(0);
          if(value)
      	    showPage(4);
      	else if(1-value)
      	    showPage(0);
      };
      
      Content.getComponent("FaderSelect4").setControlCallback(onFaderSelect4Control);
      
      inline function onButton4Control(component, value)
      {
          FaderSelect4.setValue(0);
          if(value)
      	    showPage(0);
      };
      
      Content.getComponent("Button4").setControlCallback(onButton4Control);
      
      inline function onFaderSelect5Control(component, value)
      {
          Button1.setValue(0);
          showTom(3);
          FaderSelect1.setValue(0);
          FaderSelect2.setValue(0);
          FaderSelect3.setValue(0);
          FaderSelect4.setValue(0);
          FaderSelect6.setValue(0);
          FaderSelect7.setValue(0);
          FaderSelect8.setValue(0);
          if(value)
      	    showPage(5);
      	else if(1-value)
      	    showPage(0);
      };
      
      Content.getComponent("FaderSelect5").setControlCallback(onFaderSelect5Control);
      

      Dan Korneff - Producer / Mixer / Audio Nerd

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

        Just call showPage(0); in the onInit callback to make sure it's initialised correctly.

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

          @christoph-hart This didn't seem to work for this situation.
          I was setting RackSel.setValue(1) on one of my callbacks...

              if(value)
          	   { 
          	       RackSel.setValue(1);
          	       showPage(3);
          	       showTom(0);
          	   }
          	else if(1-value)
          	    {
          	      showPage(0);
          	      showTom(3);
          	    }
          

          so adding RackSel.setValue(0); to my else if statement fix it!

              if(value)
          	   { 
          	       RackSel.setValue(1);
          	       showPage(3);
          	       showTom(0);
          	   }
          	else if(1-value)
          	    {
          	      showPage(0);
          	      showTom(3);
                        RackSel.setValue(0);
          	    }
          

          Dan Korneff - Producer / Mixer / Audio Nerd

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

          36

          Online

          1.7k

          Users

          11.7k

          Topics

          102.0k

          Posts