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.
    • M
      mwplugs
      last edited by

      ok first off i love hise it has me very excited and i have been through the tutorial and got a good grasp of things overall. i have a minute amount of java experience but enough to be able to tell what is going on a tad. so here are the things i need to figure out.

      1. first off the only elements of the toolbar i want are the preset area and the output meter as of now. this led me to wonder how can i edit and place the elements in the toolbar to where i desire on my gui. and that matter any of the toolbar elements. i have the default JSON toolbar thing in my code but see nothing about x, y placement or anything but height, ive tried to add fields in that like postion etc but it just breaks the whole interface. so yes how do i place the toolbar elements on their own where i do desire as well as edit them possibly size color etc if possible

      2. 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. i am making a sample based instrument and i plan on using the cool file compression built into hise (low file size option) so how do i go about making sure that the monolith sample map is loaded per patch when a preset is saved.

      3. i noticed there isnt any compressor or dynamics preset in the available fx. i really do need this in what im making. there alot of open source dynamics on musicdsp.org how can i use scriptfx to add fx like that my project?

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

                                            46

                                            Online

                                            1.7k

                                            Users

                                            11.7k

                                            Topics

                                            101.8k

                                            Posts