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.2k 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.
    • Dark BoubouD
      Dark Boubou
      last edited by Dark Boubou

      Well, if I have understood about your 2), you need to save the samplemap with the preset?
      It took me a long time of bad tests to get this working thing:

      On Init:

      const var NAMEOFSAMPLER = Synth.getSampler("Sampler"); // create a sampler variable
      const var cmbSampleMap = Content.addComboBox("CmbSampleMap", x,y);  //add a dummy combobox
      const var samplemaps = NAMEOFSAMPLER.getSampleMapList(); // create a variable containing automaticaly the samplemaps adresses
      cmbSampleMap.set("items", samplemaps.join("\n"));  // let this variable assigned as the combobox items
      

      On Control:

      case cmbSampleMap: //when you select something in the samplemaps items
      NAMEOFSAMPLER.loadSampleMap(cmbSampleMap.getItemText()); //set samplemap adress as the combobox selected item
      break;
      

      In other terms, you add your sample maps in the combobox items, when you save the preset the combobox selected value is saved too.
      But the samplemap address is definied by the selected combobox value.
      So save the item = save samplemap address = save samples with a preset.

      If you don't want to allow the user change the samples, then just add the property "visible"=false to your combobox after having saved the preset :)

      And for your 1, the only thing I know is something like this:

      var toolbarData = {
        "height": 0,
        "overlaying": false,
        "bgColour": 267386880,
        "cpuTempoVoicesShown": false,
        "presetShown": false,
        "tooltipBarShown": false,
        "keyboard": false,
        "knobsShown": false,
        "knobFilmStrip": "",
        "knobNumFilmStrips": 0,
        "outputMeterShown": false
      };
      Content.setToolbarProperties(toolbarData);
      

      This makes the toolabar off, but I don't really know if you can modify the places of the elements :)

      But after you can re-add knobs and assign them the same functions as the toolbar, that's possible too and this allows you set them were you want with your own art.

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

        alright well how would i link say a combobox to the preset list?

        1 Reply Last reply Reply Quote 0
        • Dark BoubouD
          Dark Boubou
          last edited by

          Well just insert exactly the same code that I wrote :P

          HiseSnippet 1325.3oc4X0sSabDEdVLaawDPIUbQubjUuvnRcryespnp.1.QnhAKLB0KhT53YGaOkcmwZlYAbp56TeD5iTdCZOytq8NK3PrSSapZ2KvdO+MemyYN+X5njTlVKUHuUOa7HFx6d9cGKLCaMjvEnC2C4steah1vT3TRMGOhn0r.jmWoWXI3sxxnjm277ljPhfxxIgPmK4T1Q7HtImZmc9AdX3Aj.1Y7HGoexNGRkhVxPYLfmR90QiHzKHCXGSrhsjO5RN6JMxqt+ieTM0EM585cqYeR+axSqrO+pSR9neBKDMVoXBy4f5HOeu+.d772OfajptFhgA1zuoLXb2gxqDoG84bMuWHy9RCTW.SojOT.gh9DJyQzCjgA1.h86nVC4gAclDV0HvxcxCxkRCxa32lGvmROOXe+DF3bMbC2dKUDxKW.xMdaP9c.OOG3sbJ7dfeWphOxjywhsU8m57EfUprnkVujeKIHgvTKhbA6.E7xTMp9r502B+z502b60JCYYsAeIQgi.GuKIZTHb+56wI27pMfYxHUsR1Wpr413G9PLUw.OGSv5LU.SvIfK6ZRZTuTsZSFA1bBjHAAsjQ8jMkWWsRKGYprEtQ8sZ..CCmAHFX+f3nnwXpU9dxqcsd5IGQFoAa6f9bTCl7Ht1T8FPdBTAqJLfdbw.LI1HiHFNkDNFaFxbsNIPAgdlFNbGvVSyLUqvMrHMf6bwq8yRtnZkWJprYpefCYFvjbc9ACIL9.AC7OcxgMw8vIlasx8iETCWJvRwwRC6DQ0MK+KkWo7udKN86OKV1HsRFZyayfqsTWcGpUUDG0io1BvaXLKQNJQyJjN+NvwtZHSfGKiwZVHiZvZYDC7SHZxE2LFl4XtooPIIXp8pVHzBYvCAENicMj7RxdPvN2bYYjaE8RwADVsm1Zk6AI7K1FbQnfqX45pyW4JM8BqifRwgBt4jQrr2yKns7RyUS3VGMMG4RJO23RMImLCwxIc69EnrBJamiLwAQMI8MteVeiIEZHdfc9ga0FJI85Ng.c69OPWPYPbHwTr0ncbSFC3pSgdP19LBM2L1cbzBzur9L6W1XV9+bB2G32ganCmMdWZF3EBn+ci2roOq4ue+9vc1bvtr+A+366nl2OnrQJT9b+tFnfIBpeypPSvyJ9Sd6Cv5F+zbutQGEKo+.+0Nh866zLFBWphT+scRNpcijwhBmUFvOkMBZ7CY+Bv6zSegRFO5lZ8lmmbW4LErtCDIbYbhvtogw0HsTRstO3NI1R6xpSrZfMV4bhrKYJcQZGGGAodgfEZ26wyCHkWeZWy5l6F8oyWmKP8NDvpNR1jOvwzVJEKhcDcpaclcZky5UyXmkO4ivJUe3aQ7WuiVo4Ctuis9VYBF6xsop8EWBkA.kz1X6w5ShCMSo5Bx1RgbzPofSKdmyn3CFvTtPel9ytFCbkOmxF6bJLMEF6mS5K24HtfQTEKkVnPQi4OTbWoquvOEtXaaD7+MFDU5+8ChtqP25YigvvoqL+KOOeO+j4AX6ftOVP8TYrAFf0l.M.tFFi.SZ5BSWoL24MKYmgk9dc66V.0kIBpO4mlmwrwzgS.yFSXhnSLE3aYeeOhg.XhIrSNR1uJDF6E5dkVCyvsPBltgltRO311HGPqK4RVZGlT77VGT2lS6HgfITGYa53u8+LNcDgpjuhltus00+rDJ.BDI+uQVwus8cbiI6WaSVQvbuWQo1ppuFRWyViGsvZ73EVimrvZ7zEVimsvZ7MKrFe6cngcIicy987POVD5OM+LMkG
          
          1 Reply Last reply Reply Quote 0
          • Dark BoubouD
            Dark Boubou
            last edited by

            And if you want a preset navigator, it's not a combobox you have to use :D

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

              yeahhh. about those hise code snippets...there is no documentation anywhere about how to utilize them haha. so i dont know what to do with what you sent ;) thanks though!

              1 Reply Last reply Reply Quote 0
              • Dark BoubouD
                Dark Boubou
                last edited by

                XD
                Just do 'File' -> 5th item 'Replace with clipboard content' and here you go :D

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

                  that worked perfect and i made the combo box invisible. what was this way to bring the elements and data used in the toolbar to be able to be linked to gui elements. i dont not see anything related to it when trying to connect modules to parameters.

                  1 Reply Last reply Reply Quote 0
                  • Dark BoubouD
                    Dark Boubou
                    last edited by Dark Boubou

                    Well for examples: (All these lines are after case XXX: in oncontrol ;) )

                    Sampler.setAttribute(Sampler.Gain, value);
                    

                    = control volume

                    Sampler.setAttribute(Sampler.Balance, value);
                    

                    =control pan

                    VelocityModulator.setAttribute(VelocityModulator.DecibelMode, value);
                    

                    =velocity

                    mainSampler.setAttribute(6, value ? 2 : 40);
                    mainSampler.setAttribute(2, value ? 1 : 40);
                    

                    = mono/poly on button

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

                      how can i edit and place the elements in the toolbar to where i desire on my gui.

                      The toolbar is deprecated because of exactly this reason. From now on, you can build your interface completely yourself and use some readymade components (e.g.. on screen keyboard, preset browser, settings dialog) either as popup or directly on your interface.

                      secondly i have noticed in my browsing that for each preset the monolith samplemap has to be recalled, for some reason it is not saved.

                      Not sure what you mean exactly (and I admit the culprit is the rather confusing nomenclature of HISE), but if you want to load different sample sets when switching between user presets (the things in the preset browser), you'll need to have a control that switches the sample sets and make sure that the user preset is restoring this control (in this case, it'll get loaded automatically).

                      how can i use scriptfx to add fx like that my project?

                      Effects can be included into HISE by using the C++ DSP API to wrap around your effect algorithm, compile your effect as .dll and load it into HISE. This is the documentation:

                      Link Preview Image
                      HISE DSP API

                      favicon

                      (hise.audio)

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

                        so what is the process/code for me to place the preset aspect of the toolbar on my gui

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

                          im still stuck on this. i cant imagine everyone if anyone at all is using the standard layout and placement of the preset area as is...obviously people are doing this easily i just havent actually gotten an answer on how to do it. i am more of a sound designer, im creating a rompler essentially. i have figured out every part of it aside from the preset aspect. traditional displat current preset, next and prev load save

                          1 Reply Last reply Reply Quote 0
                          • 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
                                            • First post
                                              Last post

                                            19

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            103.2k

                                            Posts