HISE Logo Forum
    • Categories
    • Register
    • Login

    Voice Limit Count: scriptnode synths?

    Scheduled Pinned Locked Moved Solved ScriptNode
    22 Posts 4 Posters 976 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.
    • griffinboyG
      griffinboy @Christoph Hart
      last edited by griffinboy

      @Christoph-Hart

      Sorry I'm struggling to find that in the docs! If you meant the javascript which I assumed you did rather than the c++

      Unless you do mean the c++, so instead of using NV for the polydata, I just type in the desired number of voices?

      or something like

      template <int NV = 8>
          struct Granular_Synth_2 : public data::base
          {
      

      ( ^ Okay well this probably wasn't what you meant because it didn't work xD )

      // maybe
      PolyData<Voice, 8> voices;
      // instead of?
      PolyData<Voice, NV> voices;
      

      ^ hmm, doing this wasn't right either.

      Maybe you were referring to the Hise UI scripting? I still couldn't find anything in the docs about it

      d.healeyD 1 Reply Last reply Reply Quote 0
      • d.healeyD
        d.healey @griffinboy
        last edited by d.healey

        @griffinboy https://docs.hise.dev/scriptnode/snex_api/containers/polydata.html

        The docs search is limited, I use github's search

        Libre Wave - Freedom respecting instruments and effects
        My Patreon - HISE tutorials
        YouTube Channel - Public HISE tutorials

        1 Reply Last reply Reply Quote 1
        • griffinboyG
          griffinboy @Christoph Hart
          last edited by griffinboy

          @Christoph-Hart said in Voice Count: scriptnode synths?:

          NUM_POLYPHONIC_VOICES

          It's a pre-processor definition?

          else
          {
          	// your handleVoiceLimit() function failed...
          	jassertfalse;
          }
          

          mmmm.... I'm managing to do nothing but break things.

          I'd like to be able to set a voice limit at compile time. It's all for efficiency reasons. If theres no overhead then I guess it doesn't matter, but I know that it makes a difference in the sampler so I wanted the same for my scriptnode synths.

          griffinboyG 1 Reply Last reply Reply Quote 0
          • griffinboyG
            griffinboy @griffinboy
            last edited by griffinboy

            @griffinboy @Christoph-Hart

            I'm sorry to pester πŸ˜…
            But I'll have to ask you to elaborate / be specific

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

              I'd like to be able to set a voice limit at compile time.

              Yeah, just set NUM_POLYPHONIC_VOICES to whatever amount you want in the extra definitions of your project, it will be used globally for all sound generators, including your custom ones.

              During development you should ensure that you compile HISE with the same value as you compile the DLL with, otherwise it'll be glitchy.

              griffinboyG 1 Reply Last reply Reply Quote 0
              • griffinboyG
                griffinboy @Christoph Hart
                last edited by

                @Christoph-Hart

                Ah, in the project like this?
                I never knew this existed. I assume it will only take effect after compiling the whole plugin?

                eeac91d1-9865-4400-b426-5b99b42f3767-image.png

                I initially rebuilt hise with the lower voice count pre-processor but that caused errors when I tried to play voices above that count. Perhaps this way will work.

                Thanks for elaborating.

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

                  @griffinboy if both HISE and your dll are using the same value here it should work fine (and if you change the value in the HISE source code directly you donβ€˜t have to do it here).

                  griffinboyG 1 Reply Last reply Reply Quote 0
                  • griffinboyG
                    griffinboy @Christoph Hart
                    last edited by

                    @Christoph-Hart

                    .dll ?

                    I have a feeling I still am missing a piece of information. But I'll see where this gets me. I got errors when I tried to build Hise with the pre-processor definition before. I'm going to try all of the different ways and see what works.

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

                      @griffinboy if you compile your effect to be loaded into HISE, it'll be a DLL that HISE loads and calls into for the processing. This DLL has to be compiled with the same NUM_POLYPHONIC_VOICES value or otherwise there will be a mismatch and glitches.

                      griffinboyG 1 Reply Last reply Reply Quote 0
                      • griffinboyG
                        griffinboy @Christoph Hart
                        last edited by

                        @Christoph-Hart

                        How do I set it for the DLL? Is it a case of:

                        template <int NV = 8>
                            struct Granular_Synth_2 : public data::base
                            {
                        

                        in the c++ node?

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

                          @griffinboy no, use ExtraDefinitions NetworkDll in the project tab, or better, just change the number in the HISE source code directly and done (since you have to change it anyway to match).

                          griffinboyG 2 Replies Last reply Reply Quote 1
                          • griffinboyG
                            griffinboy @Christoph Hart
                            last edited by

                            @Christoph-Hart

                            Hi is there a specific place to do this in the source code? Just want to be sure, sorry for asking!

                            griffinboyG 1 Reply Last reply Reply Quote 0
                            • griffinboyG griffinboy has marked this topic as solved on
                            • griffinboyG
                              griffinboy @griffinboy
                              last edited by griffinboy

                              @griffinboy

                              Update*

                              Adding the preprocessor definition that Christoph mentions in this post

                              NUM_POLYPHONIC_VOICES=16
                              

                              in every available preprocessor box (including the juicer file when building Hise from GitHub, and the project preprocessor boxes) seems to have worked.

                              Voice limit must be set to a power of 2, or you'll get an error.

                              1 Reply Last reply Reply Quote 0
                              • griffinboyG
                                griffinboy @Christoph Hart
                                last edited by griffinboy

                                @Christoph-Hart

                                Strangely, I seem to have broken this...
                                My voices are being limited and I can't set a new higher limit. I've tried sticking in

                                NUM_POLYPHONIC_VOICES=64
                                

                                Into every box I set my eyes on (rebuilding new version of hise on new hard drive, sticking this definition everywhere, as well as in all the boxes in the project settings) but to no avail. The limit is still stuck at 8, which is an old limit I set when I made this thread.

                                Is there some way for me to change this limit?
                                I find it odd that it carries over even to fresh hise builds,
                                I'm thinking maybe the projects I created while the old limit was in practice, have been infected?

                                Or is there a place in the source that I need to set this up?

                                griffinboyG ustkU 2 Replies Last reply Reply Quote 0
                                • griffinboyG griffinboy has marked this topic as unsolved on
                                • griffinboyG
                                  griffinboy @griffinboy
                                  last edited by griffinboy

                                  This post is deleted!
                                  1 Reply Last reply Reply Quote 0
                                  • ustkU
                                    ustk @griffinboy
                                    last edited by

                                    @griffinboy Have you checked the project's XML? Might be there...
                                    How is a blank project reacting?

                                    Can't help pressing F5 in the forum...

                                    griffinboyG 1 Reply Last reply Reply Quote 0
                                    • griffinboyG
                                      griffinboy @ustk
                                      last edited by griffinboy

                                      @ustk

                                      yes! its in the project xml

                                      <Processor Type="SynthChain" ID="Griffin_WT" Bypassed="0" Gain="1.0" Balance="0.0"
                                                 VoiceLimit="16.0" KillFadeTime="20.0" IconColour="0" packageName=""
                                                 BuildVersion="650">
                                      
                                      1 Reply Last reply Reply Quote 1
                                      • griffinboyG griffinboy marked this topic as a regular topic on
                                      • griffinboyG griffinboy marked this topic as a question on
                                      • griffinboyG griffinboy has marked this topic as solved on
                                      • First post
                                        Last post

                                      10

                                      Online

                                      1.7k

                                      Users

                                      11.8k

                                      Topics

                                      103.2k

                                      Posts