Midi Player and drag to DAW...almost There...Speed Buttons Success!
-
@ulrik I read somewhere that you can connect a MIDIPlayer to a panel, and paint the midi objects, so there must be a way to manipulate those objects and store them?
-
@ulrik I cannot think of a starting point...maybe something like
MidiPlayer.flushMessageList(var messageList)
But in this case what should we put in (var messageList)?
-
@DimitrisSP what about this?
-
@ulrik Have a nice day.
I tried with no luck.
Interesting...i think we have to try to dig a little bit deeper becausegetEventList
creates the array andflushMessageList
writes the array in the sequence but i think we did not altered anything in reality because the Half and Double buttons just change the way that hise realises the daw bpm and adapts accordingly only for playback...but the midi file stays untouched...i think(because i have done this in Kontakt) the bar length has to changed or the bar resolution...and i can not imagine a way to start searching -
Try this
Just change the bars to 1Bar, 2Bars, 4Bars and export each
Here it is not the BPM that changes but the length of the midi notes.I can't test it at the moment - I don't get anything exported.
HiseSnippet 1410.3oc4X80iSaDDe8kyW4xUn.5TEOZcpU5PbXRBGWQEUQxk+PSgbWHNPoHUg13rIY4r20rdc3BHj5i74pO0Ga+BT0OB7MfNqsShMXcJJzRoPdIYmYG6eyuYmclIsEbahuOWfzVu6DOBR6y0slvjipNBSYnl0PZ40aQ6SkDeIZ+IdXeeRejlVtaozqs9pnvOu5l6icvLaxbQHz84TaxcntT4bosKeapiSCbeRWpahcua4l1bVUtCO.vRN8BHOr8Q3gjCvpsshNRas5.L3BKIF.CRa0848mXMh+TVz9uO0m1ygnVTDYAOnHwM3N8UHV8aT0QTm9sm5y9Hjld64LPtHFXyPGdl74LwYCUXL2hj7g1JmD7JtjvakDv6ylFfBgmCdBQDBqyn2pYslFQRJlBTUCDBBSZQdR.IUv4BkiU0U.zbx33c3bu5LL.09IEqd58fsZ4QRqPKWZ+N2h42usuhTtUCpCQ42qMcArakOBw+ZXIFo8y56smIq6d295U6zt0sLM6d61VcG13mLgOMLaaZVa7trmU6dG62.jL9GLMa17R0+9dlc1uc88q+XmGb7PyJrllUFeo.ywll8lT0zrTgAGaYhTuwnCb6nek64SD9WwEa2mLl3v8tRMh+QR36dXep8PAmOlTzzkpXZ0gYK5PFVFH.q0OHvceL3UIHpC3tTPeXpVrvyVtFgkkXUP.HTgLY5TTjIE4idCZ5T5pMYTLlr1U+pWKlrF03tfa15t0e3iq.7xCLMq.jkKsiU2lkdnh7pYpHjOZ3fReXxAnxuO3f+2mt7QJMoJi8gRdxmVNeh5nqFUG8b5V1BpmbtFEqrgdSljHFfgpkIqjFsWzJZZ5U4vNXRSW7QjFBXwLK1duBE1w3ZEJbwajOOzNiuzXLVXnJOGWc136LBauxbHQlpKis2JYQ7st3MFDvrkTNyfyNfKIGx19h4ed90y+h7FuopACxTmBmBtiCQjoZUjPbRFtMKvsGQrC3CNAjYaDHvzU7Wawp3aGQaI1Hm0jQkG5QhWOuWnhY0ePLuC+5dMCO4BwkXYv97HBIUAGsZjwPemQA400iuEBN9Uk65wYpmf1Fx3N8hBqMb3XIkMrqJ6PcA0WnmTTQzwyNK8KMJOI4hX.D81NeXqYGNlHfvXaLi3f5MbZOsquFXwWqLCZl1ctzW9xW95zRKoDWqVsPwQ4n6o+7Sm2vXqYDRy9a8sFoOyrS3NZx5SNFzU5z4eA5oz9xQPVl1upgPiHzgijpU+AJjNWR5njhNz0tL7Lln9wFvyd1K52R8hbmG19vigJnXnLtX.Zym2OvQcUSxd+UC7Dq.RSRc4f5B.lOUNIUiwK9.AExbffLSBVP3dN81To8nrw6JYfW0rF+Ki23wqNsd8ACH1x4fcU8FOXYmkZ4fxYhfxF5VTFI7B4Pf7kgqM9Q7XhwsHLhPQpEOgwd+8EcrWuEdr2CskvqGFKi46w8S8fsHtztPJax9jPPaWMDjmzQEkSJuJGJqlkpWcyFfSloMVppxgGWp3xCXSw+e8rM+y2ZNuEb91zYMI1eFC6t5+Ayh+Oep269ME4VL3lACp09s9+bNKbl10ygTmE1UNIDimGJKN.G3HmJM8g7VbF2aDmQsSd5nCQJnCGRDIwdlNTEoL0+pvlk6PbH3jml+px2ANEhE.OQVRtn3hyEmT75B5Qv0PkYZ7wwM749z7F9N7.USJsvvA0iiFtvBtX0l.HgA8Z3q5IYE0kiQqKnVGcyJqe3hWCehUVTsVKVYwoJeu7NfgnE7GYG0Ft5r7oBk.9MKbRp00aoVaTDE1ZNXmdAyBHX1Z5irsUz8kA9IaaJsD1b0kvlcWBat1RXydKgMeyRXy0OQaTEipDH4tQohff10i5KUa1elpVNzeCvMwAt
-
@DimitrisSP I don't think you can change the actual midi file, I think you have to get the info from it, manipulate it, and then save it as a new
in this example, when clicking on "Logging", it will change the Nominator to 2 instead of 4
HiseSnippet 2095.3oc4Y8taaibDmz1LWjRz0bGNTzOtP39fbSBijNGkjK3Pjs9ShtXGKXojdGNTDrlbkz1PsKC4Jc1mge25iPeD5iPdCZmcWRokxRxBFMGJZ4GrM2Ylcl42L6vYG2Mh6Qhi4QV145edHwx9tN8NmIF0XDlxr5zTtvQTeZ2.74jHqCNODGGS7srs29kRNrysik54Su3.b.l4Qlujk063TOxgzwTw7U6V+0zff1XeRe5XCt2qdGONqAOfOArlscJaEh89.dH4MXIaa4XYeqV9TAOpm.KHwV16b.2+7di3+JSy+6nwzSCHxWpX0C1H8xs4A9RKVtpUiQz.+todcrkksS24Xv1ZL3aztb55ywh6oHflKgIdXu05LuJllW4M271xv79hzPjQDIID0oYmkDhZLIJhvD8HebBISn4SuHgT+H.jMW+PNOrECCFpu4xxM+Tf0dgjrDr2NqWu8p8ZyfxU8TKoS0lFPjdsc5K.2RODh9MwBrk8e0oVMWV+Zu9oMNo6Quz0s+q61q+v1+rK7z1sqqayo6w9slu8r31vJS+QW2NcteqWcp6IGzs0As9aA+zYCc2m0wc+o2eh6TW2SOugqa0xCNqmqkTi5zshNWz8ji+wVM5+91GeXyVmb4A3Xp2Ki37ojJtioR7Ul.2iNjgESh.YbdyjwGfAew.ddCeLEnqNfkdrndSB6pKeu5RnGfwHg4QHc7HCjaYjRriNk3qb54EQCEyoHQs63zgIHQCvPn2LsPyq0Veadm7M3.KLg6X7GHsifWlIRoZkK+.ziKWd2mWHeg7O5Q5beUVFpc.GKnrgn9.jgvLeTZFB5zIBAmUHObZNVflhiPyyNQ+.RUdwcHQLOItTw4bTTps4hlpGoZp.RmZtf7M3iC4L3kREyv0B6fbaWofRhES8OUtM5.k4GatEuBGLXkagj3Bp7M7nw3fUJgl7BxzjOANlrRYzjmYpGxw9n9iHHULQl1VH+bLzMlHjqUp35RhKd+hx73hO.IhlPz+Tu+RMzHh.GnQP8AVbHOR.f.yOfDYZyhQf81hMjxHtdJ9mwdB2kRM3iYFaETPkMjf7vAAxLlB4gDBvjOlMiEMGkFfChAKavDlmfxYknwRGDBz6VH+EExifGNStjDzh3Ak7RQrG.FXf1etL0Fj3UpNQBNxSKDJLMykO.bIBBRlfJxnwRncfBZor.vGmYGWmRAiSZZZCTBTg7XpRvYvEDckawqHX+R65FF9wtIr774REfAb95k33AGBLBEdT0NLj2SWh2P4kl82OTs669n8ddpcp+Ic.pjTMR08NoyTZ2cQIOZNfmKl8WHiy1tRbrjpZwxnFqseIPmZ4kVvBMD8xB4yQffO7qE1FAOTqjKUg00ctVpyjfTij3doLgt4o6YxMRxCTG6iUEERqoc0DAISqKQ.b.IlJYyDS0N5EZ2KIBCV6q3PjLbboGVQZZKm177gzU1E8HT0Tv6x0iL5xUKGYL7k0iLIE3tNrQy15QmzjNMuYgnUiM4VuSlVgc4tYFyZ8NZRU4qyQ0rsAoAZF+LlH7m23DgzunrbLJiGowH.hxcHeHnygKABRnrRLH+EZDH4sbvq4B3.diDwPkIiS3fYlowJ3aH.uvFGyAnKLhBVuHR1fhHdWEMQr6r9rf8ppa4jUMZzBVeO85YqIkUUvNdUkUDrP7.nqnuu38yn3KA.N+Jf2D7XU3aV3B1rLGaDjiYkTPV9KyiVjzfAKkVxdo9p6RHKczn0IXI1jwmRhLCXRFgdLy1guyl0gumFVLXjy5vnhiCIrUcaGqDrTdsrDqBXUnZw8KSZwU2elkrA7a4HiiVJ6MSCxajrxpcox5XqDcCj61N5xG2LsdaG8AqEkdyzcNmjzlkH9a6ntfDzdeBFB3ZHIRPkgL6ljovMw02UHmSSR7GfOiBfvrDV.BtNX9rY56expe9rW96+R8ek5KFM2Z945VF66sttPvp1WuqtuQXeJGZecR3B.+FnsYAtUnu5i9Os9RB0qx+BtI56thjITn0m4EeTZ8O3j4tPFJGcloy9K0SRSz4DesZjBGOkDAQ5tXFIv5zgoyh4NN0pV9IOt1ydVUKpfLNc865rW0m9jJe2SdV0mZPnZBkp0psW4x6kbw88bTeru3ri6c7K98HyK98.E8NLexY.kxvWurV.fNr9HBc3Hi6G+C0aCtQO5uYbX3ayj98Eavoo4fTctAHghRiPN19v6Kp7l0owGwGCpAGARYu0RtX98bNh6OIP9EHywHImcVBAnFblKmKu+MC5G97LSY4ywrk1Ty8qb5REdiVt8t0RrW4Xq9LauISpqfSqACHdh4F6NNs+oO+ikyzT9RsobGmdPKQpoanLj+n5czeAOkfdIgQhjfZk0LA0+wlNA0vMdBpG6I.0mbq5XyMtdOxXZe3LRro1daLocD4imHixlq2fiiVJoO8h1fStTY5I6nRktr+X9DVlgZs3PC2YyZo3ZFU5N+W8jb+8q3v1al4tDDzt6U9+AbOHMdbX.oEaJI.5nPYieMzBw.7j.Q5pYyqOhy3gi3LpmYP+DhHhNbHIxz1WpCsuPjYpzeS8SHADbblh7GBId3H.mH2PrnxliEqKd8mbzlKRdXD8+FE029+OKpeBehryoivPh5Y5442Cpk5QjiiD5IRd4G3q7RQUuWN8hC8HLe0K+K3IgXE461IDqjR72EcLF6Eweex3Mk4x2VsB32L0+bibNGIeGUY10ebJ6V1RNvy264Ig6GB3yxko5MPlu6FHyd2.Yd7MPlZ2.YdxMPlmtVYjeLZ+IB9X8QQXgtsz8MaO6eFm81V+amANPiB
-
This should be a very simple operation - just multiply the timestamps with the playback ratio.
-
@Christoph-Hart where do I find the timestamps?
In the documentation there is this example
So to get the eventId I usee.getEventId()
but how do I get the timestamp?
e.getTimeStamp() is not working
-
-
@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 bitHiseSnippet 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.
-
@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.
-
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.
-
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! -
@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 itHiseSnippet 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
-
@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? -
@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?
-
@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 :) -
@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.
-
-
@d-healey of course I could not find it, I didn't look close enough
thanks David