Forum
    • Categories
    • Register
    • Login

    Builder InterfaceTypes

    Scheduled Pinned Locked Moved General Questions
    27 Posts 5 Posters 232 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.
    • LindonL
      Lindon
      last edited by

      So looking for the code file where these are declared but my C++ search woo isnt working today....

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

        @Lindon haha opus is down and you're coming back here now?

        dannytaurusD LindonL 2 Replies Last reply Reply Quote 0
        • 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
                                            • First post
                                              Last post

                                            16

                                            Online

                                            2.2k

                                            Users

                                            13.5k

                                            Topics

                                            117.5k

                                            Posts