@Oli-Ullmann You can run pluginval as host in xcode (edit scheme -> Run -> Executable). Start the plugin as debug and see what it spits out
Posts
-
RE: Logic crashes on startInternalDragposted in Scripting
-
RE: Set order of parameters as listed for automationposted in General Questions
@dannytaurus Pro tools respects the order as well
-
RE: Set order of parameters as listed for automationposted in General Questions
@dannytaurus Mmmm very true,I just tested it (I'm in a middle of a release and this slipped my mind...)
-
RE: Set order of parameters as listed for automationposted in General Questions
@dannytaurus There are methods to force your own order:
UserPresetHandler.setPluginParameterGroupNames(Array pluginParameterGroupNames) UserPresetHandler.setPluginParameterSortFunction(Function customSortFunction) -
RE: Show default preset name on first launchposted in General Questions
@dannytaurus I've just hit this problem for the 100s time a couple of days ago and it alway melts my brain...
What I do is to force "init" in the postCallback when the presetFile is undefined, meaning it's init time...
Another way could be to save the label in preset, but this only brought me more pain down the line
-
RE: Logic crashes on startInternalDragposted in Scripting
@Oli-Ullmann Mmm... I'm afraid you're right, the unlimited (but restricted) version I had was probably v11.
If you have any hardware, sometimes it comes with a free lite license of Live.
Otherwise you can still try v12 for 30 days... -
RE: Logic crashes on startInternalDragposted in Scripting
@Oli-Ullmann as @David-Healey , + Ableton Live
-
RE: Matrix modulation connection is broken in exported pluginposted in Bug Reports
@DanH said in Matrix modulation connection is broken in exported plugin:
He can drop that
addModuleStateToUserPreset call unless he needs the container's own chain
state in presets.Yep I need it, so I can't remove it, then 2 MatrixData blocks it is and will be...
Two root-level blocks means two live ScriptModulationMatrix instances at save
time. Unlike most Engine.createX calls there's no caching — each call to
Engine.createModulationMatrix() constructs a fresh object and registers a
fresh state manager, even for the same container ID. So ustk should search his
scripts for a second call (a second script processor, an included file, or a
call inside a function that runs more than once). Restore-side it's mostly
benign (each manager restores from the first MatrixData child via
getChildWithName), but it's the smoking gun that two matrix objects are alive
— and two objects both performing remove-all/re-add restores on the same tree
is exactly the kind of thing that could leave the runtime side confused.Nope, no smoking gun here.
The signal path goes stale if:
- the container's child modulators get rebuilt after the matrix restore
(remember MatrixData restores last, but postPresetLoad, sample preloading →
prepareToPlay, or anything his preset postCallback does runs after that),
something worth investigating, especially prepareToPlay that has been modified recently to fix another matrix bug...
Practical suggestions for ustk
- Grep the project for createModulationMatrix — ensure exactly one call, in
onInit, stored in one const var. If duplicates persist in fresh saves after
that, an old instance is being kept alive.
Always had only one here
- Drop addModuleStateToUserPreset("Global Modulator Container").
Nope, need it for what it does. And anyway I tried without and it doesn't seem related to the issue.
- Check whether the broken targets' source modulators are bypassed/disabled
at the moment the preset finishes loading (the active-list trap above).
Nothing's bypassed
- Note whether broken targets are MatrixModulators in mod chains vs.
script-slider parameter targets — they use different listener paths
(MatrixModulator::onMatrixChange vs MatrixCableConnection), which would narrow
it to one code path for a proper bug report to Christoph.
Only MatrixModulators in mod chains here, not direct parameter modulation
- the container's child modulators get rebuilt after the matrix restore
-
RE: UNDO - Swap Scriptnode FX w/ Dllsposted in ScriptNode
@Chazrox said in UNDO - Swap Scriptnode FX w/ Dlls:
Will these be repopulated when rebuilding the dll again?
If I understand the question, yes
you can compile nodes, or nodes + networks. So you can keep a network as is (not use the dll) but load a compiled node inside it (snex, faust, c++, etc...)
'Allow Compilation' flag is just for the network itself.
in the end you can have:
- an interpreted network with interpreted nodes
- an interpreted network with compiled nodes
- an compiled network with compiled nodes
-
RE: UNDO - Swap Scriptnode FX w/ Dllsposted in ScriptNode
@Chazrox I tried to simplify my workflow like this, and it meets @David-Healey advice:
- I create as much scriptFX as I need, and start to develop the network up to something working very well
- Then I export the DLLs, and place them in HarcodedFXs (for this I have never used that automatic tickbox thing as I always feared it...)
- I remove the scriptFXs and just create one at the top of the tree to hot load networks I want to tweak more.
- Then I just rebuild the DLLs.
- when exporting the project I just delete that latent ScriptFX
-
RE: UNDO - Swap Scriptnode FX w/ Dllsposted in ScriptNode
@David-Healey yep I confirm it's still there on mac last commit.
And I agree the workflow can only be better, so much time we spend going back and forth between networks and DLLs... -
RE: Matrix modulation connection is broken in exported pluginposted in Bug Reports
@DanH Hmmm... don't know what differs... I found a dirty fix:
ModMatrix.fromBase64(ModMatrix.toBase64());to re-applies the matrix on itself in the postCallback so it remakes the connections. Dirty but working in DAW...
I also found out that:
Engine.addModuleStateToUserPreset("Global Modulator Container");Was adding a redundancy in the presets so the MatrixData block was appearing twice:
</MPEData> <MatrixData> <Connection TargetId="EQ Lo Boost" Mode="1" SourceIndex="0" Intensity="0.8445843446601942" AuxIndex="-1.0" AuxIntensity="0.0" Inverted="0"/> <Connection TargetId="EQ Lo Cut" Mode="1" SourceIndex="0" Intensity="1.0" AuxIndex="-1.0" AuxIntensity="0.0" Inverted="0"/> </MatrixData> <MatrixData> <Connection TargetId="EQ Lo Boost" Mode="1" SourceIndex="0" Intensity="0.8445843446601942" AuxIndex="-1.0" AuxIntensity="0.0" Inverted="0"/> <Connection TargetId="EQ Lo Cut" Mode="1" SourceIndex="0" Intensity="1.0" AuxIndex="-1.0" AuxIntensity="0.0" Inverted="0"/> </MatrixData> </Preset>but this doesn't seem to be the cause for the broken connection...
-
RE: Matrix modulation connection is broken in exported pluginposted in Bug Reports
@DanH Does any of your PR fix a broken modulation connection on preset recall?
When I save a preset with modulations in the matrix, when it loads, the lines are there in the matrix but the modulators are not effective anymore like if the connection was broken...
I can make new connections successfully, previous ones just don't work.
-
RE: Export wants to "Copy audio pool file..." when I have notposted in General Questions
@dannytaurus Yes that's exactly how I understand it, and it's harmless. I was just confused by ending to be more embarrassed to uncheck that flag for FX plugin. That's what feels wrong to me because I just expect not to deal at all with audio files in that case. But I understand the meaning of the flag behind, for who wants/needs to embed them separately.
-
RE: Export wants to "Copy audio pool file..." when I have notposted in General Questions
Alright so AI says it's asking because "Embed Audio Files is disabled" which feels wrong.
It's not project related but Hise.
If you don't want to be annoyed, enable Embed Audio Files, the pool created is empty and harmless, but it feels wrong as well anyway to keep it in an FX context and to keep the setting Enabled for the same reason (in this case, why having a choice in the first place?). -
Export wants to "Copy audio pool file..." when I have notposted in General Questions
When I export my FX plugin, Hise systematically asks "Do you want to copy the audio pool file to your project's app data directory?"
But:
- I have no audio file, sample, samplemap or whatsoever in the project
- I obviously don't load any audio in the pool
- The pool is empty
- I cleaned the PooledResources folder (but Rebuild Pooled Files is ticked anyway because I have two images, they are deleted/rebuilt each time)
- Embed Audio Files is disabled
- I cleaned the Binaries folder
Still, Hise wants to do that (or at least is asking) and of course If I'm going too fast on it I end up with a nice AudioResources.dat in my appData folder.
Any clue?
-
RE: ALT+S requires TWO confirmations. Can this be switched off?posted in General Questions
Just realised I wrote "Sinppet"

Will just keep that one so much it fits the issue
-
RE: ALT+S requires TWO confirmations. Can this be switched off?posted in General Questions
@dannytaurus Yeah of course I constantly save as XML too, would be living a dangerous life without it

Another 'fun' thing about autosave is, if you launch HISE and don't load an XML - just to to do some experimental work, or paste a snippet from the forum maybe - then HISE will still happily autosave that current throwaway work OVER your existing Autosave_X.hip files for your current project.
That bug I reported years back... many times...
That's why I systematically save the XML first when i create a new project, even for a draft...
I had the same issue with the Sinppet Browser which was even worse by simply overwritting everything in your project... no git and you're dead...). In the end that led me to simply not use it so much I was afraid...
Something else very dangerous but not for many people. I have a french AZERTY keyboard, so Q is on the left of S...
So a too fast CMD+SHIFT+(almost S but your loosy finger touched Q) -> Baaaammmm!!!! You've just told the mac to close everything and shut down!!!

Why didn't I replaced the mac shortcut yet is a complete mystery...
-
RE: [Tutorial] How to Multiband in Scriptnode (without artefacts!)posted in Blog Entries
@griffinboy Ohhh!!! I always thought both Low and High path have to be complemented with an ALLPASS, but apparently not! Disillusion...
Great stuff!
