Forum
    • Categories
    • Register
    • Login

    Builder InterfaceTypes

    Scheduled Pinned Locked Moved General Questions
    27 Posts 5 Posters 548 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • dannytaurusD
      dannytaurus @Christoph Hart
      last edited by dannytaurus

      @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!

      image.gif

      Meat Beats: https://meatbeats.com
      Klippr Video: https://klippr.video

      1 Reply Last reply Reply Quote 0
      • LindonL
        Lindon @Christoph Hart
        last edited by Lindon

        @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..

        LindonL 1 Reply Last reply Reply Quote 1
        • LindonL
          Lindon @Lindon
          last edited by

          @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?

          LindonL 1 Reply Last reply Reply Quote 0
          • LindonL
            Lindon @Lindon
            last edited by

            @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....

            DanHD David HealeyD 2 Replies Last reply Reply Quote 0
            • DanHD
              DanH @Lindon
              last edited by

              @Lindon if you have Atom or similar then ask Claude for key search words, search the source and find the relevant files that way

              DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
              https://dhplugins.com/ | https://dcbreaks.com/
              London, UK

              1 Reply Last reply Reply Quote 0
              • David HealeyD
                David Healey @Lindon
                last edited by

                @Lindon I'm not actually sure what you're searching for, what do you mean by Builder InterfaceTypes?

                Free HISE Bootcamp Full Course for beginners.
                YouTube Channel - Public HISE tutorials
                My Patreon - HISE tutorials

                LindonL 1 Reply Last reply Reply Quote 0
                • LindonL
                  Lindon @David Healey
                  last edited by

                  @David-Healey

                  this command: Builder.create(var type, var id, int rootBuildIndex, int chainIndex)

                  what are all the types available to me?

                  LindonL 1 Reply Last reply Reply Quote 0
                  • LindonL
                    Lindon @Lindon
                    last edited by

                    @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:

                    60a9cdee-6c97-4d68-8112-37e9c9d71539-image.png

                    dannytaurusD 1 Reply Last reply Reply Quote 0
                    • dannytaurusD
                      dannytaurus @Lindon
                      last edited by dannytaurus

                      @Lindon said in Builder InterfaceTypes:

                      According to Claude:

                      "SynthGroup" = Synthesiser Group
                      "SynthChain" = Container

                      Remember that names can change magically for no reason between source code, docs and HISEscript 😂

                      Meat Beats: https://meatbeats.com
                      Klippr Video: https://klippr.video

                      LindonL 2 Replies Last reply Reply Quote 1
                      • LindonL
                        Lindon @dannytaurus
                        last edited by

                        This post is deleted!
                        1 Reply Last reply Reply Quote 0
                        • LindonL
                          Lindon @dannytaurus
                          last edited by

                          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() ???

                          David HealeyD 1 Reply Last reply Reply Quote 0
                          • David HealeyD
                            David Healey @Lindon
                            last edited by David Healey

                            @Lindon The auto-complete has it. And the connectToScript function 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");
                            

                            Free HISE Bootcamp Full Course for beginners.
                            YouTube Channel - Public HISE tutorials
                            My Patreon - HISE tutorials

                            LindonL 1 Reply Last reply Reply Quote 0
                            • LindonL
                              Lindon @David Healey
                              last edited by

                              @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.

                              David HealeyD 1 Reply Last reply Reply Quote 0
                              • David HealeyD
                                David Healey @Lindon
                                last edited by

                                @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.

                                Free HISE Bootcamp Full Course for beginners.
                                YouTube Channel - Public HISE tutorials
                                My Patreon - HISE tutorials

                                LindonL 1 Reply Last reply Reply Quote 0
                                • LindonL
                                  Lindon @David Healey
                                  last edited by

                                  @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 type
                                  

                                  gives me:

                                  Interface:! Line 19, column 31: Couldn't create module with ID Arpeggiator 
                                  
                                  LindonL 1 Reply Last reply Reply Quote 0
                                  • LindonL
                                    Lindon @Lindon
                                    last edited by

                                    @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
                                    
                                    LindonL 1 Reply Last reply Reply Quote 1
                                    • LindonL
                                      Lindon @Lindon
                                      last edited by Lindon

                                      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)
                                      {
                                      	
                                      }
                                       
                                      
                                      David HealeyD 1 Reply Last reply Reply Quote 0
                                      • David HealeyD
                                        David Healey @Lindon
                                        last edited by

                                        @Lindon Do you see that error when you use that script manually?

                                        Free HISE Bootcamp Full Course for beginners.
                                        YouTube Channel - Public HISE tutorials
                                        My Patreon - HISE tutorials

                                        LindonL 1 Reply Last reply Reply Quote 0
                                        • LindonL
                                          Lindon @David Healey
                                          last edited by

                                          @David-Healey nope...

                                          David HealeyD 1 Reply Last reply Reply Quote 0
                                          • David HealeyD
                                            David Healey @Lindon
                                            last edited by

                                            @Lindon What about through the builder in a minimal test project?

                                            Free HISE Bootcamp Full Course for beginners.
                                            YouTube Channel - Public HISE tutorials
                                            My Patreon - HISE tutorials

                                            LindonL 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            16

                                            Online

                                            2.2k

                                            Users

                                            13.5k

                                            Topics

                                            117.6k

                                            Posts