HISE Logo Forum
    • Categories
    • Register
    • Login

    Sample maps PopUp menu

    Scheduled Pinned Locked Moved General Questions
    7 Posts 3 Posters 396 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.
    • Tania GhoshT
      Tania Ghosh
      last edited by

      I am trying to load samplemaps with Popup Menu items. Combobox is working but Popup menu not loading sample Maps. Here is the Code, Snippets and Project. Please correct me.

      Content.makeFrontInterface(400, 100);
      const var Sampler1 = Synth.getSampler("Sampler1");
      
      const var sampleMaps = Sampler.getSampleMapList();
      
      const var ComboBox1 = Content.getComponent("ComboBox1");
      ComboBox1.set("items",sampleMaps.join("\n"));
      
      
      inline function onComboBox1Control(component, value)
      {
      	Sampler1.loadSampleMap(sampleMaps[value-1]);
      };
      
      Content.getComponent("ComboBox1").setControlCallback(onComboBox1Control);
      
      
      //popup
      
      const var Shape = Content.getComponent("Shape");
      const var ShapeLabel = Content.getComponent("ShapeLabel");
      
      inline function onShapeControl(component, value)
      {
      	shapeLabel.set("text", Shape.get("popupMenuItems"),split("\n")[value-1].substring(7, 15));
          Sampler1.loadSampleMap(sampleMaps[value-1]);
      }
      Content.getComponent("Shape").setControlCallback(onShapeControl);
      
      Shape.setMouseCallback(function(event)
      {
      	this.setValue(event.result);
      	this.changed();
          
      });
      
      HiseSnippet 1533.3oc4X0saSbDEd13r.1MoBPbQunUcqUuvQJXrg.TApBm3jfhZBwJa.pTaEZxtismlcmYYmYyOEgT6aReD5iPej3Mn8Ly92XGGiIpPQs4Je9aNeyYNy4a1zKl6QDBdLxp59mFQPVKX6dJSNr6PLkg1ZfiryBFJVBJmHsusoztAiTZXXxMH3DexIRIfV6zHrPP7QVVUdrJHqpyiz+8lGsFN.y7HkpPnmwodjsogTYo1dc9NZPvlXex9zPCuWoyVdbVWd.OA.XE6VnHr2g3AjmfUtMmMx5Ra3Sk7XWIVRDHq4Wi6ep6P9wrT+eFUPOHfnDZibgEJU8l7.eEhUZQcGRC76kWHDHjkcuxxRkzxxMr2g5SKzWVdtp1fSYDl0Cq4lF7ZaBuVyN7rLf27ov6Z1tdwzHYoEE19D6sXRRbeLbDXBqTeQys471c4fGLYyP7gjMiAghHZrRqVK6ztUqkd3h0fiAgz4HbrSZyPbamu0Q2nzb.QloqQ8bi0UwXFkPa.5fDp3R8pLRP+1Tgrw3Q0kGd.eM9IpjkCTHHPcDmABMpW3gNiERMEDvHURBE0WtL2M+YNk0n9OxpuTZpVrFkEPYDm9ILOIkybTsaYKhJiw7fFd4oaY.TAIjkVr1qVrV078Zy.N1uXeznLa+f16a19mT450578V2DJfmk2t3ffCf18FmER4f+V2ReEbzhl6PbD4bKXZq0G6HUoaa7AjfoGl1kri1yV2zt7VpYhhkI8DRRNQVe4T.nxXi55MjZ9xV5CukVVDEPkomYEEzlhjCDxXJaPi6Csn2UeZ5.+8NdlbdGHYEoIeXXtOSqEovGbdGdhfT3ZdsoA4HXUyp.xgTgx0movQpklwDQRfTsVol8FhYCH9Mx2U.RU+znV+DtjrKqwR0dUsp0dcMmwM0u+DskgZ0U0IYVM7MdZA1fkDd.IN+LM2QXJzni4rO+wblSg8RK9FNxYawnxciHrya3GJ6DSMFLCUfqR8PvqlMDL+5Bh5qlAVb6AogsI+D5oasNVhyWLXcgbEQhkT01vZcxQ.YU5D1p1qSDGJ4QP5JZUPVWdFS8Ikoc2NmVJ7nNgXvlsUEPPOvBY8o.i6w0bg6W0beYLRcIAYUy943iHN651UUCJx+URy+h4y+wLRfN4W1V2VZj3e+PyD+vNPeJ+37tUcZ00fSjZ9czwTe4PEx9Mv6gD5fgRkzc.oQujhr9Ja.VO3ANtq97Z5eowd5udYBNlLMHqGGng7B1kiYLv8uFXh6tcHPuFV2NYUo.jxQ.4mCRoksEzkM8bGn64rDm.8M2OI.KGkSW8PlLCvMfQHOUDjLAUdpYiz6Eh9YEtWytGU5Mbx3ctIfWne+8Mdyd1zh1azuOwSVB14s276e++FISn7EoP451txXBNDXMxnIz3olcNow+DujMZleIauXhljh9KFt8mcVKApWwip8O5nS0pg7D1H4JC46QhHXf7w2HlqzYu8dbLOIZ7ndyizMK6GCW5gRgogcYDntKM2ici4BQeX6nWKgoodIwCT0pRM6AzYwhQ08jjP3rmASkT7BVVfpmJHpyZp2NXfC+DSu0Yo09o2tgm2qkaOl7sGS9NiIuxXx2cL46Ml78KkKdxfpyvVMF9LbaWd131f0POK1vy0nCJV+TMl8vEUZMZL9DlI7A.W5i5uO4C2T1JyFbeKeBU0bL5RUmNavNBtYBZTX75.qeeL75rbsiNkXGNiGMjyndidO.5qGLfDah8ItgVUJgqgkZtQm8HADrv3h7W2YafLEGO5062oZQ6YuVLsyqOyNEtNpQaN+2fcrx+6YGmVo6Sy+W+.YOV9Q947B15o4NJx2+sf5d7DIPplSrYCret.iuGwjCbNEuZpbKkrBPtDluV3uf+xL1NmvTYrctQjW9RA6sreq+FFqJDlh5P+nu.fJNvrkV.uqPAIfj6CBJCwdw7W3k9EZJrdEsF.kL8+6tp16njcJ9nLa6VMagBAtpW34otHbSnBO4Xt8EHl6bAhYkKPL28BDy8t.wb+KPLeyTiQ8LgUSj7vzgjfhdaj1XYsQQiUEzeCvPyfb
      

      Sample Maps in popup menu.zip

      Tania Ghosh

      ? 1 Reply Last reply Reply Quote 0
      • D.Williams23D
        D.Williams23
        last edited by D.Williams23

        @Tania-Ghosh

        First thing, in the property editor for the "Shape" Panel itself, the "popupOnRightClick" option should be disabled.

        Next, on line 25, "shapeLabel" should be "ShapeLabel" capital S

        There should be a period after ("popupMenuItems") and not a comma

        Then adjust the substring amount accordingly (change 7 to 5)

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

          @Tania-Ghosh Here is the code...

          const var Shape = Content.getComponent("Shape");
          const var ShapeLabel = Content.getComponent("ShapeLabel");
          
          inline function onShapeControl(component, value)
          {
          	ShapeLabel.set("text",Shape.get("popupMenuItems").split("\n")[value-1].substring(7, 15));
          
                   Sampler1.loadSampleMap(sampleMaps[value-1]);
          }
          Content.getComponent("Shape").setControlCallback(onShapeControl);
          
          Shape.setMouseCallback(function(event)
          {
          	this.setValue(event.result);
          	this.changed();
              
          });
          
          1 Reply Last reply Reply Quote 0
          • ?
            A Former User
            last edited by

            Content.makeFrontInterface(400, 200);
            
            const var Sampler1 = Synth.getSampler("Sampler1");
            
            const var sampleMaps = Sampler.getSampleMapList();
            
            //popup
            
            const var Shape = Content.getComponent("Shape");
            const var ShapeLabel = Content.getComponent("ShapeLabel");
            
            inline function onShapeControl(component, value)
            {
            	ShapeLabel.set("text",Shape.get("popupMenuItems").split("\n")[value-1].substring(7, 15));
            
                Sampler1.loadSampleMap(sampleMaps[value-1]);
            }
            Content.getComponent("Shape").setControlCallback(onShapeControl);
            
            Shape.setMouseCallback(function(event)
            {
            	this.setValue(event.result);
            	this.changed();
                
            });
            
            Tania GhoshT 1 Reply Last reply Reply Quote 1
            • Tania GhoshT
              Tania Ghosh @D.Williams23
              last edited by

              @D-Williams23 Oh !! My silly mistakes.
              Thank you. :)

              Tania Ghosh

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

                @Rudra-Ghosh Thank you :)

                Tania Ghosh

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

                  Here is another version with Paint Routine and Look & Feel

                  Content.makeFrontInterface(400, 200);
                  
                  const var Sampler1 = Synth.getSampler("Sampler1");
                  const var sampleMaps = Sampler.getSampleMapList();
                  
                  //Look & Feel For Popup Styling
                  
                  const var laf = Engine.createGlobalScriptLookAndFeel();
                  laf.registerFunction("drawPopupMenuBackground", function(g, obj)
                  {
                      g.fillAll(Colours.blueviolet);
                    // Create your own
                      
                  });
                  
                  
                  
                  //popup Menu
                  
                  const var Shape = Content.getComponent("Shape");
                  const var ShapeLabel = Content.getComponent("ShapeLabel");
                  
                  // Paint Routine 
                  
                  Shape.setPaintRoutine(function(g)
                  {
                  	g.fillAll(Colours.cadetblue);
                  	
                  	
                  });
                  
                  //Load Sample Maps & Change Text
                  
                  inline function onShapeControl(component, value)
                  {
                  	ShapeLabel.set("text",Shape.get("popupMenuItems").split("\n")[value-1].substring(7, 15));
                  
                      Sampler1.loadSampleMap(sampleMaps[value-1]);
                  }
                  Content.getComponent("Shape").setControlCallback(onShapeControl);
                  
                  Shape.setMouseCallback(function(event)
                  {
                  	this.setValue(event.result);
                  	this.changed();
                      
                  });
                  
                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post

                  25

                  Online

                  1.7k

                  Users

                  11.8k

                  Topics

                  102.7k

                  Posts