HISE Logo Forum
    • Categories
    • Register
    • Login

    Extend Arpeggiators 32 slots?

    Scheduled Pinned Locked Moved Scripting
    21 Posts 5 Posters 1.2k 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.
    • ulrikU
      ulrik @ulrik
      last edited by

      @ulrik Ok I managed to set the arpeggiator to have 64 slots.
      I had to change 2 lines inside "Arpeggiator.cpp"
      from 32 to 64, rebuild Hise and it worked.
      I don't know if this is good way to do it so I kept the original "Arpeggiator.cpp" file.
      Anyway, the project is working as intended, now I will compile it to au,vst and standalone to see if it works.

      Hise Develop branch
      MacOs 15.3.1, Xcode 16.2
      http://musikboden.se

      ulrikU 1 Reply Last reply Reply Quote 2
      • ulrikU
        ulrik @ulrik
        last edited by

        @ulrik Yes the compiled versions is working, au, vst and standalone (Mac)

        Hise Develop branch
        MacOs 15.3.1, Xcode 16.2
        http://musikboden.se

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

          @ulrik great - perhaps point at these two lines so we can all do it?

          HISE Development for hire.
          www.channelrobot.com

          ustkU ulrikU 2 Replies Last reply Reply Quote 1
          • ustkU
            ustk @Lindon
            last edited by

            @Lindon @ulrik Well done! Maybe @d-healey can make a pull request?

            Hise made me an F5 dude, browser just suffers...

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

              @ustk said in Extend Arpeggiators 32 slots?:

              @Lindon @ulrik Well done! Maybe @d-healey can make a pull request?

              Maybe, does it force the arp to always use 64 slots or is it optional? If it's optional why stop at 64 :p

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

              ustkU ulrikU 2 Replies Last reply Reply Quote 1
              • ustkU
                ustk @d.healey
                last edited by ustk

                @d-healey Be careful! The "more" guy strikes again! 😆

                Hise made me an F5 dude, browser just suffers...

                1 Reply Last reply Reply Quote 2
                • ulrikU
                  ulrik @Lindon
                  last edited by

                  @Lindon yes of course :)
                  I changed 3 lines, 32 => 64
                  line 111

                  numStepSlider->set("max", 32);
                  

                  line 120

                  stepReset->set("max", 32);
                  

                  line 414

                  int newNumber = jlimit<int>(1, 32, (int)value);
                  

                  Hise Develop branch
                  MacOs 15.3.1, Xcode 16.2
                  http://musikboden.se

                  1 Reply Last reply Reply Quote 1
                  • ulrikU
                    ulrik @d.healey
                    last edited by

                    @d-healey It's optional, you can set whatever number in-between

                    Hise Develop branch
                    MacOs 15.3.1, Xcode 16.2
                    http://musikboden.se

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

                      Now available in my fork.

                      I made the max 128 :D

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

                      ulrikU LindonL 3 Replies Last reply Reply Quote 2
                      • ulrikU
                        ulrik @d.healey
                        last edited by

                        @d-healey Haha... that was a fast one :)

                        Hise Develop branch
                        MacOs 15.3.1, Xcode 16.2
                        http://musikboden.se

                        1 Reply Last reply Reply Quote 0
                        • ulrikU
                          ulrik @d.healey
                          last edited by

                          @d-healey Is your fork based on the "script node" version?

                          Hise Develop branch
                          MacOs 15.3.1, Xcode 16.2
                          http://musikboden.se

                          1 Reply Last reply Reply Quote 0
                          • LindonL
                            Lindon @d.healey
                            last edited by

                            @d-healey -- I will await the imminent merge - and new version from Christoph..

                            HISE Development for hire.
                            www.channelrobot.com

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

                              My Fork is based on a scriptnode version from a few weeks ago (before Christoph got into his Snex rewrite) that builds successfully.

                              @Lindon The pull request was made 10 days ago, I don't expect it to be merged until Christoph is finished tinkering with Snex and whatever else he has planned for v3.

                              You can see a list of the changes I made here - https://github.com/christophhart/HISE/pull/156

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

                              ulrikU 1 Reply Last reply Reply Quote 1
                              • ulrikU
                                ulrik @d.healey
                                last edited by

                                @d-healey Great, thank you!

                                Hise Develop branch
                                MacOs 15.3.1, Xcode 16.2
                                http://musikboden.se

                                1 Reply Last reply Reply Quote 0
                                • L
                                  LeeC @ulrik
                                  last edited by

                                  Great and interesting work @ulrik
                                  Got 2 questions if you don't mind sharing info:

                                  1. You mentioned that "You chose the root note (playing it)" and I'm curious how to get the root note to be set based on a note played on the keyboard?

                                  2. How do you get the arpeggiator to only play notes from a given scale?

                                  If anyone else has insight your thoughts are always welcome.

                                  Cheers & hope you're all good ☺

                                  ulrikU 1 Reply Last reply Reply Quote 0
                                  • ulrikU
                                    ulrik @LeeC
                                    last edited by

                                    the scales are in an array that will set the arpeggiators "Num Step" and "Note Numbers"
                                    array.length = sets the value for Num Step
                                    and each index value sets each Note Numbers value

                                    Hise Develop branch
                                    MacOs 15.3.1, Xcode 16.2
                                    http://musikboden.se

                                    L 2 Replies Last reply Reply Quote 1
                                    • L
                                      LeeC @ulrik
                                      last edited by

                                      Ok thanks for the tips @ulrik... I'll try and work something out ☺
                                      Appreciate the response

                                      1 Reply Last reply Reply Quote 0
                                      • L
                                        LeeC @ulrik
                                        last edited by

                                        @ulrik so did you manage to set the root note by playing it on a keyboard, if so how?

                                        Cheers

                                        ulrikU 1 Reply Last reply Reply Quote 0
                                        • ulrikU
                                          ulrik @LeeC
                                          last edited by

                                          @LeeC
                                          example movie

                                          this is one of the scales:

                                          const var Ionian = [
                                          "Ionian", "C3", "D3", "E3", "F3", "G3", "A3", "B3", "C4"
                                          ];
                                          

                                          then in the noteon callback I use

                                          for(i=1; i<scale.length; i++)
                                              {
                                                  tmp = Engine.getMidiNoteFromName(scale[i])+(Message.getNoteNumber())-60; //  get midinote number from name
                                                  Engine.setKeyColour(tmp, KeyColour);   //  Colour the keys
                                                  notes.push(Engine.getMidiNoteName(tmp));
                                              }
                                          

                                          to push the scale in to a new array (notes), I'll start the for loop at index 1 cause index 0 contains the scale name.
                                          So the "root" note will always be the key I play.

                                          Sorry if my explanation is not so good, but I hope you understand what I mean.

                                          cheers /Ulrik

                                          Hise Develop branch
                                          MacOs 15.3.1, Xcode 16.2
                                          http://musikboden.se

                                          L 1 Reply Last reply Reply Quote 1
                                          • L
                                            LeeC @ulrik
                                            last edited by

                                            @ulrik Perfect explanation mate.
                                            Massively appreciate the insight ☺
                                            Hope you're good!

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

                                            12

                                            Online

                                            1.9k

                                            Users

                                            12.5k

                                            Topics

                                            108.7k

                                            Posts