@David-Healey well done...for now I might stick to my "Load Request File" based appraoch...
Posts
-
RE: Full Expansions again....MASSIVE problems.....Warning swearing in the message....posted in General Questions
-
RE: Full Expansions again....MASSIVE problems.....Warning swearing in the message....posted in General Questions
@David-Healey yeah I'm sure that was the original intent, but if we all could be bothered to look back at my previous post about how I really didn't like expansions taking the full interface he pretty explicitly say it should be easy to build a "loader" widget and copy it into all the expansions, so I think I'm on safe ground here assuming that the loader should work as outlined above...
-
RE: Full Expansions again....MASSIVE problems.....Warning swearing in the message....posted in General Questions
@dannytaurus well good or not..it works....
-
RE: Full Expansions again....MASSIVE problems.....Warning swearing in the message....posted in General Questions
@dannytaurus said in Full Expansions again....MASSIVE problems.....Warning swearing in the message....:
@Lindon From David's recent discussion about an unload/back button, I think you're right.
However, my expansion-based project will need to work like yours - freely swapping expansions from a visible grid/list of available ones.
So working on a work around ---- where I use a file to Request the load of an expansion:
The player checks the request file every time it loads....if the request == NONE it just sets itself up as nomal... but if it == anything else - it loads the requested expansion...
So the expansions themselves now no longer load other expansions, they just make a request and unload themselves...back to the Player who handles the load of the new expansion...
its not great, in fact its a cludge, and Im about 20% of the way thru building it...
-
RE: Full Expansions again....MASSIVE problems.....Warning swearing in the message....posted in General Questions
@dannytaurus said in Full Expansions again....MASSIVE problems.....Warning swearing in the message....:
@Lindon Is
Engine.setCurrentExpansionuseful here? What's the difference?
https://docs.hise.dev/scripting/scripting-api/engine/index.html#setcurrentexpansion
I have no idea what the difference is between Engine and ExpansionHandler versions of this call...
-
RE: Full Expansions again....MASSIVE problems.....Warning swearing in the message....posted in General Questions
@HISEnberg said in Full Expansions again....MASSIVE problems.....Warning swearing in the message....:
@Lindon Given that Rhapsody uses it (and I see some people posting issues with it actually, is this the same issue?), would david's system be an option for you here?
I think Rhapsody only lets you load an expansion and then return to the player to load the next one, so the stack doesnt get corrupted
-
RE: Full Expansions again....MASSIVE problems.....Warning swearing in the message....posted in General Questions
@dannytaurus said in Full Expansions again....MASSIVE problems.....Warning swearing in the message....:
Load exp1: pointer overload sees currentExpansion == nullptr, snapshots the base as default. Correct. exp1 loads.
Load exp2 directly: name overload does currentExpansion = nullptr; without notifying, so the chain is still exp1's content. It then calls the
pointer overload, which now sees nullptr and calls setNewDefault(...) snapshotting the current chain = exp1. The saved "base default" is now silently overwritten with exp1's preset. exp2 loads.
Unload exp2 (setCurrentExpansion("")): DefaultHandler restores defaultPreset, which is now exp1's tree — but exp1 is no longer the active expansion, so its sample/resource references resolve against the wrong (or no) expansion. Result: the corrupted "nothing loaded, nothing working" UI.Almost exactly this yes.....
-
RE: Full Expansions again....MASSIVE problems.....Warning swearing in the message....posted in General Questions
@dannytaurus said in Full Expansions again....MASSIVE problems.....Warning swearing in the message....:
@Lindon So you're manually unloading each expansion before loading the next one? Or are you relying on a HISE mechanism to unload/load?
I've tried both ways ...neither work. I suspect calling eh.setExapnsion("") from within the expansion itself(whihc is what i would need to do) is def. a no go... and myexperience is this is the case...it no fixy the problemy...
-
Full Expansions again....MASSIVE problems.....Warning swearing in the message....posted in General Questions
Full Expansions and the Expansion Handler are frankly a fucking nightmare...
OK so I have a player.... and two expansions:
These are listed in the right hand side in a viewport....this viewport is repeated INSIDE each expansion....
So... start the player - and we get both expansions showing up correctly in the right hand side...
Double click expansion 1 and it loads (correctly)
Click its unload button and it unloads back to the player (correctly)
Double click expansion 2 and it loads(Correctly)
Click its unload button and it unloads back to the player (correctly)OK...
Double click expansion 1 and it loads correctly...
Whilst in expansion 1 double click expansion 2, and it loads correctly.....
Now click the unload of expansion 2....and.....we should go back to the player, but we dont we get:UI mess....not the UI of the Player, but instead the UI of Expansion 1.....(I think)

How am I unloading the expansions I hear you ask... like this:
eh.setCurrentExpansion("");
So it seems the expansion handler is stacking up expansions as they load, and then unloading to the previously loaded expansion (but this is a guess..)
ANYONE, anyone have any idea how to make this .....work... ???
-
RE: Ui interactions saved but CC or keyswitch isnt.....posted in General Questions
@Chazrox thanks - yeah I will give a hand-coded version a spin...
-
RE: Ui interactions saved but CC or keyswitch isnt.....posted in General Questions
@David-Healey ok thanks I will give it a go...
-
Ui interactions saved but CC or keyswitch isnt.....posted in General Questions
Ok so I have 5 articulations, and five on screen radio ui buttons to select them with....
I click any button save my HISE project and re-compile.
The UI is set to the state I left it in (with the button I pressed == ON). So all good.
Now I use either a keyswitch or a CC number to change the articulation....
The buttons change as they should, the articulations load as they should, so all good still....
I save my HISE project, and recompile......
The buttons jump back to the last state of a mouse-clicked button....
What am I forgetting to do?
-
RE: Custom filter graph output within a custom node?posted in C++ Development
@Orvillain said in Custom filter graph output within a custom node?:
Does anyone know a good guide or the latest advice on doing a custom filter graph output for a custom node, so that I can have a floating tile or a script panel pick it up and draw it??
Im sure you've thought of this, and this is not for a custom node, its for Faust based filter where I wanted a display like the cough normal, filters - only trouble is it doesnt seem to display exactly the same acorss normal and these ascript node based filters

-
RE: Volume Doesn’t Changeposted in General Questions
@justinfitzmusic have you added a velocity modulator to the Gain of the Sampler?
-
RE: Directory.hasWriteAccess()posted in General Questions
@David-Healey yeah that seems more comprehensive, its more or less doing under the hood what Im doing in HISEScript... so both approaches have the advantage of getting a result back for the plugin itself (no matter how the user has set up to run it..)
Thanks for looking and confirming what I'd found.
-
RE: Directory.hasWriteAccess()posted in General Questions
@Lindon yeah that works _ and Im guessing it works for all occasions...its a cludge but it works..
-
RE: Directory.hasWriteAccess()posted in General Questions
@David-Healey well my work around might be;
to write a file to the folder - and if it fails then its not writable...
readCheck = FileSystem.fromAbsolutePath(FilePathValue.get("text")+ "\\test.txt"); testResult = readCheck.writeString("sample folder"); Console.print("and test result is = " + testResult);
