Builder InterfaceTypes
-
So looking for the code file where these are declared but my C++ search woo isnt working today....
-
@Lindon haha opus is down and you're coming back here now?
-
@Christoph-Hart haha, I had several 'overload' messages from the Anthropic API yesterday and thought "what do I do now?".
It was then I released how much things have changed in the last few months!

-
@Christoph-Hart opus? is it? _ Imholding off on my great Anthropic journey until we have a well defined workflow - so Im not actually using any AI at the moment..
-
@Lindon well I took my first run at using Claude, and (after a fair bit of fiddling about from me) it gave me these:
SamplerScriptingApi::SamplerSynth.getSampler()
MidiPlayerScriptingObjects::ScriptedMidiPlayerSynth.getMidiPlayer()
TableProcessorScriptingObjects::ScriptingTableProcessorSynth.getTableProcessor()
AudioSampleProcessorScriptingObjects::ScriptingAudioSampleProcessorSynth.getAudioSampleProcessor()
RoutingMatrixScriptingObjects::ScriptRoutingMatrixSynth.getRoutingMatrix()
SlotFXScriptingObjects::ScriptingEffect (hotswap)Synth.getSlotFX()but surely there has to be more than this? Where are all the containers for example?
-
@Lindon ok so some progress...Claude tells me it needs to look in one of these files:
hi_scripting/scripting/scriptingobjects/ScriptingObjects.cpp
hi_scripting/scripting/scriptingobjects/ScriptingObjects.h-- but of course there is no such sub-folder as "scriptingobjects" and no ScriptingObjects file either...
As a first experience with Claude, this isnt going well....
-
@Lindon if you have Atom or similar then ask Claude for key search words, search the source and find the relevant files that way
-
@Lindon I'm not actually sure what you're searching for, what do you mean by Builder InterfaceTypes?
-
this command: Builder.create(var type, var id, int rootBuildIndex, int chainIndex)
what are all the types available to me?
-
@Lindon so Claude seems to think its this list:
Sound Generator Types
"SineWaveGenerator"
"WavetableSynth"
"AudioLooper"
"Sampler"
"ScriptSynth" (Scripted Synth)
"GlobalModulatorContainer"
"SynthGroup"
"SynthChain"
"BerlingerFilter" (or similar filter synths)Modulator Types (Envelopes)
"SimpleEnvelope"
"AHDSREnvelope"
"TableEnvelope"
"CCEnvelope"Modulator Types (LFOs)
"LfoModulator"
"RandomModulator"
"ConstantModulator"
"MacroModulator"Modulator Types (Voice Start)
"VelocityModulator"
"KeyModulator"
"RandomModulator"
"GlobalModulator"Effect Types
"Reverb"
"Convolution"
"Delay"
"Chorus"
"Phaser"
"GainEffect"
"PolyshapeFX"
"Saturator"
"CurveEQ"
"ParametricEQ"
"EmptyFX"Which in the real world renders Builder to be nearly useless for me as it does not include Container, or Syntesiser Group....
When I have a very complex structure like this:

-
@Lindon said in Builder InterfaceTypes:
According to Claude:
"SynthGroup" = Synthesiser Group
"SynthChain" = ContainerRemember that names can change magically for no reason between source code, docs and HISEscript

-
This post is deleted! -
OK back here again fighting with the documentation(or lack thereof..) so now I can build a set of nice processors, cause Clade (and @dannytaurus ) gave the documentation to to me.. except of course its not complete...
The Builder documentation tells me I can add an external script to a Script Processor, but nowhere do I have any documentation on how to create a Script Processor, even something as simple as adding (say) a std arpeggiator.... can anyone point me at the file that contains the definition of what I can call in builder.create() ???
-
@Lindon The auto-complete has it. And the
connectToScriptfunction is in the documentation.Here's an example of creating a MIDI script processor and connecting it to a script file
local index = builder.create(builder.MidiProcessors.ScriptProcessor, "myScript", 0, builder.ChainIndexes.Midi); builder.connectToScript(index, "{PROJECT_FOLDER}MyScript.js"); -
@David-Healey thanks yes I know where to find the connectToScript, and my current version of auto-complete refuses to load my selection so I dont use it (much), still I guess I can read and copy..(ugly)
thanks.
-
@Lindon The autocomplete is a bit dodgy, if you add a new object or you have a compile error it doesn't populate until you next successfully compile.
-
@David-Healey it turns out its worse than that:
var stdscript = builder.create( builder.MidiProcessors.Arpeggiator, // the module type "Arpeggiator1", // the ID mastercontainer, // the parent (root) builder.ChainIndexes.Direct); // the slot typegives me:
Interface:! Line 19, column 31: Couldn't create module with ID Arpeggiator -
@Lindon turns out its me being dumb...
var stdscript = builder.create( builder.MidiProcessors.Arpeggiator, // the module type "Arpeggiator1", // the ID mastercontainer, // the parent (root) builder.ChainIndexes.Midi); // the slot type -
OK so now I cant get builder.connectToScript(strum, "AScript2.js"); to work its telling me
StrumProcessor:! onControl could not be parsed!heres onControl
function onControl(number, value) { } -
@Lindon Do you see that error when you use that script manually?