placing preset list/output meter. samplemap and compressor?'s
-
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
-
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:
-
so what is the process/code for me to place the preset aspect of the toolbar on my gui
-
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
-
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).
-
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 :/
-
i have 1.0.0 build 649
-
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).
-
aaannnnddd how do you do that lol. i have vs2015 installed and the latest hise downloaded from your github
-
The instructions how to build HISE can be found at the GitHub readme or (even better) the first video here:
-
alright i compiled my own new version from the github
-
how would put a browse button that launches the preset browser i liked from before
-
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.
-
am i tripping i dont see the that in the tools> menu?
-
Ooops, silly me. It's in the View menu and it's called "Add Interface Preview" :)
-
yes i found it and with the preset code you gave me clicking the middle nothing happens. no preset explorer popup thanks in advance
-
nvrmnd i had two make interface codes duh thanks
-
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
-
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:
-
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