HISE Logo Forum
    • Categories
    • Register
    • Login

    placing preset list/output meter. samplemap and compressor?'s

    Scheduled Pinned Locked Moved General Questions
    scriptfxsamplemapinterfacecompressortoolbar
    31 Posts 3 Posters 6.1k 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 Christoph Hart

      This code snippet should help you out:

      Content.makeFrontInterface(600, 500);
      
      inline function createPresetButton(name, x, y, up)
      {
      	local widget = Content.addPanel(name, x, y);
          
          Content.setPropertiesFromJSON(name, {
            "width": 20,
            "height": 20,
            "saveInPreset": false,
            "allowCallbacks": "Clicks & Hover"
          });
          
          widget.data.up = up;
          
          widget.setPaintRoutine(function(g)
          {
          	g.setColour(this.data.hover ? 0xFFFFFFFF : 0x88FFFFFF);
          	g.fillTriangle([0, 0, this.getWidth(), this.getHeight()], this.data.up ? Math.PI/2 : 1.5 * Math.PI);
          });
          
          widget.setMouseCallback(function(event)
          {
          	this.data.hover = event.hover;
          	
          	if(event.clicked)
          	{
          		if(this.data.up)
          			Engine.loadNextUserPreset(true);
          		else
          			Engine.loadPreviousUserPreset(true);		
          	}
          	
          	this.repaint();
          });
          return widget;
      };
      
      inline function createPresetDisplay(name, x, y)
      {
      	local widget = Content.addPanel(name, x, y);
          
          Content.setPropertiesFromJSON(name, {
            "width": 143,
            "height": 25,
            "allowCallbacks": "Clicks & Hover"
          });
          
          
          widget.setPaintRoutine(function(g)
          {
          	g.fillAll(this.data.hover ? 0xFF333333 : 0xFF222222);
          	g.setColour(0x44FFFFFF);
          	g.drawRect([0, 0, this.getWidth(), this.getHeight()], 1);
          	g.setFont("Oxygen Bold", 15.0);
          	g.setColour(Colours.white);
          	
          	g.drawAlignedText(Engine.getCurrentUserPresetName(), [0, 0, this.getWidth(), this.getHeight()], "centred");
          });
          
          widget.setTimerCallback(function()
          {
          	this.repaint();
          });
          
          widget.startTimer(300);
          
          widget.setPopupData({"Type": "PresetBrowser"}, [ widget.getWidth()/2, widget.getHeight(), 600, 400]);
          
          widget.setMouseCallback(function(event)
          {
          	this.data.hover = event.hover;
          	this.repaint();
          });
          return widget;
      };
      
      const var presetDecButton = createPresetButton("presetDecButton", 52, 7, false);
      const var presetIncButton = createPresetButton("presetIncButton", 222, 7, true);
      
      const var presetDisplayPanel = createPresetDisplay("presetDisplayPanel", 76, 4);
      

      You can of course customise the appearance as much as you want by hacking around in the paint routines of the widgets.

      You obviously need the latest HISE version for this (it won't work with HISE 1.0.0).

      1 Reply Last reply Reply Quote 1
      • M
        mwplugs
        last edited by

        awesome. but i checked the version i just downloaded off the site last week and its still 1.0.0. where are other versions? i click check for updates and it says its up to date soo....but thanks man i just gotta find the latest version :/

        1 Reply Last reply Reply Quote 0
        • M
          mwplugs
          last edited by

          i have 1.0.0 build 649

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

            If you're downloading HISE from the download page, you don't have the latest version, you need to build it yourself from GitHub. The version number will still be 1.0.0, because I don't find the time right now to wrap things up and do a proper 1.1.0 build (which will be the next version number).

            1 Reply Last reply Reply Quote 0
            • M
              mwplugs
              last edited by

              aaannnnddd how do you do that lol. i have vs2015 installed and the latest hise downloaded from your github

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

                The instructions how to build HISE can be found at the GitHub readme or (even better) the first video here:

                Link Preview Image
                HISE

                favicon

                (hise.audio)

                1 Reply Last reply Reply Quote 1
                • M
                  mwplugs
                  last edited by

                  alright i compiled my own new version from the github

                  1 Reply Last reply Reply Quote 0
                  • M
                    mwplugs
                    last edited by

                    how would put a browse button that launches the preset browser i liked from before

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

                      Click on the label in the middle and it will open a popup.

                      However this won't work if you preview your interface using the home icon (because it would create a popup within a popup).

                      Use Tools->Open Interface Preview to get a new window which behaves exactly as the actual plugin.

                      1 Reply Last reply Reply Quote 1
                      • M
                        mwplugs
                        last edited by

                        am i tripping i dont see the that in the tools> menu?

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

                          Ooops, silly me. It's in the View menu and it's called "Add Interface Preview" :)

                          1 Reply Last reply Reply Quote 1
                          • M
                            mwplugs
                            last edited by

                            yes i found it and with the preset code you gave me clicking the middle nothing happens. no preset explorer popup thanks in advance

                            1 Reply Last reply Reply Quote 0
                            • M
                              mwplugs
                              last edited by mwplugs

                              nvrmnd i had two make interface codes duh thanks

                              1 Reply Last reply Reply Quote 0
                              • M
                                mwplugs
                                last edited by

                                how would i make a "browse presets" button or label that triggered the preset browser? thats about it i think im ready to get goin

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

                                  Just duplicate the PresetDisplay box code and change the line

                                  g.drawAlignedText(Engine.getCurrentUserPresetName(), [0, 0, this.getWidth(), this.getHeight()], "centred");
                                  

                                  to

                                  g.drawAlignedText("Browse Presets", [0, 0, this.getWidth(), this.getHeight()], "centred"); // or whatever
                                  

                                  And you can then remove these lines:

                                      widget.setTimerCallback(function()
                                      {
                                      	this.repaint();
                                      });
                                      
                                      widget.startTimer(300);
                                  

                                  BTW, if you want to dive into working with ScriptPanels, there is an extensive documentation here:

                                  favicon

                                  (hise.audio)

                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    mwplugs
                                    last edited by

                                    looks like im ready to go. i was wondering though is there a common practice everyone uses that saves and recalls the samplemap or the HVLAC monlith file used in the sampler per preset. anything different than the code i was given in the first reply because that is giving alot of errors

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

                                      The code from @Dark-Boubou seems to be OK - what's the problem there?

                                      The basic procedure is pretty straightforward:

                                      • use one .hip preset per project
                                      • create a SampleMap for each sample set (double check that there is a .xml file for each SampleMap in the SampleMaps directory.
                                      • Use Sampler.getSampleMapList() in conjunction with a combobox (or any other component) and Sampler.loadSampleMap() to load the different sets.
                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        mwplugs
                                        last edited by

                                        the code and snippet @Dark-Boubou gave me doesnt work. any standalone i export with it it never launches and it just keeps increasing ram usage in task manager until i end the process. same goes with vst in vsthost. it never launches any plugin that uses the samplemap method as described it simply sucks ram and cpu until it crashes a computer. i really wish there was more documentation so i could troubleshoot things myself. but i have about 6 issues right now and it takes about 3 days to get a vague response about each. circling back to the simple matter of sample recall (which seems silly that it doesnt do in the first place and needs special code) as is the way you gave to me does not work. i literally based my project on the snippet with the combo box samplemap recall...anytime i render standalone or vst without that code everything works fine...well aside from it actually recalling samples...its a big circle of frustration and i wish there was someone to actually help i will literally pay at this point im 100 hours strait in to this and about to lose my mind lol

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          mwplugs
                                          last edited by

                                          now i got it so it doesnt freeze everything but i get "sample directory is not existing" i have tried so many different things but what is the correct practice to have all user presets and accompanying sample maps recalled

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

                                          53

                                          Online

                                          1.7k

                                          Users

                                          11.7k

                                          Topics

                                          101.8k

                                          Posts