Forum
    • Categories
    • Register
    • Login

    Builder InterfaceTypes

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

                                          @David-Healey this is a minimalist test project...

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

                                            @Lindon Can you send it to me?

                                            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

                                            21

                                            Online

                                            2.2k

                                            Users

                                            13.5k

                                            Topics

                                            117.5k

                                            Posts