What a mess I made for my self



  • Yes, a really mess ðŸĪŠ
    I had some crazy dream that I should make some sort of mouse controlled MultiPad, where I could control 5 values depending on where I had the mouse and how big the mouse area was, and also be able to shift the different areas by dragging them around.

    I managed to calculate the mouse areas influence on each value(area) by calculating the distance between the mouse and the center of the areas, I also managed to, sort of, make the area of the mouse strengthen and weaken the influence of the areas.

    Now about the area dragging stuff, I have been thinking and thinking and th....for a couple of days and I don't think I've got it right but sometime it works and sometimes it doesn't, my head is spinning around and I feel I mess everything up but my feeling is that it's not so complicated, but I just can't see the logic at the moment...ðŸĪ”

    If anybody dare to take a look at the mess, and maybe just hint me in the right direction I would be really thankful, but as I said, the code is a mess...

    this is how long I have come so far
    shiftDown && drag - change the order of the areas (this works sometimes)
    altDown && drag - increase/decrease the mouse area (not so smooth as I want it to be)

    multipad.gif

    the project:

    HiseSnippet 2916.3oc2a0sbaabEFz1zMhMtSxL8p1a1xK7.JQQA.RJIaYGKY8SiZir0Dp3lNZXSf.VRti.AXA.EEihloOB4xdYeG5CPySPuu2kdS6ksuAsm8G.rfDfhTwZFOliFIhcO+7cN6YO6YWr5XeOKbPfmuRgkNY7.rRgOrXqwtg81smIwU4v8TJ7AEsH9VNXkWNdfYP.1VoPg6+qo8VXoGnv97eewKMcLcsvIMon7FOhE9yH8IgIsd71+VhiyAl13SH8kntw1GZ44tqmi2P.I2unlx.SqyM6hekIkr6UTovC22lD542JzLDGnT3Auzydbqddib4z+FR.4L.jvC5Js.Awa9.OGaJhospraOhi8wQVbfBHkiSr+6ys+edwiH1j31S7CeDqCTBGx9iB2aVvSWFdZyO7JHAuGvg2GWrkkOYPXROTr8SKdnaH1uioU5gINsJ26O+3h65AT3FVqu443C7gGh4PstlVUTSMsJa8nRvvPPH5BSejoO1L.8bzoQb1EGtqW+AdtvCpkocqWtR0GUBM0m74vXg4n9ByQiElilkqzFrcYq+ngNgjiMsAGP17EQP4JLNidrlsYnYsKLcFhAVu55sxrqZNX2tg8nd214PA62L+udUTxO4QdeS+yw9.4qqkCEltccDBbcipHi5MphpqsNHyMqhdhVdB1y2lI2S0X..3rdUTi1yRI.04ABelGUeqjwGI5BvgGCy1B+buggDWrZmgtVgDOW0tUJcEmC5PyEfDB6QBjj6VI8NJpWX352QrC6oVQp2dR89oXR2dgwcy+8ZqgP8MCNOgkAlrApnn.KHdIDerojfoTTyz1dGeKUvMoUcT0dsqh.G1QzdN9PzxHioUyYc2kkXk2RWp4yy.ppcYylGv9P4Zot05.YM22wgLH.mnAVeIhqIJXfWX.i9yvcItel4XruZn+PrPJxJ3fC1A9vmyOoBtn1kZq1rJ5hZiY+UmNzq0NGR0EjpeyjZHH03lIstfz52LoMDj1XZRwt1bufvWQ+Q3qbfUmBn9tmeieDL8RHspmm6b5f2XCMsc1IdDz2itxfJKfHz6yMsIltApWHlUBlAad1oZsaWoJ5zQqAyy5slgrIehOgQr5oiVVqld8lzv.3aaTuJkx3fsovRT7tZYRHtOuwxURH6.OZ9rWe43tX2xUQIjeFCSTrNLHlAaeyQ63P55hsOAeYn59tfm.Wy1aHr91IdsB8ItcACim+R1vfjGTaSD9tlwpqqAsU1BlU4i44QyA2gfhVXb2h7M3bQcYwfYYY.kAZLGLvY7QP9.U5j7DhAR6X5DfyKNiGu3ZCKVrPQLat4N6rXQL5uuFwn+NWDiX37tLlAXCpJaABX1auEMfw380.Fi2wBX3ik2kQKug34PVrEjVznk5uuFsT+crnE9X4cYzxtNlfq.Gdmlcow6qwKMdGKdIZz7tc0H5lJm63k72xBTkNZUnFc9tTgwbdE6YzF+oju09GoYvbp.LeCczT8hJaU5Z9F1iNhCwlUoOZ43Efg8++bTCsn1f.tA6HsoVZa19dS0l0Pe+TLx1fgffGUh4M8FFfQ6Z53blo04Hzpy8mz6QlImHwjrIY7Ev.epMJymZdhO6nHxeW+I6J8G09mm8VyKsDoCGh0r.Oy4Xaz29sHdCPrcWzieL5WweLnGoS3ddibkZyzg0REtvtJ43CnQVOWHmK2Rt8wwsON0wMHwIDT.DwR63CNKr.fWhVCoNB1zNDSVAhQ0qhVkd1KUPoUvTra.DKTIUD8xPDYBEV1YSGqgNPJVvAhQ9rbVz9tg.iD3vOZEFZB9i9gpQeSkanUPqfjZhB9JU1JGAvMGVSrywHCbSwr3TrNCGNBicQhyfBpSle3go70ZfrgUE.TP+8xB8sLWeVdAphr+PhfFU1ho.wdzjc4TozKOoDPbSKk3yGQfA84GCaFiAQU+xnPe9QwlSiBi4EE50LDnfWJoLDLlWHvDxjPn97Cg0EPfWehLDpO+PX8ogPi4EBF0zDPHZIOYPzXdAASLYmGfGFepV6bm+nwVo5xImCwad7DyiDhSOewoms3zmk3LxWbFYKNiYIt54Kt5YKt5yRbMxWbMxVbMxPb4kQTbV313Av56vJGdtHaRPH8MNEm74njjOzDnMmLETGOeUxy01BQdVS3WqrRkj9tJ8qK.VoJ1vHsQOKtXjJoo6poeKCwkMRnND9.ZhjVFopSWXHVdxFehoyPdbgmj1skJfIQ9YwKmSRVLHINnHHYltNsbvP0TKncpsnlg1aOvWZBy3Z4BZlplCnhhIJxX5RJRG6EUTHqVwN9d8iVlScTOHrSH3JucBzDJ6liyRJUUR.43SAhHYzUTApQ9VJoYIhc8bC7bv0F.4dEuurmVdE5eVoLWHvir+dSCMzOx0SmTeZ7.LSNskgAj1OM.hk.n13uOY7jbnPbPPpBKSJ8b5H.4B7S.7JH0Dl9x3R8nO86k0OnuDA7LjV5QyoGLk0Vx2WAUecsTNzzySSokOgR7sSOqNC0L0t6ECOxBXVCUwDACUweWDkb8jo8m0vTe5Vd9hAzFjMZs7mZEuOM9Dfmr0Ty7jEjtw5ok8yP5OYyadZnjFzlYR0I02S1bR8Yrg1BoO8EQefvmTe0aXrP5yXQzGHb516j0WyFKj5puHpqYioF8LVegTWiYptzOAqODB4dmNdilpPOIiZMBTrxkutiJMW4jInhn2HC5iv0T7HlExzS7jPfvYPGqrQSNMyxnl0pV4VCfH6.qF.oj4YtRD6XA7wCnufe0J275LLS.xajrz+rKaYdS9LObwWhKuggIOln7xwBNSVsD9XnfljdxXgpopaIYK1srLAgIJ4Hf7M345MVG+hqSkXUbHJ2zpeWjbYRh+5LW6icLG5akoDRcbBQGtWC5QJrdph.mH7nTRADbZl5b7jZdxnJViV8nJ0NtQ549UpzZqQmFPbgsxhQQGcFrehnyWidKO78bTshtnOU4a9.7RfGhdFVjf8vc.tsU4cLs+Kl2z2EH4SCKMYSheHT3Z1z0a5lGwO+UFhiOOvorEpTkrzW4EhesqZkRWUZoRfGdxt5zIy9DBygdzpYzM8574OKFUcG1+L1A6x7ZQDpT3Aou3bEy+hyIeu9r3dFIB8bOzkD9ZXGh4cc5TDtSEkBOTfJfzP10p6QQWqNSWriBwVoPohQ9QEFjUJ7cE+Msd8qtpLud6xOEcJ83146Pg9T56oEzEObG5ZcHduLOAIivLOIVfDVlNJEouqUQLC8PEjOLz+Tj90bCR1J9YBqnkCADDyL9IEYWTuHafcgK+9+wm7edw7yrQJl+KO4j+8Bvb8TL+Cqtw+bAXtQJl+5+9e6GV.lal1l+q+x+0KT9hC2ClRRuYkhXAH9X.1OjPC8JrG9Bn7V98rboh6gCNOza.KXQL2SovGNGgKWJeKXGK+vH54oG2v26ucO1QnK2Rf4E3CcOlslA.o6ASq8FEM4F.4un3tzcbFTE8odW.YXeLZOHGbWhaWkjWxDHvG9+fOTYl7tjRPxxam7hzDz9cIzxeeYIT+xsUj7.O7FC0Rr++j41R1+3sSa+J+gIsekCWHUYjmqFM5ssppm6nZ3aaU0PRUa+0RNPH53srpZJOV0QRU+vv4RUSe8j+nhG4YSO3jz2bZ50EWzArpPpqnL8ZH6FPBGKecxuStN0yKb+3hGSBs5kMduWF3ExmbWiWwkS+QE2uSGrUXBXePwC9x69ahtB+J41Eplym.wLEe0v9sfjGVX.ItPNP5J2EtGcMV9yZzmodlVXWa1Cz7QhN0oOWPzodTmJ8Ms789JKd9c50e+CXs.Xxk8eAvREOh9LJdwrhE0poozmXS9JKKpqXU.6Yyiwsfm52BdZbK3o4sfm0uE7rwsfmMmIOz+gH1YXnWe9zDngi2ms.agB66ZBQYrHRk+OoBNIn
    


  • It looks awesome. I don't have time to look at your mess yet though 😛



  • @d-healey haha, thank you anyway 🙂



  • @ulrik Looks really cool 😉
    I've made the same kind of thing both linear and circular by swapping zones/sectors so I'll try to have a look at it tomorrow...
    I can already tell that I used an array of objects. Each sector is an object containing data, like name, position, angle...
    The mouse CB detects the angle in regard of the centre and updates the objects in question. If the sector passes a certain angle, it swaps with the other sector (position value)

    ezgif.com-video-to-gif-5.gif



  • wow both of these are off the scale of coolness...



  • @ustk Nice work!! 🙂



  • @ulrik Just tried to take a look... but I'm missing the Layer functions.

    Interface:! Line 34, column 14: function not found 
    


  • @dustbro what Hise build do you use?
    I've built the project with the latest as of today



  • @ulrik Ok, I found a glitch
    When shift + click I should receive a value saying which area/slice, the marker is closest to, the value is based on the radius and the angle, from which it then calculates the length between each slice and the marker, then it compares the 5 lengths and decide which is the shortest (this are quiet heavy calculations, maybe that's why the glitch?)

    I used Console.print and found that 95% of the clicks I got the right value but 5% I got nothing.
    So there's something fishy happening in my code.

    If anyone is reading the code, look for the line

    //Console.print("area:"+area+" slice:"+slice);
    

    it's around line 220


Log in to reply
 

6
Online

578
Users

2.3k
Topics

17.7k
Posts