Help with a simple Sequencer please
-
Hi guys,
I've gotten quite far with a fairly complex project so far and decided to try code a little step sequencer on the side for it, but am stuck.
In this little mock-up I have a button that plays a note on the keyboard
I added 16 buttons to the top panel which I want to be triggered by a 16 step timer, either on or off and they should play the button that I have at the bottom. Or just play the same note that the button at the bottom is set up to play.
I want to be able to stop and start the timer with buttons (weirdly I'm really struggling to set these up)
lastly, I want to be able to set the speed/tempo of the timer with a Combo Box or Field (yes I just threw a button in there for quick visual reference)
This seems like it should be simple, I've solved more complex problems so far, but I just can't do this one and can't find the answers in Healey's videos. Any help?
HiseSnippet 2380.3oc6Z0rbajaDdFIMYMo+I1abkJGRkBkqjZo1nUhjhRxNtRYJp+rJIYwhjq7lRVwAbHHIhFBLdFPIQm0U4Gg7nrOB9XNlGgbJm8kbNoAlYHwPQYSwkRlwIyAxA+08G5tQ2M.lhdbahuO2yvLQkNtDCyaYUtCSzbslXJyX60MLumkO4UsILahGpZapSMiBcbw99jZFllSukralIlwP879mT.6fgt1qJCiC3TaxtzVTQuZKleGpiyl3ZjJzVZ8NW9ss4r03N71.jl1JsgK19XbCxyvxtMkkg4OYiZTA2qr.KH9FlyTfWqS4l7SYA8+.pOspCQVHiQYfPAUuI2olDwxZMVqILMJFM08M.hVrmfX5.Aw8s1iVi1s9dBj6pZ.0aD5xCyohCuoiAuL5vKsF7F.jL0fzLAP5dVks8nthdsHwyMs1lIHd0wfXWGJA80Xp+0LVqwgdvDy2BeLYSOnP2QjZ4zomCA+L6iSlbA0Cpv2Vox9OCUoz1as0FkPKL9eRlziz.QNAvz10dLJIk4PYDT81LaAkyPbVUAamsWaGIv83Nor4sb4Ln6ygNA6zlLKJ4eIYBZcTpnhIPvSHEQ+djxHddWGbmmwExY4bnLxIIzQhiOIYhDA8fAste85E5rQvPSERBYOeyiSFI3ZPDqEAgTOHDbOX148k0qf3ZXGmpfsZp9wtjRQhV3IyxHeAwEUrz9aUZixkQEVszOZoIrlwW.RFOjKyArNZ3AlGfTXvvWqOO.T6ZEkymCjBzTYTxp9aqHrFPTh2V.ZqTQZqTMlUpLZLecXI8pNNoBV95OeUGPd.LHQxDRngA.cnnI0WBmmSqIZlZVzBnrnuAkKcZ4ayghZ9oDZilhtsmMr4bRi0roORQyFAReIu5xxZXuiAz1Qx0..AnkAq7KQrEXVCGRJ7bnkT1AAn5..UQbMXpKYZlke7fYvoMoBhZ3W.4ODeX5ilCgOLi52rGg9ZzAx2V7niB4LBLsjK25S3J8D500LpqzErskhWIVO67XUhDY0oNC8aQYlE8ajPGpS0stZyylsacdDWoRLkD.IBV1rvBA8VvcUX.ZKgBgw.n.6E.wTgdKTOZKYkKz1GvqDsIeSRT+MUu9.aKbYhijuCn4PDcwCLEqcqpDuHGCQcDbZF2Sr0E6IVOPgcvRFsNxYaynh8cIrKJ7gQ35Lvq8OKDUPWEJe12Izmcg1BAmYPqIqZeFobXP0zFJbqGC03xRiL8SiPHcYnQ1w.MVbLPibiA4wRiAbr7XfFqLFnwCGCxiGMZ33mFyFK83fHYFGDI6nIRhSjEGGHI23fHKMpDAxynbWuxipolhHgN9GMZbaEMf3WDHCiAPhuc60wBrLi1P2jfqSWhmfJ8JatN4DX6AA42lvZch+w.ZLLS1MeEH47.Ve6nrewLhSHm0hPYblNW6zq.M+oxjMfH.le2TFFMUoVHK8qBlfeb9bGIehzWdWDidW0KhQYgVMuqFm9hgM1POV81+Pds4zuNeD0ipoPDyip3g4cwd.2zXaeyCiKOhxninWNIfnrZH5eTcR.QKpafTeR.Q4zPDhNIfnkzPTdmIADsrFh9S7IADshtL5USBH5gZH5cdSBH5QZHpn3SDh5OOIMGRsmHfjtWa2SmHfjtaaiNSDPR2u8e80SDPJli6ueh.R5dt+g2bkBoDWHjRXEdFa5tHc0.C3cpatXEMzyESVRPNSnNLYp+d7V.uvdcB1auO9Dx1rhP9jDQzIydNYTTBh6hqFlf3MrTuquNK+eVGNmlOfmOvRdTKnuxWvAd7UHQSBRdDjnuAIOiDzxoMhKxda8yIUyk+xfI8EZu8Pc8UkPLsfUQGbmH9i1msv90qippj19HJCo1a.JRGYzUv9GM0Er2evYSOD6b4L84lF.Y4Om9I.w2xRazCGO6aiNZww99ghk2zp2fGNNFeaQmoyigggIs5N1Ki5V2I1aik7YmP08rVUjlfJqN3egGsQChGoFpZGk4X2a6omh9eZ7gTzeLHo6DyPO6y7uNDRHq0vLjuf53fpRPxSsGviOA1kHVPb5zCI+syijyeMI20ZOds1NXQ7asQdUUgMPAcj9UkHuNDlOUzQ+LEFaWkyvBw6YUjJraNXLN0.vHrqxqBLFdAX21Zi50I1hd.bFqM+tqla6Rm823BtHxaotFKnDwKy33NHcG56fzb5qh6bz5p5NGmY3zBeX3c8st5ZEtig0Xic7N5q2F6P4WF.kuDh14QvsnrFkwsbcHA2zLDSJnz075OHeLGNtVY5q0516xWnMHu7hW6OjWwpUawayhwqPjWBBpfEf5WaL2HeoRa4wa61+nd+STFKU7v1GChB8FjoD2jKzmiq4w88qCSGEs70apXauFRYUuZJQNg34Gutm0tEn6YLhi75pLMkmcpOQpqo16gg.0wN3QEWRWAqz2PtrpxY5qb19JuXeky0W4k5q7x8UdkdkMshaK9EC28qsG1UcvpZ8r.MzJCZKnFcC1thUEq075dc9Yb7eYtTGOe0IIhvXYpT6rA6DXYHTiDieo05j531NhnZi6RXONi61jyn1wM5Cy1TG6CbBspP.q45Uy8yWh3Pv9D8satKjJ.1K9Z4KkrHyk9KvYf5qegU.bUaTB84Qnvo+e9PgeHQ2cBCDhT6CcBWOeKKkqajLR6mJnF7MC0HJJlEDpqLDd2lnGvaJYPzfxokkk.pLgUSU3eCOgMlIJ5nrwLQMZXGQJXtE9t5hGMmlvjgNTY34.wcczMo8gjHjPBhnY3qTpsjQgL6EMG2pEPDKqLyC.wLnOvtTJwkg+mwJ2iL1kuCoS36Ok168c4GHYlT97Tp5UfJYWwHLcivXcTmvutwErJ+6dQ4U2q3taT9EOe0CPgFYq60tk+KjG2U4WrCE7yjNy7mhOwX81tNTaPMIUlWKhXMKt6DXwcSH3.jJjbmZJisetpL543SHnsHL4F34evzE+6i+zE22V.rGxZi46x8iQ3xjVzJbFIV1YPRVa5QdUIoSvXIzwwdCro2+jMgI4.GSYrnsmxaZ+ISZ7Q1FYlQbajyLw8oq9YcdNY++447iOOmOsGk1zedeTZWGABtN3QKrsG+k1Ae.RR6zanpAl2LU3xDV6IKiFv2TVKvK2KssiSpyMvri5.WbTGXtQcfKMpCb4QcfqLpC7ge7AJCBsZaAuUvRSCi8JtQPpZlazMUsoM9OP9hK9B -
@rglides I just saw this thread, have you managed to fix the issues yet?
And I see you use a timer for the tempo, is that intentional? You will not be able to sync this tempo with any daw, you need something solid like the Transport Handler -
@ulrik anyway here's a start using your timer
HiseSnippet 2561.3oc6Z0uaaibDmL1LWjxGM4vghVf9GKBZwIe0wVTVV1oAoQV9qXD6XAIEmV33lthZkz1PsjgbksUtK.A8InOJ2iPdD5iPeDxaP6rKIkVRK4X6n3pzFBHateMyuclYmY1cYYOGKhuuimld5Z8bIZ52vnZOFu8pswTl1VqooeaipbhKpJ40cILKhmVodtXeeRCMc8o1TzK8TSqIe9viJgswPmFTkl1dNTKx1zNT9fZKW7ITa6MvMH0ncT5c9haY4vV0w1oKfnoLxp4hsdEtE4oXQ2thg1iw9s0z+AiFl4MatrEtvxl4yYYka4kxc+krH3lMIELWbo7K2LeSrU1bZ5Wc8FTtiWUNlS70zmtjSidUa6bDKfA6Q8o0sIhBlZUANGT8FN1MDSQQsZq1lZ2nbjnxWCHZ4ABtoBDbemwNzFz90qJ.EMfFLBUAn9UhCuohAOSU3kUAdCAR5JPZ5.HcGipVdTW9fVD345Faw3DOP7PhAkf9pcE6uwXUGnGL9bcvuhrgGTn+HxTHa1YQvel4AoSC5JeNpFoiqypcpidHJZbsH7UcfZYPgL2MpC2ULlzyKePkdVsZ69TTsJas4lqWAM+3+IcZORKD4P.Ca03AnzTlMkQPM6xr3TGFxgUmydxVq9DAp8bryXEA4YQGhs6RlAk9GSmh1DkIpXJD7DRQX5JWoLmqMt2Sc3BQyrHSgjA5Hw1mjNUpfdvfV2sYyR8VOXnYBIgnmu8AoGtTKDb2cl47E0Kg3pXa65vJhLIwtfRQhV3wr.xWrnsbkc2rx5UqhJsRkOYoYf19PrGxkYClTs7.apQpzU5iPuqTTLe1SHPyXJkUIaqLrvgWwoKGzVYhzVYZMiPYzZtlfiiUrsyD3jvet51f7.XPpzoDPCC.Zedapu.NOm1f2NyLn4Q4P2CkOaVwayhhZ9wDZq179smKr47BK7bYOPRyVAReAu5yxFXuWAnsmfqA.BPKCbWTgXwwrV1jL3YQKJsCBP0d.ph3ZvTWvTyBOX3L3n1TNQN7QP98w6m8fYQ38Mk+M2Ane.sm3sEN3fPNi.SKw5s4mO0Ci8f5A7.3MpdWNGTonGl3ITQCN7KwYITvfjuuN1Oyc2kQhhKHWbmPSJbt602lsupDVHIzkBAywmTvHl1hpybL52AvbFzu2TTkrW8sbNdl904QbEFLYBrADqVCQ99GeOyCTH7LoS8iIWRtFAV7RZLXk4HVRKLHj97R8VoSf4mO.ObGW4jD3dp.4sTh6ywdbjO40C2oSUQyABmQ45ItmG.1wDs8GelHeqh44VbRmZjiAQA.DvuxncrL..mh6kSfxPyIwj9zlaghjScpEe1LPH9wfcXOOUTGm+A5DELJzq6BFgBXj9soQIapYyg1VH4rEvbHMGNAF8.yv51oNwSUHH5HDqNdB.FiNA.07SrBjQJczgsEix20kvFUVKZgBVHYg6DhJnqbYpB2JLUgRRmBZzFhpTVdmUSha0b8zNuzvbLPibIoQ3z57PiEFCzH+XXtr3XfFEFCykkFCzX4wvb49WLb7KhYikcbPjKnkZbhjabPjEFGSm7iChr3YfH2NjHfa65NkbNVRlzFQAoRRgaWT6YasFliEaeIz4D3vxk3woBeg5qQND17XvlYRYrFw+Uf2cfh8CK.6DKfy2LZqNXFwVx1aZnDjQ6XUb2aPAZwiDII1uh2+2K1VlV3ft7GKpcV32sD7avtjGACee8ONC2pn9sU332bV8POfku6OWTYN9aOAGJk.DZKWzE6AbSgsIlOZmeDYphnWNIfnbJH5eUeR.QKnZnzbR.Q4UPDhNIfnEUPTQ6IADUPAQ+UmIADsjpL50SBHZYED8duIADceEDUl+eIDkLaEEGRcmHfjpWa2ilHfjpaasdSDPR0u8+3MSDPJli6eZh.Rpdt+429YERoFIjRYDdVoptHcU.C3cJAqqcBzUqHmbLWdEDT+cb5.7D60KXm193CIawJC4YR3QGO+IjUQILtMtdXBiWyP9t55sh+MUXcTHOuqg3vlPeuO2A3w2i3sIHw4WgtGRbhEnBY0hi+207D3OewyClTWv8t8U0aQxg4MJai6Eweztr42sYy9GoHkgjGHR+aMJA.AWcmI.NTCrXGMkpmg7p.kU7D5o.jeCCkQelTcCMth5QMoFo6mNSf35FCF7ml4ipin2EKAxdgppYLpILejVLv+4dzVsHdjFn58jlR98WOkXmI1ehVQpNjzTyjr3aBgFxXULC4yo11n5Djq7vXA.A6.DyI18RfHfHmNht1YaanGqpghotRvu+xP1LXGLLbC8qJfCmzA1l5u1vLa1z4feK.+xC+VD9UHKnHO4cxcaicbZz0FyieEghKRMrAJXiodubh6di4S48TOIgw18FdVg3cLJS4VsGNFuxPvHrm9OGXL71Vuow5MaRr3C.3zFa7m97b0ppr+Zi3Vxug7NSgRDOywwMj6dlugb8o9bbA2FSbWv8WWK8+Zqk9MAr+agXgdDbGJqUUbGWaRvmoPZivRWxqmf.w1N3FUouQoauuXotfLxKds+bQIqVoiSWVLdEh7JPfLLGTyJi4ZEqTYSOmttIG0GdjznnlG15UfnPsAQJ0sc3pywU8b78aBSGIs7UapbWuVBY0fZpPNj34Gutm1sCnuYLhs3Rmz0gpdlOQneoV6fgjDhc.lRtjsFVpigbfkkMSTNWhxKjnb9DkWLQ4BIJuzfx5Fws+t5Y6Vx1A6JOfVkdVhFZkAsETyWbepOeA3IL1WiTpHLVkJD7qyNDVgA0Hv32ZrFoItqMOp13q12wg4311gQshaOGlDqJ1G5DZENGVNMnluqXEhMA6ST2I51PTarW7komKYg449KyZn5qekQ.bk6cB8kaDro9+lHXmlH5VgwuPxsaNApCuggzKKRDT7xDdAeZWshBxX.QhpBQesHpwithHFWP4rhxBPTkvZHK7ugmvFMiBdIZzLpQMqHRAymv2k2yn9TDlHnhLQKaHrnspIpODiW.IHfCrqbgxqiHHg9ffs3Nc.hXXXNG.D8f9.aJnhiH57zF4uu11NOgzK78GSG791N6IXlPl7Xp7UfJ4VRKLafvPQT6vO004Mp9GdQ0U1o71qW8EOek8PgFSq40si+KDmlU0W7DJ3qHq4bGgOTastt1TKP0HTfWJhXEqraEXkccvAOjohXiQRCreorL543CInMILwd5cN0r49mi+r410hCrGRph4653GivUIcn0bXjXIOA4.sgG40UDN0hkukC1anM8gGsALIG5Xph4c8jdGSlqm1GYWalWvcsM8WyU4xLWkbeMWkulqxDctJWFABtL3QGrkmyKsB9biD1oWSVCLuYxvkoL1QTFYdxORoNfWtWZYEmTmXf4tnCbgK5.yeQG3hWzAV3hNvktnCb4O9.EAgVoK2oSvRSMscJudPpZ5q2OUsoz9OjYujqH
-
Hey thanks for the response. I am deep in the project now. I managed to create the sequencer successfully. I now have 6 'pages' of programable patterns for each set of drum pads and notes, with 5 rows (each row for a unique pad), which can then be recalled by an additional grid of 'memory' buttons 6 by 8 with 6 storable groups, so hits 1/32 can be programmed and then phrases 1/256 can be programmed and changed live. Pretty much exactly what I wanted to achieve, at least for this portion of the project. Yeah about the bpm, I'm collecting bits of code for the transport handler to be implemented at a later stage, but I'm building a standalone focussed device mainly and wanted to make sure that that all works perfectly first. My hope is I will be able to let the user toggle between internal and host, or even include an auto-sync behind the scenes if a host is detected. Any advice on that, if you have it, is greatly appreciated
-
Oh by the way, you've helped me countless times during this project, I've relied heavily on posts in this forum and your name comes up a lot in very useful threads. Thank you!