HISE Logo Forum
    • Categories
    • Register
    • Login

    Midi Player and drag to DAW...almost There...Speed Buttons Success!

    Scheduled Pinned Locked Moved Scripting
    31 Posts 7 Posters 2.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 @Christoph Hart
      last edited by

      @Christoph-Hart where do I find the timestamps?
      In the documentation there is this example
      So to get the eventId I use

      e.getEventId()
      

      but how do I get the timestamp?

      e.getTimeStamp() is not working
      

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

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

        @ulrik stupid me, it is

        getTimestamp()
        

        lowercase s :)

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

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

          @DimitrisSP try this, on double tempo I divide all timestamps with 2 and also in the time signature
          and vice versa for half tempo.
          It's working ok but, the first doubling or halfing of the tempo is not recognised, I guess you'll have to fiddle with the code a bit

          HiseSnippet 2248.3oc4Y0uaaajDmz1LoRIpWZQwc2etP39C57AsjpiSxEDDEqORTicrfkRZKBJxQSsRZuPsKC4JU6FXf6QqOB2iv8Hj2f6lcWRwkxRxJpoWObkAvQbmY1427alc49Q6PlGNJhEZXlq6YAXCyqa04LJeXsgtDpQq5FlWwpKNhar+YAtQQ3dFlla9TgLybaYHe9vi2202k5gSaxv3ULhG9.xHBOs01UeNw2uoaObWxHMs2sZKOFsFymMFvwlVkLBb8dq6.7KbEpsgE.hF8HbVXGtKGGYXt09rdm0YH6GoJ8eEIhbhOV7RYiNPGoZtIyum.whVMpMj32qcR7FYXXZ0NM52TE8ek0gjdjosmxB2PJ.kZgNeXtwxfW4KGdklG71PCdWMI4Hgmu6Y3PIrfFZUuUbC5Pp13vPLk2A+tw3LolO73XQcCARVu8CXrfFTW.n8zaVz4m.p1I.mUf4lYi5MWsn9hQpgHnZR7whn1L4EPaQDBY+5tbWCyevZu8bnc2642u1wsO7oNNced6NcGz76cfmlNscbpOYW5OU+kmF0DZYx233zp0sZ7rSbNdemF623u6+cmN3VNzVfraM1YhiyImUywoRo9m1wwP3QU4VQq2293i9lF059llGcP8FGe99tQDumFxXSvkcFQD7qn.tCY.0kONDrw5EiGsuKDKZzyKXiHfb4Pq3FuQ05X57ZVP8.MFx0GBoxGYnbCsRhsTkDegUGuPR.OUhf0tlUKJGG12ER85kEJcM13OUvpFCzfxcF49VbyP3koVXuWoR2Fc2Rk19gExWH+N6nJ8kEYnl9LWNgN.0EXLjKsGJo.AcxXNmQKjGFLGwQSbCQoEmnGgjyq3L.ySqgsKlpQQg2RMMwOB2TFrNAtf80XiBXT3E6hYzZldPzsKzPgvhIwmrzFsuD9Q5cwyb86uvtPHbFW9BV3HW+EZgR7L1TmMFFkrPaThmB0CXt8PcGhQxbhnpsP9TNzIByEsYWbY0vEuUQQYbwai3giwp+p5egGpEhgwyHX5AZT.KjCj.smONTGy7g.daPGPnXGOo9SUOVa6D.eDUqqf4SoCvHOWeeQESg7PAA.4inSUQogceW+H.Y8GS83DF0lDIBPHQucg7uuPdD7vnhlDjVHy21KgwtM.PeU7bdBFD7UhOQbFxSYDJHoxk0GBILBJlfIjQiDTaeI0Rn9PLNEGWlSAvIflBfBhJfEQjFNktfrqnKdF1sm81NAAuqcrJOL0JeWfmubKNp+Afhv7NxoNzr2SMCulysm966H68s2Y2GlfS0eI8Q1B2Hb2qDAi81aiheTZ.Oue5uPZiscD7nsb1h4IMRgeAQmfb6YPnlomWHeNLj7g+altgyBTN4bYZcYiqE9LNIUKNuamI0kVtmo1HtNPNrORNoPxbZWrPPnzxJDf.PvoB0z4TUf9dU3EmgAz9LFjICFYemxBnMeYo0CIsrMZGTkDx67kyLpoqlOynEKKmYhmf6x3FkZKmcRJ5T5lkhVL2ja4AYxLryOLy.qkGnwyJeYApRsUnLPo3uhEB2bkKDR9hx74nLQjnGABJGzARVAOA5gCHQbsuELsMXZFsgqfIMRj.eLPRz45.8ST7RRQCEix3X.W4dzEeVvHttB8WHem+8J1N9sbvq47YPtE4q.3q+gGNsId7Z3t.tyr3NA1ykKQWm3E5gt4iPUbJIDkcltr1lXlrO5yBQ1XDglRY.DkXLAQQ.VvIPHh6NJP49b3j9V0HO5lf2UhDQlSv3ng1XYCmmESd9X2PUun0ZeevfCg0KB6xRlgD8hPoygRm7KYFDI+uroQzSPPGdgrdO0.qOl7tpj7+Ux767wm4+Tm7242fjuVRX4ScLSAPgo+Ck9yLepfiOhZKSf4OOOZVQ86OWYwNPtRy4HVvVgKyPa53QmfC0KeDJBaqJ6lZsVsM05o3LMEYzVTB+n.LcQm+fQLQCa58JwnBTkK2U2mGuqN0dRLD647JVhzmgDu5aSzXkrULzLwVKyU0tOyR8IyY8JrSzUxZUEw5g4qYMc5j0qCJXoUPNmt3ksjGr.rs33DAjbBvgbhHuaVGOg3gU6wNmUcbzag0eZXd0oCI.d7xxUmN0e+KZ0yl9xO+5p+HoGeXJZ99pFZ86Utr73h5WuK1ugt8HLXeeiClI6sBdaZ1eA9q5vO09KtdYQwm+53uqyiOYOk+zOw.oW+CVYNDAMmiNUOXec03xDUMwWJOJtilfCgLcaWJ123jAImg40r1qRo6c28dvCpXPfO0kz90s1sx8uW4u9dOnx80DTIVRk81a2Rk1M9.u10RtJ4hSmynUuh+Uj9Ilbao7Vzd3SAIkfk8YLCAcP0gXxfgZmqzip1DBiNjeRavveIS42UWogjozzOOPOGENSN5e75K.g5UIQGxFANyMDrzbiUy6YGOm5++VzuX+ewiU6FVGx5M1WbPc5GBr3juiE.eNIyQqIN9LJrc1yxbFoq9ICWZkO35UEtegUaB2a37w6FyAuhCc9WY7FeN6ErZzuO1imB1srZ9cq6gpudP4yUP4ZVcf0aJObRIP9ix2Qeq6DL5oXJNTPpkWx8e7OW06+HXku+ii73f6iOTrH8NtZG7HRWXrRjt2dYDtYH9cGKxx5sWiAqXcdh9viaBA4bsoiXArxxkmLhMll4Hom8H++nuni4dOLa8av8v7oez1u7IG1b0f6bXPy1W3d7tATFOJvG2fNA6CqqQhwuDVHSe2w97jVyVWeHixBFxnDO8j9wXdHYv.bnN1ma.8DNOycJ8UUOFC6.IJymZN.J7bCAdBulbQ4UmKVV95OaofKRLXD8+GSpu4uOmT+X1Xw52NzEJTOUcabcf4R8vhaS.VYlXebvW4ElJeuTxdf5fo8ju7ugmXgkEuaFKrbhv+q3iQtdgr2De6DhZ4OS1BD2T4USly5Pw6nxS2ImUImRFh6q3MddB59N.+LeaprF170qgM6tF1b20vl8VCat2ZXy8WpMhOF8jwb1H0PQng1MTqd2b5Uoatow+ATiiVB.
          

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

          1 Reply Last reply Reply Quote 1
          • DimitrisSPD
            DimitrisSP
            last edited by

            @Christoph-Hart @ulrik @MikeB A big thanks for your help and a big sorry for been late to respond.
            I am working on a project away from my home(and of course my computer)
            and it is impossible for yesterday and today to check and try your solutions.

            But tomorrow i will be back home so i will try everything.

            1 Reply Last reply Reply Quote 0
            • DimitrisSPD
              DimitrisSP
              last edited by

              Hi guys...Today (all day checking and trying) came a little bit closer by using the snippet that @ulrik suggested...Thanks a lot my friend @ulrik
              In that snippet Half and Double were working (but not at the first hit)...i had to press twice and it was working but with x2 effect of what was expected...
              It means that if i wanted the half speed i was receiving (after twice press) the 1/4 speed...and the opposite with double.

              After some trial and error i made that working at the first strike by commenting out

              //MIDIPlayer.clear();
              

              So now every time i hit the HalfTempo button i get the half speed or if i hit the DoubleTempo button i get the double speed...and if i drag n drop the midi to DAW everything is ok and converted as it should be.

              Here is the snippet as it is now

              HiseSnippet 2254.3oc4YstaaajElx1rcoRT2zhhE6OGHrnftwkQxwwIYCLhh0kDswNVvRI8FVDPSNRZZnlggbjqcCLPeI1+2Gg8QnOB6iRdC18LyvKCkTTTc2zTrKQfi3YNmy7ctNWXuHlGNNlEYTxZv4gXiRW0r+4T93licITitsLJ8AlCvwbi8OOzMNF6aTpz5OTLVIqMLjOu9966F3R8v4jLLdFi3gOfLgvyo1qwiIAAcb8wCHSz3dmFc8Xzlr.1T.GqaVyHz06EtivOwUv1Zl.HZ6S3rn9bWNN1nzF6y7Ou+X12SU7+LRL4j.r3k5F8AEoH2gE3KPrfpQywj.+do1argQIyd4V+5Jq+SMOj3Sxnm6Etlb.TtD59iRqsL3UWGd0Vc3slF79vzfiDdAtmiijvBHzsU2DB5Pp4znHLk2G+xo3BglWe+jgFDANYc5GvXgsot.P80IKT9I.q8CwEGnz5Es50eyVsdPYdK0PXTcHAXgUWJ8EfagEBQ+VtbWiR9l2ttCcvtO9NM2+ap8PGmu6w85OXTmu1Ad53zywo0o6P+gVO8r3N.kgCbb5185sezINGuuS68a+cAe0YibtSygAvnW+5.MGmWLtkiyot9sbtIuy.+8MDSrJqqp4q5c7Q+s1MG77NGcPq1Gew9twDuGFwXmhq6LgHbyh739jQTW9zHPFymLcx9tfIkWHz3IrIDXbYEVBwq0nEltHxhH.3Mi35URpvRAOugVlwFpLiO1ruWDIjmOhv4cEytTNNZnKjAnmcn30Xs+QEylLfCJ2Yh6KvchfWxjvd2Z01BcqZ017dUJWo7MtgpBPlqg5Dvb4D5Hz.vigbo9nz7DzIS4bFsRYnlNliN0MBkmih1CIau3LByySksqlyQUwrkKZ57Hll5fzovEjuIaRHiBuXWs.WynAgZeiBJFrpx9DV3ALWezfwXjzTEICUJmCMmXLWPyt5xRMpd8phripag3QSwp+lOCMivP0BBJ9nwgrHN5QfuK.GoiX9X.usoiHTrimj+L1S31NMjbDUSUP2J5HLxyMHPDHpTF7y.jOhlwhhC6gtAw.xFNk5wILpMIVXff+ayJkeUkxH3gQEjDNsHVfsWpGaK.fAJ64hTLH7WoyIhyPdJgPgoIDrgfIgQPLBZ2glHbsCktVBM.rwLb71lT.bBno.nvQExhIRAybWPzUnhGgc8s2zIL7k8RX4d4RE3B942tDGM7.fQnbVVQpIump+o1jam86uPp8MuwN2KEmp+RFhrESiX5dlvXr2bSTxihC34UY+BoUx3H7i1xhvEMZrB+BGcJxsmAgZhdQkxVXH3C+2LpgyBUSxExv5xJWDyYRPpYRb2tPnKMcWjc7H2fgnmvhl3FHaSzhMEVTHoIQrdZufyAXXtdiUqYbLSItR8KWVMdlQZEhVtzZ7jztHWdI0XPzuUCfagJLivq5p3umT5XAyhr1.eJLMGPh45JNiHnasPEHS6zQxZD7DFzUgMbnRn34qs.oD7bzvg1Affagnh2n4U7CYQ1XDghDCuohlVFIYnM1gDmpiMQe1mgvYXoKT7f1auDkVf7lZ4svSDFVqjhvI4jPB4E4IKV8A+QbxdVPiEoNbgCyZu4eDRLeCjrHvx5hnl5.Fz0RZshXmHjXoHwSVUeN2dgk6ktdqTdcRV5G846g11olXH3ehx9zY0BlVKqhUtEUXptjJ1BhGHU.IKOPnEkZRQpHsCmBsXt6jPErrrvo5WQkG+4.rRFSXyNgSiGaiUTDsErfE3yAmW.1MJQWZjGF.RcHrACX24x7OYxhfqKVdmCsR2E29X1.WdOj4SLRZmrjTi4SLzpFeOlZT+2moF0eelZTny7hSNlO3srzCe0RL+hROz5N+9J83F+2nygk0utDDKkBlOG4Fx1GoCWHMIg369LkBqBu3Lk4ii5YJP3K+mEZNHV1xdyxuprU4KJilcHwBdKXrjYPtg7ELrv8EsLAsoSmbBNJM+JkQ3PcEOYs4pcxZOkSSiQFsKkvOJDSeS2xfQhmFN48FInBXkKOS4Gkblx8k6UyPbh2OvTDCMj3U+PpFqfrWwLqGepBLKspBWwTqGvryObh3UREZIGKvDdZW4EM.mONwm.9oPbDmHBAkZgOk3gUG11xrEN9EvNlAKHK8D98ayscV178ydMNO6kexsw2S74iyQyW2vPSuWkmb2TJ8peXWo1+ilEN+q1z7Oeo1zzvsQhgorhOQdYRGcJNBvVOWJNv3jQo2B2UL2c6Z29V6d26tsAA5jlR+pl6r8ctc8ad66t8czFX6jQ1d2c2oVscRtxlcLkMLqlkv00u5eEoeX+sji2k5iOCFoFT9aLiq3fFiwjQi0tRj8ZzALi9jePK78WJ3v9vUJGTKZLRyM8yQyDM9wucNHzpQjqOgAm3eZn9k8rZfnXtbNL9IcXDN8cOLzqGxgwOpCiFm8q.FyeMUWy7Pl+z.wEeoe2phKTNY.nAYgqpRbcTT3brmW3pGeWbgqqJb+XydDt23Ei20V.dE2k66X7lb80ULaObH1imC1ML67Uu6uqZcn7QJnbEy9vVrjW1mDH+I46nuz8TL5gXJNR3TqujOqv+ZU+rBgq7mU3HONL8I2FVrthazGOgL.JYzu6VimFi6Dge4whnrN8lLX+ZKZnWe+NfQtPY5K1olLc4ASXSoEth2YuI8MVs06eKe+fM9c8m232tlCquZvcAdvR8l6yicMHMdRX.tM8Tb.r8.IF+DX+.CcmFvSoVLu9PFkENlQId5A8iw7HxnQ3HcruPC5AbdgOUym13XLry53Bq+c.j34FA9I7kzWTe08EKKd8mMUvEIJFQ+uQS80++yl5GylJ1T4gtPh5YputUenWpGV7YDfsKJNYRo0D8CUuWKcC88wTe4K+a3IYv5h2KkLX8zA+MYNl35EwddxmkPjK+GjT.6lJ+TeVlGJdGUO6XIl0bpYH9PEO2yS3t+Bv+rXY19RHyMuDxrykPlacIjY2KgL29RHycVpLhEidvTNahpTDHzqs5HEkx9B0kV23+.lRZFUA
              

              But unfortunately there are also 2 problems (again 2 problems...)

              1) NormalTempo button does not work as it should be and it is obvious because

              timeSign.NumBars *= 1.0;
              

              and

              e.setTimestamp(ts*1.0);
              

              so either i have pressed the HalfTempo or the DoubleTempo button it leaves both values untouched.
              The only working way should be for example to press the HalfTempo and having the half speed as it should be...then in order to have normal speed i should press the DoubleTempo button and then for double speed again the DoubleTempo button...and exactly the opposite the other way (if i wanted to go from double speed to normal and to half)...but it is not practical...that's why there is a NormalTempo button there.

              I think the only way is to somehow store the last value of every of the 3 buttons and to use some if statements for every callback...but i couldnt find a way...maybe its not so difficult and maybe i am blind.

              2) The HalfTempo and DoubleTempo buttons must have a unique effect (half speed, or double speed compared to the normal speed)...I mean either i press for example the HalfTempo button once or twice or...10 times it must play at half speed...and the same about DoubleTempo button (play double speed)

              But i think this can also be solved if i find a way to store the last value of every of the 3 buttons and procced as explained earlier.

              1 Reply Last reply Reply Quote 0
              • DimitrisSPD
                DimitrisSP
                last edited by

                After 2 days of trial and error trying to find a way to store the last values of the tempo buttons without any success, i managed to have everything setup correctly using a "not so elegand" way.

                I used 9 buttons instead of 3...(3 for the Half tempos, 3 for the Normal tempos and 3 for the Double tempos)
                Using Show-Hide functions and a rabbit hole of if statements i changed for every different button the callbacks accordingly so finally everything syncs to DAW and works as expected...

                I would prefer a more elegand way with less lines of code and stuff but for the moment it does exactly what it needs...

                Here is the snippet for anyone who need something like this

                HiseSnippet 2952.3oc6b0ubaabDGTRH1j1xwISlN8OugSmLTVLPjxzx10Uiokfnkp0GbDoccpGOdf.ORBaP.ZfiJRQQSyiReD5iPeD5iheCZ2C2AfCjffPL5qZGNYrMta261629a26CfK0cr0wtt1NRYx1739XoL2VtwwVjtq2UyvRZKUoLekbSrKQZsi6q45haIkIyrOmVWlryI486SOcMMSMKcbXQRRux1PGusQOCRXo0q9BCSyZZsvMM5IHckpaoaastso8.vNlUtjTeM8On0AuqFUrYjAiXiVFDamFDMB1UJybqY253Fcs+IKl7uxv03.SL8gxRMfFhUbMayVTKlVpz5cMLaU2e75JIkQtd3neV1n+6j2wnkQP4gnvc8p.EpgHdjYljLuxhlWozadyHXd2v243YdlZGic7LKnfsT2hWfnIs9.GGrEoA9iCvQbMe5o7pZ5.frX4aaa2eCKMvPaIVLswO.DsQebzJxLazQ8rieTK5TFcjJQGT0LLwzQcF+G.ooiPv6qpQzjxzR9gkUrZtxKdz5q82K8bEk2+h5MZ1o1Op.+poTWQQ8vJV+r5KOxsFTR6lJJas0har4AJ6ulxFqsw6Me8QcTdz5sMgZWbQnLEkOzUUQ4PsVpJ2mTqYq0jncLi0kW9j56u2eci0a9tZ6ss5F6e5ZZtF5O2w19PbYkdFTXlxiaXzwRiLvAzQd2A8VSCFRgABU20tmATuWDFuv6VUEaEWwTO.flNDwHIlaIBxKIvLliwL9F4F5NF8Ig0PAuaIukEA6zVCX.hrClrRy7OVTdcaPBKhROsOfq4.ODnQgUJUpH5AkJsvSlO274VZIVDfGWCUyzViXX0A0DPLjlUKjOOAcv.Bw1Z9bPLsKAcnlCJjihVE4kdQoClDRkKjOTh7zdKTU+9g1MkAs8MWP+0s6021BdnP9HRMTKPa1wpHsx7rwGcDtssVKTytXj2PkRFlOWnoo3hIzxJjOIpQ9EySYG4KhHNCvr+LrGV2ACQKHH3yxsusCAsIfclXGQKlzEr2Mr5XXgUz8jOPbtzE7cI6YIzTP1JqNXjtloI0QLeN.mASdOq.QXRTnsloKXYsGXoSLrsJX3RGf.9sv74NY9bH3msEsHJn4XaVP2GwJBFnIa7bpuMPwK+9DQrQ5LkP88ID1sggDFA9HHcGpGEZa6AsFVlvXLvNlTmBFG0zXFHEn5a6Z3oX.bAdWZSrIVqUgET52+i04h7jPsL0.bdxZrW6sAAgvYuHRA80Y4OE57BA+6evq0WXoJOw2NY+oQaTAZ2P6tWQGLEVXAD+GSB32IA+KjPHiBEGK3EDFWstL6mBz9VdggrPAUOc9bYwfyG9qgZFhceVmbpmaMovEZexcRqy86Eh357o6T1wlZlsQ6Z6zSyzKMgp8.XRAdRBWpLgDeprMwPuM130.IFJHeyIn130gaOIqISHdhhvVfMrRtqEjYn9e2ldXyXUzq5QzYB1qu.iXqrhS1VEjYn9UMYaUMNaUcBcVX+HpkWoqwXGftuIviWj6vJFwwUDBeDf3hbTsX.RUTbjWjOPJxMt29jQIfouuearzAA8SzvdarNHAsmncSCuZfIdVMC27CqPz4eGN65yf+5PXxDgAYr4XoIKn4qBF8BIsP+xuvgfXKjYxhI43YdZa6fJX.ipROAYf9Kn6C+0hKtfPJMwjeHQGwaLdKMgCqAKGIMHJJjGQxRCIYD3MAIgLjmFBs7DWoGbiXPIBuBjigvRFSYjBuvA2RoFbKO8faD3kmLK8vajNJQ3UH5YHjTMN3UcXIu5.2zybKGKy0aVWiVXDcuXQw1QAVpfhobGKlN9bBbrH.FFFwd7HHVjj77QTg7Gx1uHrvYu0mFEE3IcFRP+0VK.qLmarxMxBtnfaBxyj6zgWGW7AtWJnfXWOQnHzWMQQECVNKPQ7AYWhDBdNwTPKRqjpmcTXyu3iHFNi5kC.jd98YJtYpCFtZPgqawAiaYJeQDMvCGthvfqQAD7Hhu3lYHXEXOGVdK8TuvGBqkZaCWh3d8BJDF5BGBC.Ta3WSvQ7sqMAira2loTLKgCzhJydsaWvDTrHxh9jU3B2.Tt.FYXgnUOrKf5oJfULb8aiEPe+2ivA1xVsfRVcUdiFo3H9IDxASF3Xgvi.F9q12k+xHPcoaXkPQyrqN5uvyMRbsqwcZgAxjzQFxrlTs4WtkO40DyEzzVG1bnIyO9F5lxyxJhveu.i3di7BC7bwY8kUg+xCP2aUzxJknUA+GMLxenj8jrr.rrYid.fQaU+Fzq0y5Eh448CHczlJ6Iz+v2bom2.129bIZ85yrsrYw9sOqTh68.aiWGcfqzefa2BXVImNjo01DpbGrqqVGrGm1i.RE8zjOmQgi4K9CabXOe3Aru4DIMWULlrWXzkxigtbEyTJeYvTRlljDGIxIQOdlBSrOq3KUtdxWpbowW7Oi7jXMQ76huQiHSkwOfvILYl3KJX77MAoR26.KkG530lo09BNOUjWCT7ztQc+gYr3uqnD3NdBj9rTmiTlKn7TKM9kAkd9R1r+1XLYYMvnjlk7VFje0Q3M7BO+nN7Wt1XXMhNdQByDmdyWjOmHM267fz7+sKaN7k+NNtxXlTKlI1ZwnOSXhMw2p73YZBRkdx1DdUOWOlT62SRE2mNP7ruQYAgoqTmz7apmw42NGYOWbyuU4ZL0oxkG0Iw42Tie9M0Ily4pKcyuuQ+Kf41TSN2xnoUPgSsEYOVziwrvB4NIW1bmlCMbUzC.Ml53sr2mdYLUSQCmjTrf0fdGfc7II9BJkYtneC0xo6anVmAQBBZaskkAYu9Xqw88jKwwUIoL43VEHJw6qG9N7udXFqVh9sM+UxTOljm8J94HKkBcukbv4yEz.e0YoAto7l+Fz9Nxh6fe5Zi4kE1NVXSj4LMHXqMe5zNmr+p0lN8mWVX91oyMdSY0nCfyr1ioue4VdeR+RYxv4j.OsO1gXPCAxnhOzPGy9r1yJqhc+.wtOPpBRF.gISh1dTP+8u0qdbvC+Ssp+jQKR2Pq4GqJIzt2lvuEHr1U7yJ2q0+Z4Heo4Bcy+5iBcSUsp7AFaT7sdWai8ND6.1VcMKrozAc7uuK2RdkkK8vGrxie7xRFvxs8K+1xUV9QOr78e3iW9QBUrLulkWYkJkJUge4HpH6McV9f.9sZk+OiD+r5K5U+VVsvGA0TBR1JMDTrc0tXiNcEt7AqVsFLLZX7yBtu+TD.6FoJGPHLgD8FRueHuwu9lQLA0pD7QTOtb4kVVRrqu4jydbt0uG5mFVNCm9mByXnzPWFFyMRY9rwXK+pc5skaxavT6S3ICOO65oxsHjX8RxVtQJSRONywI8lybxuN8QIpI6QNqc6T4MBlk3hxJF8pRcW4craMvjd4qDueezK0HuBXoaQttTzqDkkqA43HW+sKhK8WZM2uQttAQua716LwXuz6S3Er8xuBkyKuQ61XcRnwNmbsWeweeIEMk6vLkaI2.1Un2ENyyP9CdOi9aZGhQOGagcnfZ4DtZq+mzd0V6m5q15d5Dn642HKWwFtZCbOilPDi38GT5kt3ZN3OtO0KKV951vdBiqpO8zZvfLVcZP2MnGc4Y8rGXE4ZFN7s4btzsSjIbGVm6Z8Ur8xK4vroybiAAyTejqn8cAZbu9l3MrNDaBKb1yF+VXkxs0FXR7KMJudGaK69cssLzEc56iINFc5fcDs8XGPOiPhbcg+tp6iMwZtQVY31.wSyAvI7ThEkSOVjj+5OJyLWDMXD84QR8Y+xLo991Cna2ZGMfndD6FV2.xkpioWkUXiTzyLIyLz7grmK4OweCrUKuG9uvOdkkoOmgWYY+JuT5idZ5N1uie0Xob4a5UBLts7tt4Yk2g9Lpr+1kkkKoTRhdYYemtNEt+A.ehWmkmBct+TnSkoPmGLE5rxTnyCmBcdTh5PmL5YCH18XghPA02fsY6LA+eIgLyJ8+v4yovp
                

                If someone find a simpler solution will be welcome!
                Thanks a lot guys for your help!

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

                  @DimitrisSP I took a shot on this as well, I stored the original number of bars & timestamps in a panel, and used that information to switch between the tempos.
                  Try it and see if you can use it

                  HiseSnippet 2490.3oc6Z0taabiEcFaOscTh5lVTrX+Igvh.o5jwxtNNI0aPTr9HQM9CAKkrsHHHX7HJItYD4jYnTsqgA5iReD1Gg9HruD6+yavtWRNiFNRxxZ8hjcw1c9giFx6k7vy8bI4PlVgLObTDKzvztyYAXCyaZ09LJeP0AtDpQyZhBNfzkzx28LbnwdmE3FEg6ZXZt5SEVXZulg748OdOWeWpGNsHCiWxHd38ICI7zRaU44De+FtcwcHC0rd6JM8XzpLe1H.MqZU1Hv06st8wG5JLaEKCyOodWBmE1l6xwQFlqsGq6YsGv9Qpx9WRhHm3iEuroQangTE2f42UfXQoFUGP761JYTGYXXZ0JkCVUwAekZHmTdJWbKYEnTOz4CyUVD71TGdkWd3shF79zjPjVDIND0rVy4DhpNJLDS4swuaDNSn48ONtpNg.IqW99LVPcpK.zt5EKZ7S.SaGfyVg4pYG0qd4iZ8fxriTCwfpAwGKF0lIu.VKFgPzulK20v70V6riCsyNO+AUOt0AO0woyya0tS+F+fC7zvokiSswaS+oZu3znFPIi+NGmlMWu9yNw438bpuW8+h+2eZ+0cnMg5VejyXGmSNqpiyVk6cZaGCQOpjaErNu0wG8c0q14MMNZ+Z0O9h8biHdOMjwFi2zYHQvuBAbaRepKeTH3i0giFtmKLVznmCYCIP8xDr3BuUkZX57JVP8.MFx0SgTwiLTtgljXMkj3KrZ6ERB3o0HXsaX0jxwg8bgPutrPYqwJ+8aYUkAVP4NCceKtQH7xDOJtS4x2AcuxkKsat741XCkxWpwPM7YtbBsOpCPXHWZWTh9.cxHNmQymCxki3nwtgnTsI5QH4jKN8w7TIbwBoVTnzt5tlzOhtYSv6DzB9WkMLfQgWJVHiUS0Bhl8RcTToz97xQ39L2tnNCvH4PUnExmKEZNQXtnrhEVjxnv5EDhiB2AwCGgU+UzCxNnZHFRRPPNGMJfExQOCnNebnNf4C.3Vm1mPwNdR6mXdr0EUHdiMNhp0TvjTz9XjmquuHNjOGPy.hOhNwDkEE645GA.q2HpGmvnEIQhwGPekxm6774PvCiJJRvYgL+hdID1c..5qFNWjfAAckzmHNC4obBEjnGX8fgDFAgHXVNzPAy1SxrDpOLFmfiqpSAvIflBfBhJfEQjNNgtffqnIdF1sawRNAAuqUrI6l5kuKvyWsGG0aevPHYVlOp4umZZSsNu3jeeWYqWZis2MAmp+R5gJJ5FQ28RwfoXoRn3GkEvy4S9ERKiwQviEKWZ24WajB+BhNA4EmBgZtdQ9b1XH3C+yTMCmEn5jKjg0EksH5y3fT033dwLgtj7Ig53Yt98PGxBG55KmknFaDrVP7bDQ5xdgkcvPecoIqSrXpLbUyuXe0rYJuUHZwdqYSA4jgotKKLB77UZ36NnLcH7pdK75jYCrgdQlafGCcy9jHtnzz1dRwPyqEr.upmTibp.QSAQvPLhER.YMv0hzrn3E8QT0pRnai3v5UQb2gAQHBE5ZRz2pMVZCsArcqKkFhqWPAocYR5q8cuzmYxzkddTLVKVJ244r8YvjHHdaE3.5706lTXB7mlDxr3Kj8Fu36D+VN5KmcOVHpHVPHS7nTNa.S1wvwIXTzfh3j9TRfPFL35E4ryYGSKNcg8m3jNBh+0tSYP5nglf2KT7I9Tr2HX0AghHK2hb4.7frYWeXyTz94lh.UqOeHCbl0qmZXDM6Dr.9E1bTudEg1AlXkJdilNsOvDJhPTcIUYZSKQ5Aj.IJoMJgt8sQ3I7YSXFTzidTbilo3RZSdAOgXHhArc7DSvrRWjLegcaHkXhvcfX1CtHow9Qy9H7X10PljEtnERTcrRl3qTHBAWZgoQo4E7zsLMfOOcftkKodTuoA08UI62MdcFawhLICP6yssk5Wvtj7hTEG5qQa4TFXea6rKkjsokdKT41BKkYIDnQJuKhf9SoiFGeLsOe.T55qK5Z6yE+wdR8uh75j1Vk4DSMP4eM.iRRbXKhBw4YZNpp7hoPZOevtCfc4Brsj0jxUgoWr3EvzVAY9qhMs3QeorrRy30zVf3bVoo1ZB+lRbpqMuBo4tnkVTtzZRgjbYUjxV9REiBs3RIEuRkXl8iLes3rpkT03r5wtpMV8ujdTaSI+e83kLU4FxoJ+OqnTAhOVRyLa1c9RyYENBoYlY5D6APsytbWjCMcUhcOLm5haL4m3NmpEbS3hbrHD0NAGlncSLzvbsrGQk0xcDUdJ9QyPFsIrMriBvzK635LhIUw4JFiJvTt7LZxmbFMtTrug3.jrshyCLjHV+XeLl16OO168je6jz8OwRDqud9dCqIK1kz.VlKqy4szlcZ59+8Od4ZBMUzbFBuno779LLMiYTfkCvgbhH.ZVCOl3gUG8ksUMbzagufEHjI5XCyO6pI8S06wyze4GIc4CRK3GpL.S5OfqWRj6XbSZqPLjh.HZkwIhHyUMzfg0UE8RAwu5UIED+hakY.gd6dSd7IUqZW8i.S15+NqLmJlV27WemV2TwsRL+pHyuTdzxGMFGBXSwYmzO4L4ug0NaU992amG9vsLHvRMIkeSqs25A2eyu49ObqGnUwVw0r0N6rc4xaGe.taaIWQovjrllcK7sH8i.7Nx5aR6hOEpoLLc0zwi8mId7nJMfgQaxOooh9iYHrOcoREzhF80noeMbpnwO+pYfPsJgtcIrmFxFEnokVRPjMkJEF+hNLBF8gGF5okov3m0gQkS+2.Fyd102x5.V2Q9hSCW+lVDWuTbEvr7YN+ZwYTSiH7yxbQDeHt9kkEtegUKB2av7w6JyAuha14CLdiuLq7V060C6wSA6ZVM99O72bkNT9bETtgUaXOnxq.PBjeu7czeFlJE8TLEGJH0MWvkL92V1KYLXoujwi73P2GeH4Q5Mbk13gjNPJSjdu8hHbiP76NVDk0KuJC1u37p58OtALHmqOsE6eTJWdxP1HZl68Y56UaskaSKWwsIt1+UeYme7lbX0kCtygAMaMyUleKPFOLvGWmNF6C6RQhwuD1VRO2Q97jRypqOfQYACXThmdP+XLOjzuONTG6yc.8DNOyE29UUNF6icixr929fvyMD3I70jK1b44hEEu9CVJ3hDIin+2XR8U+s4j5GyFI1T4AtfP8T0Ud2FlK0CKtcQX6hhOuxbEw7gp2Km7cEswztxW9GvSbkaJd2LtxMSp7iReLz0Kj8l3aqTnk+LYIv3lJu+eaqCDui1bxWGYU1org3hUdimmftuKvOy2mstF97MWCe19Z3y8tF9ry0vm6eM74AKzGwhQOYDmMTkJBEzpt5SJLm7+WE3au9m.vdL2n
                  

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

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

                    @ulrik @Christoph-Hart btw, I tried and tried and tried to Console.print(trace(e)) the objects in eventList but I was not able to get any information about what they hide.
                    I realise the properties are functions right?
                    So, is there a way to Console.print those methods?

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

                    1 Reply Last reply Reply Quote 0
                    • DimitrisSPD
                      DimitrisSP @ulrik
                      last edited by

                      @ulrik A big bravo to you my friend and thanks a lot for your help.
                      I checked your solution and it works like a charm.
                      It works exactly like my solution in the level of a user experience but you achieved that with a lot less code and stuff...so it is a much more elegant solution...Great!

                      By the way how you found some special callbacks like

                      Storage.data.tStamps
                      

                      and/or

                      Storage.data.numBars
                      

                      Are they located in some API?...I did not find something like this searching...Maybe i searched in wrong directions?

                      ulrikU 2 Replies Last reply Reply Quote 0
                      • ulrikU
                        ulrik @DimitrisSP
                        last edited by

                        @DimitrisSP I'm glad it could be of use!
                        All panel components have an object attached to them, named "data" so you can use them for storage of all kind of stuff, very handy indeed :)

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

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

                          @DimitrisSP actually I could not find anything written about the panels object "data" in the documentation, I think I got it from some of Christoph examples.

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

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

                            @ulrik https://docs.hise.audio/scripting/scripting-in-hise/scriptpanel.html#storing-data

                            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 of course I could not find it, I didn't look close enough 👀
                              thanks David

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

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

                                @DimitrisSP

                                1. If you load a midi and drag n drop to any daw it works like a charm...but if you load another midi after that(or try to drag n drop the same midi for second time) it does not work...I noticed that if you close the interface from the edit button of the daw and load again the instrument you can drag n drop again any loaded midi file...and that story goes on...Or if you try it from Hise plugin in any daw the same thing happens...you can drag n drop any loaded midi file but in order to drag again a second midi file you have to close and open again the (interface preview, or Hit compile and it works...and so on)

                                Did you find a solution to this issue?

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

                                ustkU 1 Reply Last reply Reply Quote 0
                                • ustkU
                                  ustk @ulrik
                                  last edited by

                                  @ulrik Just made a pull request that fixes the issue. The fix I've made isn't clean so this has to be reworked anyway. For now, it should work as expected for both drag in/out, but the externalDrag object of the LAF will always be true so is useless until a better solution is found.

                                  PR: 170c3e02678e0696e857b7a4bf5d549164fe727b

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

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

                                    @ustk Beautiful! :)
                                    It's not in the develop code yet I guess?

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

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

                                      @ulrik I have fixed the externalDrag flag so it works now.
                                      Just wait for the pull request to be merged or pick to your own branch from it

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

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

                                        @ustk It works great in a compiled plugin, thanks!

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

                                        DanHD 1 Reply Last reply Reply Quote 1
                                        • DanHD
                                          DanH @ulrik
                                          last edited by

                                          @ulrik @ustk is there a way to script the notes in the midi player?

                                          DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                                          https://dhplugins.com/ | https://dcbreaks.com/
                                          London, UK

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

                                            @DanH You can create your own midi sequence
                                            https://docs.hise.audio/scripting/scripting-api/midiplayer/index.html

                                            If that was what you asked for?

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

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

                                            10

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.4k

                                            Posts