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.
    • 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
                                          • LindonL
                                            Lindon @David Healey
                                            last edited by

                                            @David-Healey nope...

                                            David HealeyD 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            19

                                            Online

                                            2.2k

                                            Users

                                            13.5k

                                            Topics

                                            117.6k

                                            Posts