HISE Logo Forum
    • Categories
    • Register
    • Login

    Keyboard(s) Paint Routine Inline Function

    Scheduled Pinned Locked Moved General Questions
    16 Posts 3 Posters 710 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 @crd
      last edited by

      @crd I took your project, added 2 generators instead of samplers, added a channel filter on each of them.
      Added an argument on your "playNote(n, ch)" function

      Try it an see if you can get any use of it

      HiseSnippet 2900.3oc6b0uaaajDmJ1LMRMe0hhC8eNf8LJJjS2JKR8cRChcbrS8kHKAKmzqnnHfgbkDgoH4QR4D2C4c3dTtGg9HbOJ4M3tY2kerjlVVwIJIsQF0oZmYmY+syN6Lytqf664nS78c7jJT7vSbIREtp7fSrCFu8XMSao8dfTguQ9HxIO2Qyy3YSLMLia3BcHvyYZfoMQ59m3p46SLjJTXkGRkrPwUkX+756ceMKMacRBIIom5XpSdr4DyfDp827QlVV6pYPNzbhPuqu4d5N1a6X4LEP4JxUkb0zORaDYeMZ2tjrTgKuigYfi2f.s.huTgUuuiwICF67Bad+epou4ysHzFJRC.EwIuqikAEwTpRaO1zxnej0vWRpvU5mXaVgaa9J4tfEHldhM5lLFnDIDsGEtTZ3sRJ3oHBupBvKGHUP.RqxgzWHOP2yzMHgCEOet7d1ADugZ5oWZ38U5RS+Z4scfdXGTYh1Qjc8fFwRTVoZ0pXD8eW+NkXdCULHCIdaqYY8bv16WNvaJA3swFc25Q6f1a+C6g1Bs6VaeXuC9YfZvXhGAY5izP1NADjiMRy1H7yCGhzcl35XCiNzBELF5nOCXkfEZ+.zwZdnAZSbsHdJn6h3HXDIHjV40hXtFfgSIh5rDQkJhnLfy6OocL4gDahmFrHkZ.Yq.rVfBfdhncEkz2LieVco9Fnqr.ibLXd1yvGTwN1if9WQ2i.9OT+rGa5GTl18nNUYHryo722oCkXIQ03Za8nvMrflhVy0LL5qYSrJul.+0vHXUmtjKPrhOIn7ZuvzHXLvud0bYOlXNZb.vuYtrAuFmWD66.cassrrPIDROwEDW47frBGyJYgkx4.akyA2JyMvKVT.51SmzaHnC5hlhRGXZkwVzmFx7.dHyxCmZqGX5XWdz5k9WkJRUvKFaB6PtK5WphUw0wMvsvcvJJXEUrRcrRSrRKrRGrpBVsFVsNVsIVsMVsCtlBtVMbsF3ZMw0ZiqWEWWAWuFtdCb8V35swMphanhaTC2nAtQKbiN3lUwMUwMqia1.2rEtYGbKEbKUbq53VMwsZga0A2VA2tFtccb6l31sws6f6nf6TC2oAtSSbm1XvxC+B.rZM32Fvu..qBzU.5TTq.zU.5TfCHWQEnqBzAvqnBzUa8qLiXwgNdnxlvbu5cPlne.on1F9v28cqWpHXbJZNDUlYcp.l6.vL5W1bczcA6L5a+13fEUL82Ghwr+zIOm30Uy0kXD1spfdJVbDcQfmIoL++4WgoU1JIwxGBZ8VNPJrAJdiIrw+oZVSITt+s6hfsnn6gxCFZ+1TOx5namKSWS6ihg3BP+O2B7moCPIpMhFL4.hdP4ewDcKV3Y5v7SzMSkWeiXmb1VuYvMh0Ox1kUd8ekN.upXoWs9o2Xz0YpOIZiUxNC1zLd2AT4A3e3p44SfbUblUdIZirf..cLLniIDBw2whTw0C18UFzBelRWo45vvSaTneFcbrz7CdDarhTL2DyVAnRQABXrC6GcAmJZQ+.GWpWQ4HFz9Wz0R6DFUPJHTEi3qJQ+OQHL14Xh2hBCrgSbzzsL0OhXPkJO3I10IzUlm3R6ZrtCMgP+XfyOBbgzYD8Hr5Co.9U7rRYiutLX3BMXn56qfgpKCF9tKXnxmTQCU+3NZn5hKZ3F2pDB9Y6ofZlfhV8Yzrgi0hQu7wN5XzIr+0muQiddWVOJcqMJUxz1hdJhHuCD+3A8OLRWkC0CnjTZf5.QUhkitlEBJQFrl4Umch3.fSD3T03x.DatDpAZncOGWhWfIwGNY4j+9fd6GpN9PiPgkleaZo43HZgkieanb7XZ9vgj1ytuGAzJvIgQlZyuc1Zyi6HwVCNbM6XSDMOanmC0nANnLoqEE2XCX0A1ySPuHxNAGXkE7yL.Y3P7gyo9BGuipvjgawpXnEnUgZDDLsBFivdMqzbztEYOBk5S67darQtGhJ1BUbV4E4a3mcBqTKcmW5wKPZECMui7f.ImQhkjjqyS104Dr7TrfsaloJW.ylDcGkG9L.Qb9zEAJRTNujlEY5ZHesfuXb.jb1yO6D3Ia7eqRjWLL2Wpr17sAmaNyyHoIW5yH0ctGUflMk8aJvDk+dAhF93lZTEximah7zXTHU9oykS6ZtYyOU5bQu.tOgGIXpmcn2.ju+NotPtjDzfs3T4rWK4ygWGGNtLa18s9NPQJEoUf.pZtKX3zEaDadsw5iYkjFuyN1hYiCu7SnjBZe6YWVeLFAjg7MPP10uyFaD1CA0ALWmVkzoGy3EIa1.FuRlJbhcT3jvpG45mdwy8FN79mrCWfbEjelh7lFrKVk5S7J.Ww3wwNbVcFy+tDeesQD5PjD6t75Xj.iH7vFbw6DQrfwRnri4vguwCJeRLmCBsTNOGK5EmyFmLrouOS9bBErrMabwfiJ.p3NJUX0zuDh7Y+RHhOTiNuxRgN5XumsYPOWh8Y87MRgkiBe5I68.HIJ84SBokTdJP6AjiM0I7GSon7CH9GA9YfV2N5MJjJ7YALtWK5oVn0GKYZPoHXNkdILgJPewpSh9.qJWPsW9eWf+VV7RboT9gvWBKccrREtgbp5XoyiyGGWWDGJY.hw6QfbU4j3IKH6woeBraJ20wXpE8UTDeQN5yPFx.bNS8LXzm5x12L3DwmoL6yzs578Lcy9UDmW39Ex8MCzGmOduTN3EbmWz3M7QOul7NCGBkTk.1Uk28eLyW37cNTtNGJetL8kyXwzY.4uHm2qxMiGi9+NuOFs6b+Xz8zCfg+POMaeWG+TJd.Yh4gvVFeQhOwmrqG4ed.cUVj91NzJ.yg0qu2tvjLWYFnAkZvbW1BJmwNHk6wJy8ZhXr1z6ZD5eNOG8pKpWHeNwZh+y49Z4gv6Fx.hrgnU6ZZEP7Bch5t2C1CEx.w4j1IJqsbk4CeyJqDMACKWI7IdzzqGFMcfkoA.MZ3zaHqyQEOOtDKcp3hrzbnjRxSbI.x8BtXxeEp76XaDIsbgaJI8dLN76lutDEiv3.SZks6XeLwBpBfgwuDR6OTapUPD0zq9ccrcbG6XapKZ5NfD3YNZDwSD64Ng1JH.RckP4q17.hEQSLVw2r4ig83ZdfchbAsEJuwe0Qxc85qk4vEQi6g9yQ9yU9zL+I+RGG0UCbTo0hAAQF.oszIgg5nEfW3Rzf.71UiJSa.w1f03+A+DxTg1tPHSkHlhS2+Je59kxCBfSVNAF4vCbxlykjiN9YpJatfeWwl+zy88fczZFCL+Mgt86ad+ovZhWZp+mMYCU1TotaFh7CHtvIlSuEErxG7POmotYk5JaxbHg5BzOBLEhywdPILicRkrdaOGe+gvzgoqT0Kzep2HpsRLxywDO+zzf0VwU0U3EZP8mL0ib.R5MaTpdnFym5Rx71JYZqlocsLsqmociLsalocqj1bCZWMWpmA8KvWlyE9YyWXNPAridHzy6aNJV4bJhaRhMyLnH7MDLm.lW9ilhadahKtL86xzuKS+9g93qyxzc8vDiHdI5ebuNeUYVnbDMy6GJnlorlqkaYMW9sprlPlphRplgYMQIqkgYcQIqmgYCQIaDWJkdD7gYd3mY2aYgU3OgMqdIKH2uk31HenPFpY3xxc6seOIoKhjGzqW2yVxUxH4O+6QRVTdv1+Xuc5O3BeWMpKuqlk2Uya6c0n9Gh6pYyk2UyBoXwZKKVbYwhKuqlExc0n9mp6p4JadF2Uyqu2Gx6povx6p4Oh2US0k2UCkp5xzuKS+t7tZVdWMevJqQ3dSJ7le6GPFs2Knbhltmyyz4Ggi8mW.FE.k1r+LFTTtKsMRI9naxUqTUh9WbgmoqS2H78fENeYTu.xT6BHS8KfLMt.xz7BHSqKfLsmoLzxD1ZZfyDdPRfP+c3NVE1I4xwj9+fjAiQH
      

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

      d.healeyD C 3 Replies Last reply Reply Quote 0
      • d.healeyD
        d.healey @ulrik
        last edited by

        That video is out of date now, you should probably be using LAF for this.

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

        C 1 Reply Last reply Reply Quote 0
        • C
          crd @d.healey
          last edited by

          @d-healey Is it possible using LAF to display separate keyboards with separate sample map ranges?

          I used the paint routine to get around using Engine.SetKeyColour. .isNoteNumberMapped allows for showing more than one sample map at a time.

          1 Reply Last reply Reply Quote 0
          • C
            crd @ulrik
            last edited by

            @ulrik hm.. I get the idea. I'll see what I can do with it. I'm not sure how routing the midi will work with MPE enabled instruments. Thanks !

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

              @crd I think you can use isNoteNumberMapped within laf

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

              C 2 Replies Last reply Reply Quote 0
              • C
                crd @d.healey
                last edited by

                @d-healey Got it. Thanks. I will give it a go.

                1 Reply Last reply Reply Quote 0
                • C
                  crd @d.healey
                  last edited by crd

                  @d-healey What is the laf function to call? draw___?

                  Sorry -- I see: "drawWhiteNote", "drawBlackNote"

                  1 Reply Last reply Reply Quote 1
                  • C
                    crd
                    last edited by

                    It seems like paint routines are still the only way to have multiple keyboards with separate sample map ranges shown. Unless there is some way to assign "Engine.setKeyColour" to a specific floating tile LaF keyboard that I am missing.

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

                      Unfortunately it seems the parentName property of the notes isn't populated - @Christoph-Hart

                      If it was you could query which floating tile the key belonged to and colour it differently.

                      At the moment the only other way I can think to differentiate between them is by setting the key width differently for each one.

                      HiseSnippet 1158.3oc6VszaaaDDdoroQEaRaCPO0SDF8fLfp.kphsSBLhs0CWi3GBVNNAnoHXE4RosZ0trKWZGg.CDzeY8mTu2CtyxGlT1JtwBHEn.UGr47ZmuY42Lb5IEtjvPgDYT9zoADjwCL6OkqF0ZDlxQ62FY7UliISGHvROEITg1cZ.NLj3gLLVZOsOFkWFE+6Oe9tXFl6RxUgPmIntjCnSnpbs819ETFqK1ibJcRAuat89tBdKASDA3YISGT.1cLdH4Hr1sRlHiU53QUBYeEF.C3ytBuo8GItfm3+YzP5.FQKTG0GNnD0nVinLudY0ZHBYrbu7JeojJ+aMOj5QuVe9Mv2DavNOhh2AFktKHU+d.IiBPZ4DH8Hy9tRZfJ2hFOeo49bEQ5igq5hPIwWTo+xvrk.7fqpMAOlzUBBWGQk0cbpZC+YsmYYAW2gJaF12dK6N7gTNolqj.ExdLw.LK4.OPHFuC2qKgvpnCBbuljLjFBmX2HtqhJ3UV0Shu3UinJxQBEY0p19YVFV0VL3WWy58Vko91UfmqwAWNJZx.hzdqs.rrlUYvZYsILj9etwun0WuYMG6maOrVHQkPJpj7uPH8dqY+z4ZZ.Kh.nr7kVkIrPRxIOOGwbE82hHWnwbZ.Vfi9.07DQD2i3cBwUg4CYjJYHqpcCv0KW6YYUmsfqq2i4UhKPqKsruoIe+4ZS+FRJXLhbtl0cFx6JvJ73Kvp1mi0Ubli.0YV93JeZ7Q2DBSAGE784T0wAjT4tBlmlmoe91rWTJiCd5k62FqvZBcpNvu.hTQ0vwnM4bXhPB8trYaR3XkH.ZtaIlDH35SvXEUr0GlQ9wbBCQ8zihB3rWjNMpN5cEGzLMW3629BpmZz0J9iee6QD5vQ4if9va1Vitqy3CToS.RxXWl.qn7gmRgKJch+Zyhp93YFgtUlSuCRJXKyLziFLLaPW4U777tR6NvDmjq8pqt56lUaiT0wNqHuSk6bV9iu5K8FCy2aYauJjsWoAzpO0t9iqp0zlFFvvSOFX1mm1CBF8wPqRr8CDW.AApZzLV9mnIh0arQrbqnPkXxdRbvHpa3Lg1l3iiXpcBBHXo96.fUkLJw3tLXTNbTm.2hBvfSs0eR7uM2zYim3rQ8XuNULDZ2NT3Ql4j0iegwwbfGngRrtWFRNC5OExBX45rAF6xvp9porabR85j8F3l5gFFoJOKMxz2g6UH2qacI7UII7Fs.84F7Rz8lK23iwn9v3Oyb4F+mjK27+4x+qvka.KqcqkRf0gDdQ.jlcGI8xfoFfOTMyhI5kO3gT0zhKKdOVbx4NWb5SEhOxrGU4NZ9XrzbvH7IrOGXLccyGZ1w2GdqmCvkM695Ec2x+gzCazn63ODqjTng2D5V5CcatjT5.b3lFkzeFOQ1QKquA5S3dwB5V0Ti00xFoFqmYDMA6JEu0MY8D8BseQrF.S7382KadnV1tNJdkEHNSmZNnIPCwacc0k+O.yNmeLMVfX9wEHllKPLOdAhY8EHlMVfX17NiQOKZmHXFXR6.nnWm3gtFFc3XfYEyBQ+MvlYZ9D
                      

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

                      1 Reply Last reply Reply Quote 1
                      • C
                        crd @ulrik
                        last edited by

                        @ulrik

                        Is there a way to trigger a note in a specific sampler with code directly? That way works but breaks MPE...

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

                          @crd Sorry I don't know how to do that

                          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 d.healey

                            When the keyboard's useFlatStyle property is set to true the keyboard has a transparent background. However I notice that there is a line at the bottom and a shadow at the top. How can these be removed?

                            fec93afb-afeb-4a78-a698-8c93ba53756f-image.png

                            HiseSnippet 1044.3ocsV01aaaCDlxIpH1qcaEX+.DxmbA7Lj8xxKaXXN9sLiFmXT6lNLTrNZIZINSSJPQkTih.Lr8mZeb+j1+fsiRVVRINACFq5CA9dt6He3wm6XFIENjvPgDYTdxx.Bx3oliWxU9c7wTNZPWjwmZNmrbp.KcmPBUn1KCvggDWjgwNmoiwn7tn3u+96aiYXtCICBgtRPcHmSWPUYniZ8RJi0G6RlPWjK5CZMvQv6HXhHfO6XZiBvNywdjKv5vJYhLdROWpRHGqvJRHxX21B2ki8E2vSh+JZHcJinMZfFCKTBbeAyUyXMJpiOk4NJ8bGhfUYTVUXmjpvWXNj5RWimUM97XGVYYjudXTpH81o.8Zjmd14n2FnjQNJsaBkdt4XGIMPk4QymOwb.WQjyvPYOOURhEU5OML6HfH3p5KvyI8kfw5LpdnscMK3Ou3aqTAJ8gJKFdl02Y0i6Q4j5NRBbPNiIlhYIK34Bw7S4t8IDVUcRP30kDOZHrh8i3NJpfWceWI9lWtRzzFtB8jhHt690rlkFhWMKwze8EU9Pkae7k4M9TE4BghrUY2lA69ilcJpkfqi6RdUsixUtsh0ccMa1F8oKuRAiQjazsVhKerDqxiVLkHqYcMlEQVGHbuWTLY9vho7Zcmja6bAJ3C3T0kAD9C0AfVIQfe85AcwJrVAtBChKfHUTMEL5RtFZmSzikM6RBmqDAPmYGwh.AWuBF6oh89rT0JlSXHJnI2yL92MPuO+7gk4a+gq5Eos+kex+.eZ7Lzl4gug5p7Wm8u7Gs7ITO+rwLshZgxwqmpV0Xmvq9LAVQ4dSnPITSuOyLOzCyxet0pBSRUnhYpPGM0Ki6oIV7Dcezl4gUj2qtevw2Gkdqg4GpXYsOrauQev2+arNvttcMMVWZX.Cu7RGE9ZxEwpIv8LLKjD6+bgtaDfNI17GnIVMZdTrcmnPkXwYRbfO0IrPlcIyvQL0oAADrTOZG7pjQINiatfk5UPUS.Nrqe3IweGer8QmXeTi3nlH77XjgBWRgUVOEElpxAEglJwXuNjbEwAj743x5cCb1mgUiUKYEXwvQ8RuAJtAi5AcNRU1lzLEuG2M2VeXkauiV5u986pk9sepE59Sjg2BDtQ.oJ9.g9UwUNfF8BSk0Sd4gT0x7uZ9+1qF+Wo3yMGQUN9alik1.GgwAeL33p2ZelYuYyf68LBtqY+e7iyCqnWIhz83CwJIEZwMg1kwPCmCYkhPOn0njdjXhss1VWAFS3twF54Oqb1PaarxYiTmnEXGo3cNIi20uluWLBvId7+HSYygZaqFn3Q9PdlPqLZAzR7NGG8w+KgozaNmlaQNe0VjyAaQNe8VjygaQNGsE4b7ilidZzoQvTvj1A.XTu34tFF83XPYEqBQ+qzA2fh
                            

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

                            C 1 Reply Last reply Reply Quote 0
                            • C
                              crd @d.healey
                              last edited by

                              @d-healey setting "DefaultAppearance" to false gets rid of the lower line. I'm not sure if that helps...

                              I ended up using a paint routine instead of the floating tile approach.

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

                                @crd said in Keyboard(s) Paint Routine Inline Function:

                                setting "DefaultAppearance" to false gets rid of the lower line. I'm not sure if that helps...

                                Still shows up here, just moves down a bit.

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

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

                                25

                                Online

                                1.7k

                                Users

                                11.7k

                                Topics

                                102.3k

                                Posts