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



  • Hi guys
    2 Days ago @Christoph-Hart made his magic and now it is possible to drag and drop a midi file that is loaded in the Midi Player directly in the DAW (Tested in Logic Pro X, Cubase, Reaper, and Studio One)

    Till now i had located 2 small problems...
    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)

    2) The midi file that is created and dropped to daw is named as temp...
    Is there a way to have the name of the actual midi file that was loaded?

    Today i worked in a small test project where i load a midi file on the Midi Player and use a Play button to control playback.

    I also use 3 buttons (Half, Normal and Double) to control the playback speed using Engine.setHostBpm

    Everything is working as expected and the midi is Fully synced to DAW using the Transport Handler in combination with Engine.getPlayHead().ppqPosition;
    and Engine.getPlayHead().ppqPositionOfLastBarStart;

    When i press the Half or the Double button i hear the speed change of the midi file but unfortunately when i drag n drop in the DAW it is always without any change playing the initial speed...and i wonder...
    Is there a way to have the speed change(Half Or Double) on the dropped file in the DAW?

    Here is the snippet of this test project

    HiseSnippet 1956.3oc4Y8taaajDmz1LMVIpWZQwg6iKDtOP2jvHo5njbAEQ15OIpwNRvRIsEEGBVStRZuPsKC4JU6Z32s6Q3d.5GtGg7FbcVtjhKUjjELtTTbGCPh3Nyryu42N6vY2zKj6Rhh3gFl6N37.hg4ss5eNSLtwXLkYzoog4MrFPhDFGdd.NJh3YXZt8ykxL2cGi3mO7rCw9XlKIaHCi2votjinSnhrQ6U+kTe+1XOx.5DMs2udGWNqA2mOEvw1VkMBvtuCOh7JrTssr.PzxiJ3g8EXAIxvbmC4dm2eL+mYJ8eCMhdpOQ9REi9vDoFtM22ShX4nFMFS885kFuQFFlV8xh9sUQ+WYcL0iNe7LV3NwBPYVnyGlasN3UQGdk2b3skF79rzEmX34iOmDFCKXfNM6jLfNjZLMLjvD8IueJI2RyGdVhnAg.IqO9QbdPKFF.pm9vxI+TP09Aj7BL2NeTu8piZ8EkONRMjAUapOQF0lou.ZKiPX0uIVfML+6V0p4vFT6kOtwI8N94NNCdYu9CF09Gcfm1N8bbZNae1uz70mE0FFY1243zoyca8hScN4vdsNr0+v+GNajyArNNGL6tScl43b54MbbpVd3Y8cLjdTktUx5hdmz86Z0Xvaa28nlsN4xCwQT2mGx4yHUblPk7qLAtOcDCKlFB1X8poSNDCwhF87J9DJHOdqUxf2odSBaYCKodfFCE5agTqG4nbCsThcToDegUe2PZfHShj0tkUGlfDNDCK85oEJcM15WuoUCNnAS3LA+NR6P3k4VXWqb46gdX4x68zhEJV3AOPk5GmjgZ6ywBJaDZ.vXHLyCklffNcpPvYEK.aliDnY3PTVxI5aQw0UbFQDY4v1kxznjzaYll5Goap.VmBWv9F7IAbF7hcobZsvLHm1UZnTXoz3KN0FcXL7izmhWf8GtxoPJbAW9Jd3Dr+JsPIdAaZxmB6RVoMJwyg5QbrGZvXBJdMQl0VrPFG5DQDxwrKstb3R2sjLMtz8PhvoD0eqleoGZDRf8yHn7.KJfGJ.Rf44SB0wrXLf2VrQTFwwMV+4pmnscJf6xzlJndJaDA4h88kYLEK.ID.j6xlqhRC6gX+H.YCmxbETNylFICPXgduhEtnXAD7vYxgjjVH221MkwtG.PeU7bYJFj7UpOQBNxUYDJHMykODBIBBRlfBxnIRpcXL0RY9PLNGGWkSAvIglBfRhJfGQiMbNcAqtxo3EDrm8dNAAuuWhJOMyJeLvyWsEcGdDnHT2Itzgl8tpJ7ZN2d9uue7ru2C1+oo3T82zgHaoajt6Mxfwdu8PIOJMfmKl+Kj1daGIOZGWsXYRiT3WRzoH2dADpY5kEKrKAV7g+YgoQvCTN4x3k00suV5yjEoFIq614V5xR2ykajjGDusOJtnPZMsONQPpz5RDf.PxoR0z4TUfdgJ7RVgAz9BNrRFLw99UjPa4xxxGRGYOzCPUSIuKWOynJWsblQKVVOyjTf6p3FkZqmcRS5T5lmhVM2r65CxzJrKOLyAq0GnIUkup.Uo1FjFnT7SXhvWuwIBoeQY4bTtHJkix9CJ6m4VuEjtL68JbQgcKbYAzhhFNboxR7R7mKVhXYSVgqyPa1zImRBSY6TEgdix2Yp0l0YpqhtzTjy5vnhtAD1p5R2HgigNW2IAUfph3Vy97jVyTMVXHab7FVxhPFw3UuWOiMxV41zTasL2T6tokJueQuBsStQVqxHVBlecm3Nyg9JSHAfXBHgBpjyMaRlAGAT0j5tVMIQuCJfC3ddlH76qhmNat+92r5mO+k+4OU+modhwYn4GqanMu23p3vUMute77Fh8nbnwooAKvbaf2ly7qve0G+ea+krVsp3y+53uaKRNZrxe5sbG60+jUttv0bN5L8f8mpmjlnxI9x3yx1cFIDVo6gYDeiSGkdI.2xpV0xO5g0dxSpZPEjIoieaq8q93GU4adzSp9XMAUSjTsVs8KWd+jSLtuU7mYJMe+ZGuR+Mj9QNtWr7NLOxYfjxPcSiEHnipOlPGMV6fYea81PXzm9KZaF9q0WxIyti0wbuo9xy5oeOBxKOIQ.TLK2oyjm.iAcDcdtiY+o3xE1T39EV8nB2wKGuasD7Ju2hOw3M4pZJZ0Z3PhqHCr6X09G9zeuL5P4yUP4VV8guGGe91Xf7mieG883YDzyILRnjTqrlqP6esoWgVvFeEZccEf6SNWUj9DWuOYBc.r4NR2auNhzNj79Sjqx5i2fiCWpnO7r1PPtTa5KuVj3zkClvmxxcqFKdqQ6rYea9Jtqrc9C8U486Wwgs2L3tDFzr2GcUv2ARimD3SZwlQ7gurGiwuD9T9P7TeQ5n4yqOly3Ai4Lpq9h9IDQHczHRnN1WZ.cfPj6ZI+p5mP7I3nbEaOBR7vg.OQtlbQkMmKV250ewRAWjbyH5+MJpu8+eVT+D9TYGLGigD0yTWnaenVpKQdgTPuIxSQXtkrdn58xocf2mv7he4+.OIBqHe2LQXkTg+t3iIX2P9aStfKYt7MiGAhaV7sauq0wx2QUleNBqxNkMjW40acckz88A9Y41T8ZXy2bMrY+qgMO7ZXSsqgMO5ZXyiWqMxOFcvTAehZqHLPuVp9WMm++Fi41F+VIJB5j
    

    And here is the midi file that i used
    BasicGroove1.mid

    Any ideas?



  • @DimitrisSP I guess you have to create a "half" and a "double" copy when dragging it.
    Is it not possible to access/read the components inside the midi file while it's inside the MIDIPlayer?
    Maybe you can make a script to convert it?
    I'm just guessing now...



  • @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)
    

    flush.png

    But in this case what should we put in (var messageList)?



  • @DimitrisSP what about this?
    Skärmavbild 2021-08-27 kl. 08.17.40.png



  • @ulrik Have a nice day.
    I tried with no luck.
    Interesting...i think we have to try to dig a little bit deeper because getEventList creates the array and flushMessageList 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



  • @DimitrisSP

    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 use

    e.getEventId()
    

    but how do I get the timestamp?

    e.getTimeStamp() is not working
    


  • @ulrik stupid me, it is

    getTimestamp()
    

    lowercase s 🙂



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


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


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


Log in to reply
 

10
Online

1.6k
Users

4.6k
Topics

42.7k
Posts