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.
    • 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