Forum
    • Categories
    • Register
    • Login

    Builder InterfaceTypes

    Scheduled Pinned Locked Moved General Questions
    51 Posts 7 Posters 1.8k 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

      @Lindon and a search thru the forum gives me this answer:

      	   theKeySwitchFilters[i] = builder.create(
      
      	   				builder.MidiProcessors.ScriptProcessor,
      					articulationNames[i] + "KeySwitchFilter",         // the ID
      					theSamplerContainers[i],                  // the parent (root)
      					builder.ChainIndexes.Midi              // the slot type		
      	   				);
      

      HISE Development for hire.
      www.channelrobot.com

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

        @Lindon
        Shouldn't the chain index be Midi rather than Direct?

        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 yep as you see above - meanwhile where is all this documentation hidden?

          HISE Development for hire.
          www.channelrobot.com

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

            @Lindon Only doc I'm aware of: https://docs.hise.audio/scripting/scripting-api/builder/index.html

            And the auto-complete, and this thread.

            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 so how did you know this?

              @Lindon
              Shouldn't the chain index be Midi rather than Direct?
              
              

              HISE Development for hire.
              www.channelrobot.com

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

                @Lindon I posted it higher up in this thread when you asked a related question 😁

                Now how did Dave of the past know this... according to my previous post it's in the auto complete.

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

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

                  @Lindon Do you find the HISE crashes often when using the builder? I stopped using it because I was getting crashes with almost every 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 not at the moment...seems to work OK

                    HISE Development for hire.
                    www.channelrobot.com

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

                      @Lindon I'm connecting to a lot of external scripts, that might be the issue

                      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 yeah maybe , meanwhile the feckinn autocomplete is a pile of doggy do...

                        HISE Development for hire.
                        www.channelrobot.com

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

                          @Lindon said in Builder InterfaceTypes:

                          autocomplete is a pile of doggy do...

                          💩

                          What's it done?

                          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 Lindon

                            @David-Healey it works sometimes and the on others fails completely - only showing me the list of variables I'm using in my script.... its really really crap.

                            HISE Development for hire.
                            www.channelrobot.com

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

                              @Lindon I find if you add a new object the autocomplete won't show anything relevant to it until you hit 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 yeah that I know, but this is a the same builder object oi have been using to build everything else with.....

                                HISE Development for hire.
                                www.channelrobot.com

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

                                  @Lindon ok here I am AGAIN, 3 times in one day....

                                  So does anyone know the correct Chain Index for the SampleStart modulation , not in the documentation(duh) and not showing up in the auto complete....

                                  HISE Development for hire.
                                  www.channelrobot.com

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

                                    @Lindon I don't see one

                                    abc572a5-6404-4ee7-aee8-fd335d2a7762-image.png

                                    There isn't one for group xf, mix modulation, or some others either.

                                    I wonder if this is what Direct is for.

                                    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 yeah - Im begingng to think this Builder stuff is a bit pointless - if its not all there then its not saving anything in the end.

                                      HISE Development for hire.
                                      www.channelrobot.com

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

                                        @Lindon you can always lookup the chain index by inspecting the XML:

                                        <Processor Type="StreamingSampler" ID="Sampler" Bypassed="0" Gain="1.0"
                                                   Balance="0.0" VoiceLimit="256.0" KillFadeTime="20.0" IconColour="0"
                                                   PreloadSize="8192.0" BufferSize="4096.0" VoiceAmount="256.0"
                                                   SamplerRepeatMode="3.0" RRGroupAmount="1.0" PitchTracking="1.0"
                                                   OneShot="0.0" CrossfadeGroups="0.0" Purged="0.0" Reversed="0.0"
                                                   NumChannels="1" UseStaticMatrix="0.0" LowPassEnvelopeOrder="0.0"
                                                   Group0Table="" Group1Table="" Group2Table="" Group3Table="" Group4Table=""
                                                   Group5Table="" Group6Table="" Group7Table="" SampleMapID="">
                                          <EditorStates BodyShown="1" Visible="1" Solo="0" MapPanelShown="1" BigSampleMap="1"
                                                        GainModulationShown="1"/>
                                          <ChildProcessors>
                                            <Processor Type="MidiProcessorChain" ID="Midi Processor" Bypassed="0">
                                              <EditorStates BodyShown="1" Visible="0" Solo="0"/>
                                              <ChildProcessors/>
                                            </Processor>
                                            <Processor Type="ModulatorChain" ID="GainModulation" Bypassed="0" Intensity="1.0">
                                              <EditorStates BodyShown="1" Visible="0" Solo="0"/>
                                              <ChildProcessors>
                                                <Processor Type="SimpleEnvelope" ID="DefaultEnvelope" Bypassed="0" Monophonic="0.0"
                                                           Retrigger="1.0" Intensity="1.0" Attack="5.0" Release="10.0" LinearMode="1.0">
                                                  <EditorStates BodyShown="1" Visible="1" Solo="0"/>
                                                  <ChildProcessors>
                                                    <Processor Type="ModulatorChain" ID="Attack Time Modulation" Bypassed="0"
                                                               Intensity="1.0">
                                                      <EditorStates BodyShown="1" Visible="0" Solo="0"/>
                                                      <ChildProcessors/>
                                                    </Processor>
                                                  </ChildProcessors>
                                                </Processor>
                                              </ChildProcessors>
                                            </Processor>
                                            <Processor Type="ModulatorChain" ID="PitchModulation" Bypassed="0" Intensity="0.0">
                                              <EditorStates BodyShown="1" Visible="0" Solo="0"/>
                                              <ChildProcessors/>
                                            </Processor>
                                            <Processor Type="EffectChain" ID="FX" Bypassed="0">
                                              <EditorStates BodyShown="1" Visible="0" Solo="0"/>
                                              <ChildProcessors/>
                                            </Processor>
                                            <Processor Type="ModulatorChain" ID="Sample Start" Bypassed="0" Intensity="1.0">
                                              <EditorStates BodyShown="1" Visible="0" Solo="0"/>
                                              <ChildProcessors/>
                                            </Processor>
                                            <Processor Type="ModulatorChain" ID="Group Fade" Bypassed="0" Intensity="1.0">
                                              <EditorStates BodyShown="1" Visible="0" Solo="0"/>
                                              <ChildProcessors/>
                                            </Processor>
                                          </ChildProcessors>
                                          <RoutingMatrix NumSourceChannels="2" Channel0="0" Send0="-1" Channel1="1" Send1="-1"/>
                                          <channels>
                                            <channelData enabled="1" level="0.0" suffix=""/>
                                          </channels>
                                        </Processor>
                                        

                                        SampleStart => 4th child processor => 4.

                                        const var b = Synth.createBuilder();
                                        
                                        const var sampler = b.create(b.SoundGenerators.StreamingSampler, "Sampler", 0, -1);
                                        const var SAMPLE_START_MOD_INDEX = 4;
                                        
                                        b.create(b.Modulators.Velocity, "VeloSampleStart", sampler, SAMPLE_START_MOD_INDEX);
                                        b.flush();
                                        

                                        Im begingng to think this Builder stuff is a bit pointless - if its not all there then its not saving anything in the end.

                                        I would say 99% of the functionality is there - I'm building the full Triaz module tree with the builder including hardcoded FX modules, loading custom script processors, etc. It's just that the current docs are a bit sparse and you need to know secret tricks like this one but that is solved with the glory of the new upcoming docs.

                                        1 Reply Last reply Reply Quote 4
                                        • ustkU
                                          ustk
                                          last edited by ustk

                                          Just a quick question without polluting the thread to much.

                                          Is this what I need if:

                                          • I want to create predefined modules only in "dev mode" (meaning I can use a macro processor during development and disable it before export)
                                          • I want to add scripts to those modules (they would be scriptFX that are using their process callback)
                                          • add/remove corresponding buttons on the interface

                                          The rationale behind this is to dynamically create a set of tools (modules + scripts + components) that are helping me during development then throw everything away before export with a simple macro (or uncommenting an included file which is about the same)

                                          Hise made me an F5 dude, any other app just suffers...

                                          1 Reply Last reply Reply Quote 0
                                          • OrvillainO
                                            Orvillain
                                            last edited by

                                            If in doubt, add the thing manually, and fish the info out of the xml. I've got a tree builder namespace for my plugin, that builds the entire module tree to the spec I've laid out. It is pretty cool and powerful once you get your head around it. But I don't blame you for the confusion; took me a while to understand!

                                            Now... SampleStart .... no... it doesn't seem to exist in the builder from memory. I'm sure I reported this before.

                                            The most confusing thing is getting your head around the chain indexes. I wish the API was a bit nicer for that. It also is very crashy.

                                            namespace BuilderModuleTree
                                            {
                                                const builder = Synth.createBuilder();
                                            
                                                inline function buildModuleTree()
                                                {
                                                    builder.clear();
                                                    // Build stuff here - in my plugin, I have other namespaces like BuilderModuleTreeEffects and BuilderModuleTreeSamplers for example.
                                                    builder.flush();
                                                }
                                            }
                                            

                                            Musician - Instrument Designer - Sonic Architect - Creative Product Owner
                                            Crafting sound at every level. From strings to signal paths, samples to systems.

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

                                            9

                                            Online

                                            2.3k

                                            Users

                                            13.7k

                                            Topics

                                            119.2k

                                            Posts