@Oli-Ullmann Arfffff.... Don't bother... the temperature here is just melting my brain...
I used TH.InternalOnly instead of TH.ExternalOnly, my eyes reading one thing and my brain another... It's my brain that is not in sync... 
Posts
-
RE: Retrigger LFO with transportposted in General Questions
-
Retrigger LFO with transportposted in General Questions
What is the process for making an LFO module to retrigger with the TransportHandler transportChange callback?
And should I use the callback in the first place?Context:
I always want the LFO synced to the DAW (phase and BPM)Here's what I have so far, nothing fancy...
const var TH = Engine.createTransportHandler(); TH.setSyncMode(TH.InternalOnly); // <- stupid me, needed External... TH.setLinkBpmToSyncMode(true); //! Transport TH.setOnTransportChange(SyncNotification, transportChanged); inline function transportChanged(isPlaying) { } //! Beat TH.setOnBeatChange(SyncNotification, beatChanged); inline function beatChanged(beat, isNew) { // Sync here??? } //! Tempo TH.setOnTempoChange(SyncNotification, tempoChanged); inline function tempoChanged(BPM) { } -
RE: Bug? Inline function locals/params shadow namespace members - Palette.text resolves to local textposted in Bug Reports
When the time comes for @Christoph-Hart to merge/manage the current pile of PRs, we'll not see him until his beard touches the ground... Let's hope he has a strong pilosity! (and a good stock of "Hopfenkaltschale"
)
-
RE: New Release - RustEQ le bleuposted in General Questions
@dannytaurus Hmmm... the question is difficult because it really depends on what you do and how you do it.
For my use case I only needed to make this PR:
https://github.com/christophhart/HISE/pull/965But seeing @DanH's PRs, you might hit some walls before bending it to your wishes...
https://github.com/christophhart/HISE/pulls/DHPLUGS -
RE: Claude's ugly codeposted in AI discussion
@David-Healey You can ask Claude to analyse your previous project styles once for all so it automatically applies it next time
-
RE: Saving MIDI CC assignments in user presets?posted in Scripting
So my solution is incomplete because it doesn't restore CC with session... Back to Chris solution...
-
RE: Saving MIDI CC assignments in user presets?posted in Scripting
@David-Healey Till today I wasn't aware of this
setEnableUserPresetPreprocessing, this will save me from other situations where I was tinkering with the pre/post save/load in order to keep parameters persistent...
I'll keep that in mind now! -
RE: Saving MIDI CC assignments in user presets?posted in Scripting
@David-Healey said in Saving MIDI CC assignments in user presets?:
That way I can setup my "defaults" in the preset file.
Clever!

-
RE: Saving MIDI CC assignments in user presets?posted in Scripting
@David-Healey Absolutely, then the
mah.setUpdateCallbackallows you to easily write the file, that's why I said"or just rewrite what you already saved"in the post above -
RE: Saving MIDI CC assignments in user presets?posted in Scripting
@dannytaurus The honour of badness is mine

-
RE: Saving MIDI CC assignments in user presets?posted in Scripting
@dannytaurus Oh yes absolutely, active in the sense of "armed track", then 100% yes

-
RE: Drum pad assign to keysposted in General Questions
@Yannrog The first approach you can follow is this one, before going further with panels
-
RE: Saving MIDI CC assignments in user presets?posted in Scripting
@dannytaurus If by inactive you mean hidden UI, then Midi is still reaching them
-
RE: How can I improve my reaction time?posted in General Questions
@smm-panel I'm so reassured by your honesty I think I'll just jump in, eyes closed!
-
RE: Saving MIDI CC assignments in user presets?posted in Scripting
@David-Healey Just tested with my seaboard and yes, it works for MPE that have been MIDI learnt (Since it's just MIDI in the end...)
-
RE: Saving MIDI CC assignments in user presets?posted in Scripting
@David-Healey Apparently macro yes, but MPE

Here's the automation data object:[ { "Controller": 6, "Channel": -1, "Processor": "Interface", "MacroIndex": -1, "Start": 0.0, "End": 1.0, "FullStart": 0.0, "FullEnd": 1.0, "Skew": 3.106283926937945, "Interval": 0.0, "Converter": "37.nT6K8CBGgC..VEFa0U1Pu4lckIGckIG.ADPXiQWZ1UF.ADf...", "Attribute": "HiBoostBWKnb", "Inverted": false } ] -
RE: Saving MIDI CC assignments in user presets?posted in Scripting
@David-Healey @David-Healey So the working solution is
const var currentAutomationState = {"ChildId": "Controller", "Children": []}; const var mah = Engine.createMidiAutomationHandler(); mah.setUpdateCallback(function() { currentAutomationState.Children = this.getAutomationDataObject(); }); const var uph = Engine.createUserPresetHandler(); uph.setEnableUserPresetPreprocessing(true, false); uph.setPreCallback(function(presetData) { presetData.MidiAutomation = currentAutomationState; });The automation state is saved in the instance but you can just save it in a file if you wish so.
I'd prefer not in my case, because if you load multiple instances of the plugin, they'll all react to the same CC... -
RE: Saving MIDI CC assignments in user presets?posted in Scripting
@David-Healey Lol
@ustk said in Saving MIDI CC assignments in user presets?:
@dannytaurus @David-Healey Can't the CC mapping simply be removed from the preset using the handler? Isn't the custom preset intended for this purpose in the first place? Never tried myself that being said...
Just checked and the answer is no, you can't manage what is written... But Claude came with a neat solution:
// (processBeforeLoading, unpackComplexData) uph.setEnableUserPresetPreprocessing(true, false); uph.setPreCallback(function(presetData) { // presetData is a JS object; MidiAutomation is a top-level property. // Emptying it means applyJSON rebuilds an empty <MidiAutomation> node, // so the incoming preset never overwrites the current CC assignments. presetData.MidiAutomation = {}; // or just rewrite what you already saved });