HISE Logo Forum
    • Categories
    • Register
    • Login

    Scriptnode Compressor Gain Reduction

    Scheduled Pinned Locked Moved General Questions
    13 Posts 5 Posters 1.3k 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.
    • orangeO
      orange @Christoph Hart
      last edited by

      @Christoph-Hart That's Great ,Thank you!

      develop Branch / XCode 13.1
      macOS Monterey / M1 Max

      1 Reply Last reply Reply Quote 1
      • ?
        A Former User @Christoph Hart
        last edited by A Former User

        @Christoph-Hart said in Scriptnode Compressor Gain Reduction:

        HiseSnippet 2085.3oc0Y07aabbEeoDGaQlDiFGmhzaCT6ApBGlc4WhpEFhVevDgXIQHpnlbxX3tCIWqcmYytCkDcP5odn+QzC8efh1SsWE5wdo4TgQA5gduEvGZO29lY1kbWKJYZVaCTY.CMu4i2u48989XV0IjaSih3gF4Jb73.pQt2E0cLSLb6gDWlwd6Xj6Nn8IQBZHVKZqwAjnHpiQtbK+oRA4Jj2P8yy2bKhGgYSmJxv3DtqM8Qt9thoR6z5yc87ZSbnG65mZ00ZsmMmsM2iOBvyxHSi.h8ojAzCHxksDxH2s10wUvC6JHBZjQt7awcF2cH+bld8m3F41yiJGXYzENHs31bOGIhkRM1dnqmSmj6cjgQNTmoVgk0Vg6g120wch7oViumZB7zcj1djaorva4LvyJM7LSAuY.obofTdMjdeTW6P2.wzYj34cP6w.mSeBX1SCE8ZMV5YKi1lCqfIJ6SNk1NDFLYGkZXZdeL7eq8SKV7S9DbapvdHlfcbiB7Hi6MpeevuGAtCaJNjBCnf6EK3XwPJdmtcvLp3bd3oEA+Vj.eFID6Dfe.VQgJOfJ1QeRaoNotpCpzpZrga+kVqFq3OkJTGYe2P3XVkdA.PFwaU7NoQRJsLHDzhSvUTQojqR23SL9N3QYCDCkH2xrRMbIRO9HAtRU+n0jqtjXnaD1lGFR8jtN74txUC6W.LzPb+P5WOBt6iw8nd7yWq3fvxQTwQtrAZ8BNk.ZnvkFU5aJhwqpk9HkVW8mnT58kxOXjOvkXLpWjTbwuMkAfbUSb68ZeH7KDAfMl.3fQJwmQ7FQiRYNhukO.rKRSxQThSr8Pd9oV3my38rf0kvIfEuM2OfyfAkVUMqxmLcGBX06xF3xnksCofwQFyFdXumPsE5SWHMEJoaS775Agrk5OhYKb4rRqU7aJVXByRhcexEt9i702ALuuRnGjgAW2zOBSXNIzO0FcEXNSslSAvUrfBhREdhb+kzWb40Xex.lqXjCsDPoiEq85qAnLwNCQlghTNVke9mW07ydZY48PNq5lTpphHUrXxMAPwAbA8v3qTwusH9Empe+YNmzTGx87jNiYLsVc2vFKwF42iFdesEaxBg7BYS1ft9jMoyEZq87oVHmsGX4NLfxttLjFwzE329h81gHHxLTwxlx7AY6POCR2qyWU.sCM5TAOPs1XNFjAWnl8NwYy5545PCMbgjV2FobtFWLshPPqwSFfIsfxPAcceZRIiV+8m9K1LhbFcOVmPJvIjI9LtZlSHmM2YDDXmMQtr5U7DfAOS1SYFRVjqXb5pau1xtOuP78QcbgvlYiwklAFA2xaBLFWS78P6BQU1ho.LOp8W9Vn.HRq+hwTFPmRk+tno0Qx.BHGalZBxXib4fqTbMwb+RzzvrfPZ.IjdLuCr9RQD+.O5Q.3gbHdb6SkrsqFaFnw1VxUTxNNe9hDBeq41bYcydqifxYPwn8IhPWH9AA1.c01jpMRavRxHY8XS4XIgoKk4nF7efehmzZhAClzJYxTIANPW0W4mh+c3tncJQJi7i6egkwC8fZkxPe2X5K3bTx5v8FGLjybskhzqHAoOzmORlmPC2OiDcLw0Sx2OA7jpC41Hyxv+.t9AbGv3fZSrAi33NDwPYPSboRH+u8DlZFbkgr.GQRGmZKB.GeUlJY+lKmJ8llTJGAgbKoO08hNQNqMwyPUPRBTC4YpsMZ7IW5JHEXpX7R.6TrI8zuLzknokRoo2C8DavhFpCdxnt6hdhSTP4zyO25qG5q3if98nNxlShTsWA8LE2nRRGa3HOt.+CsflF08s.0usILnsIbfq8ovlGEf6MVsG2j1PwQwAl4kTAO5EIkXdgv3WTBLdOlC8hDrZzgDBuTPnWa9Iif422kE6eVA8wVlR5y9jKhEgjDJitmROWasLx8An5kqUoRk0MWe8ZMqYU0bCEMpH5XvtMDdNQh6tP9+wt+pZlkevkFyVeHjUFkcKT0Juf1tGn+ZMp2zzrdypUaTo95aTUotaiNRF3jnq6hVu75MpUuYyM1ndSKXoFWqRydCuMppo4LzZ0lMZVuBn3l0ZXtwF5K4JnGJDPWbSuh+ks92EB9nUaMmZq.BrvyTeULqt9F0MqUugUsJ0pzPouBnindTRDcpB+Cq7O+qM+8+5VFSq8cLID5xKtxzjPRiTD+6jl3a8Jv7eoYAxmQkyBSupD2klPbkoV2EpN3.uPUs8jzsWKY9VSs7IE9+pKSY8mzLP2rsKokkxinjd4fe2G15531OyezO329c+3Lb6Yn9mu4UUeqVyk5a8a9y+sMmAWe5Q+RzsgwUz8kgyotq7Ge1lylw+lW4W9u9v+zlWC8O1o1JCGvXQJEk4.1hyO0mnpauP8wmtmv6nm7cPcghWpm6qhk+9pw3eFzTN7lVnrlriVqa3iF8cy6GMJXt+nQGZK.0ebHgEEvix5En9tGCODIJsvuHh1Fdeul9kR91bR3Lm54a1FtjybOcIhQgpbCI8wjp27kuoOdk0B9wqx+l5iWke95c+lg2+G7ZrLO0nPBF65JSnuK6LpGDWnv3cg.g9jQdhDoY406yY7jlZm5zOhBcjOX.MLM1m4EJNEzDI2qURdgIh9QsdDP7Hg6qJ5sP1BqW4u63L8WeTbFSrLXD++he6sJM6FeQ8xy0Kpesi2E+00udfxaimN91PG9D6P9is0u3VxkWQIAt2L0e9fBn8kiwVFmktsUeHi3isskl6OFrOydOUVf8TcA1SsEXO0Wf8zXA1y5KvdZdi6QVL5giDbecnHHnyt5VfysKi.LYEq23+xfGF0L
        

        It works great for a 0-1 value range Knob.

        In this example the automation always starts from the 0 and goes to 1 even if I swap the min-max values from 0-1 to 1-0.

        How can we use it on a dB range and also starts from 0 (max) and goes to -100 (min)?

        ? 1 Reply Last reply Reply Quote 0
        • ?
          A Former User @A Former User
          last edited by

          Any ideas please? @Christoph-Hart

          Matt_SFM 1 Reply Last reply Reply Quote 0
          • Matt_SFM
            Matt_SF @A Former User
            last edited by

            @Steve-Mohican
            You'll have to convert gain factor to decibels so you need : Engine.getDecibelsForGainFactor()
            and, since you want the value to go from 0 to -100dB you need to invert it with (1 - value).

            So instead of this :

            Knob1.setValue(buffer.getMagnitude(0, buffer.length));
            

            use this :

            Knob1.setValue(Engine.getDecibelsForGainFactor(1-buffer.getMagnitude(0, buffer.length)));
            

            Develop branch
            Win10 & VS17 / Ventura & Xcode 14. 3

            ? 1 Reply Last reply Reply Quote 0
            • ?
              A Former User @Matt_SF
              last edited by

              @Matt_SF Thanks for the tip. I've already tried that.

              • Replaced that code line with Knob1.setValue(Engine.getDecibelsForGainFactor(1-buffer.getMagnitude(0, buffer.length)));

              • Changed the Knob range to Decibels

              Have you checked? it doesn't work too.

              HiseSnippet 2094.3oc2Y07aabbEeojFKQlDiFGmhzaCT6ApBalc4GRTsvPz5ClHDKKBQE0jSFi1cH4Xs6NalcnjnCRO0C8Ohdn+CTzdp8pPO1KMmJBJPOz6s.9P6kbo8MyrK4tVTxxDMFMQFvPya938adueuOlUcDbWZbLWXUn3gihnVEdST2QgxAaMfvBs1caqB2FsGIVREXinMGEQhiodVEJL+GnDTn3BV5ed9FaR7IgtzIhrrNhyboOhEvjSj1o0Gw78aS7nGxBxr55s10kGtE2mODvy7HaqHh6Ij9zGSTKaNjUgasiGSxEckDIM1pvBax8F0c.+rPy5OhEyN1mpF3X0ENHi31beOEhURs1Z.y2qS58N1xp.pyDqv7FqvcQ6w7XikOwZ78zSfmrir1iBykGdymCdNYgmcF3MEHUHCjVv.o2F00UvhjSlQgm2.saH3b5Q.ydVnXVq0be87ns3vJBkUBHmPaKfAi2Q4UssuGF9uU9okJ89uOtMU5N.Svdr3HexniG1qG32iA2gKEKnv.J3dwRNVNfh2taGbHUdFWbRIvuEKwmRDXuH7CvZJTk9T41lSZS8I0UePkW1fMb6OwY4DE+ATo9H6wDvwrL8b.fgD+kwamEIYzReAnEunKohxoWktImXxcvmF1WNPgbG6p0wkIGyGJwUqEDuhZ0kkCXwXWtPP8UtN7YL0pg8KAFp.2SP+rgvceD9XpO+rUJ0WTIlJOfE12nWvoDQERFMt7mWBiW1H8QZst7OQqz6oj+3gA.WJLj5GqDW5KxX.HW1D2d216C+BQBXKTBbvXs3SI9CowYLGI2xG.1EkI4.JwKwdnN+LK7iB4G6.qKkS.KdKdPDODFTdY8rZexjcHgUuSXeVHshqfBFGULqX+ieJ0UZNcoxTnktEw2+XHjsbuggtRFOr7Jk97REGyrTXOfbNKXXf4Nf48zB8gLL3F1AwXRnWJ8SuQlDyC0q4D.bkzHTouiTaubBvTr.pKC7Mws4BUVo1DWHNrry8MVF0J1izOjIG5QKCb9DwFZwJq.2iTOAD6JjYb8ZlvOul8G9rJpapZV8csbMMUqToz6JfyGykz8Stzk9hR3Wbpd8l5bJmgf66qbWSYZi5tlMVNbXvwTw8L1zwKDxbjOcD5pSGkMaoqgajYg7vcAS29QzvqJGpUBgB9sOd2sIRhJGVhrIwFfrsomBEDLYzJh1lFehjGoWaBKzpvhR8r2NIeWWelGUXwfzZKhz9eqymTyHp0nwCZQZAEph5xdVZQkV+8m8K1HlbJc2vNBJPaToFC3dIJWSYf5QWJWKjkm6MDREjO0uhYkLA3.xkuUkSMLlIGksd3+ypGbSg3ai5vf.soiw4lBFA2z2DXLoJ5ag1ABybkS.3Bn1exqgRlHi9KkPg.cpT9ahlT4IGHfrx4phnhUJT.tRIUQK7KQSB6hDzHhfdHuCr9xwjfHe5A.3gjJ9b2STruKGqFYv1lpUT1MoBvrDReqar4x458VG.E.gxW6QjBFDOg.afo9bZ8IkMXNUjsYrsZrhvzkF5oG7efeRlzYrAClzIcxLIEdroOAseJ42g6hwoDqMxOo24NVOzGptpREvRnufyQKqC2eTz.dHyUIxrhTj9v.9PUdCCb+PR7gDluhueD3I0GxhH6Jv+.t9i0w9HS4gQcHxApfljhqPAA2wL0b3JGYANhzdTMVD.NA5LWpNTmOS5NCoTMBB4lybp6FejZVWhuktFlBnVpyzXaL3SszkPZvT05k.1IXS4oeYnKUSykQSuE5otfEUXBdxot6fdpWbTkryei02wnOkOD5Pj5oZmIV2PFzkURqMo83gi84R7OzAZyzzoCTw2kDBMZgiXtm.adXD93Q58vRabEGmDXtfhJ3SOOsjyKDF+hRfw6F5QOOEqVcHB3sERyZWX7HX98XgI9mkP22wVQe1ibdhHjhPY08D5YFqkUg2A0nR8pUqtl8ZqUuYcmZ1qqoQkPGB1sAvCPRc2EW3eryuptckGbg0z0GB4jSY2BUq5Kns6B5u9pMZZa2nYsZqVswZqWSqtEQGnBbR00cPqUYsUq2nYy0WuQSGXoVWoRyeCWDUy1dJZsVyUa1nJn3l0W0d80MWxkPOTJg99lbE+Ka9uKF8dK25FpshHvBOU8U0t1Zq2vtdiUcpWsd0U05qH5.pOkDSmnv+vR+y+Zye+utk0jZeGRDPaeIUlFGRZkg3e6rDemWAl+KMKvB4T4zvzqJwctwDWUp0cfpCdvaZ0aOMc6URlu0DKeZg+O8hLV+wMCzMe6SFYY7HZoWz+28tstJt8WEL7G7a+xebNt8TT+y23xpuUqaj5a8a9y+sMlBWexQ+Rzsk0kz8Ehantq9G+pMlNi+adkew+5c+SabEz+DmZqbb.qYoTTtCXSN+j.htt8L0We1dBusYx2.0EJdo+.A5X4uudL9mAMoCuBFJqo5n04Z9LSe4M8yLEci+LS66JA0enfDFGwiy6EnArCgGlDmU3GGSaKnelg9kQ9VbhXpS87MZCWxotmtD4PgN2PZeLY5Me9q6yc4LietqE9+tO202BdAVtmWTLEicYpj36DdJ0GhEzX7N.4uGYnuLUZdt7d7PdZirSbzGPgtv62mJxh8odgRR6LVxcaklKXrneTqGAjMhXOy6bmEagyq7Wmbp9q2KIKIVE.h+16Kmm+6zub90xSAecni.hqf+DWyKnU7zkzRf6cn9OfPQzdpwXGqSy1FZ.jg6IttJS78gDlSeOUmg8TaF1S8YXOMlg8r5Lrm0lg8z7Z2ip3xCGJ4AlPNPPmcLszVXmPBvd0Lcq+aMQhEN
              
              Matt_SFM 1 Reply Last reply Reply Quote 0
              • Matt_SFM
                Matt_SF @A Former User
                last edited by

                @Steve-Mohican you did change the knob's mode to decibels but you forgot to change the min/max and other values :

                HiseSnippet 2143.3ocyY8zaabbEeoDGaQlDiFGmhzaCT6ApBalc4ejnZggn0eXhPrjHDUTSNYLb2gji0t6rY2gRhIH8b+PzC8KPQ6o1qB8XuzbpHn.8aPKfOzdoWZeyL6xcoDkDEgiajALz7l2Luey68adu2rpcH2lFEwCMxU3nQATibuMpyHewfsFPX9F6tsQtGf1iDIngXsnMGEPhhnNF4xs3GIEjqPdC0OuZiMItDeaZpHCii4La5yYdLQpz1M+DlqaKhC8HlWFsq0bWat+VbW9P.OKhLMBH1mP5S2mHUaAjQt6siCSvC6HHBZjQt7axcF0Y.+Les9GyhXccoxAVFcfMRKtE20QhXoTisFvbcZmbtiLLxgZm5EVT6EdDZOlCar7TuwOPMANcEY8G4VXR3s3DvyJK7Ly.uo.obYfTdMjdWTG6PVfHcFIddKzt9PvoGAb6YghVWiE9OKh1hCZ3KJ6QNg1JDFLdEkV0z7wX3+V4mWr3G9g3VTg8.LA6vhBbIi5NrWOHtGAgCaJNjBCnP3EK3Xw.Jd6Nsw9TwY7vSJBwsHA9TRH1I.+TrhBUtOUrsdm1TsScTaTok0XC25yrVN1veDUn1xdrPXaVldN.Peh6x3syhjLVoeHXEmfqXhRIGkNw6X7Yvk52WLPhbKyJ0vkHc4CE3JU8hVQpcIw.VD1lGFRckgN7YLo1v5E.CMD2Kj9ECgy9HbWpK+rUJ1OrbDUbHyuu1tPPIfFJXznReUQLdYszmqr5x+LkQerT99C8.tjuO0MRJt3WmwAPtpKt0tsN.9Eh.vlu.3fQJwmRbGRix3NhOkOE7KRWxgThSr+Pt+YT7S74cs.8R3Dfxaw8B39vfRKqlUESRWg.zdG+9LeZY6PJ3bj2YCOn6Ko1B8tKjtBkzsHttcgqrk5Mz2Vv39kVo3WUrvXlkD6djyYdC8zmALumRnKjgAW2zKBS7cRnepExDXtuRmS.vUTgPo8NVt7Rw.SxBn1LH1D0hGJyJ0hXC2CKY8DsmQpwdj99LwPGZIfyGKVSKVYE3bjDIf6tghLgdES3WV07i+xxxSpbV0YsTUEUqXwjyJfy84B5AwG5hecQ7kmpWuoNmLXDxcckgqoLs1b2vBK4OzqKM7wZe5XEgLGSlNBc8oixlszVyMxnH2eWv0cP.0+5xgZDSnfe6S2cahfHygEKK8tAHaa5oPAAcFsBnsoQmH3AJciYgPJMgZ1GDmuqiKygFZvfzZ2Goh+FmmVyHn4nwCZRZBEpB5v9RX4HjYYKiHxozc8aGRAJiLsnG2I1vJ5hgW1BXe9E.4LawKOliiKsMOhIc3oyT4hHf+v.cyib1DJnckj0PYBtyPHWxj0NjTy3IjaX1D1xjx9fgFksf5kKnje1Jnby06lU39tn1L3V6zw6BSAuPL+6Z7FWd9cP6.2esEofMOp0mci0huyP4VqKizXoXLOEruDHuMJs71D.BR8OQoJ4Exb4fiWbo5b+JT5c6fPZ.IjdDuMneoHhWfK8P3f.Ytb41mHo3WMgPfFaaJ0njcbYl4Iuw8l41Xrtw1XLNDpxB0H2iHBk2VPfOP2DPRQPoOXAY5C8XS4XIQpC02QM3+B+DOo0XGFLoUxjYx7rutYDUbJ92gyhNnDobxun24VFOyEJgKy2vho0PvQIqM2cTv.tOyVJRqQBRelGenL4jFteLI5HByUdO3XHRp1j6CIbf+A2A1WkjAoqAMpMQLPdYJtBNT0wdLqcBbMAYA1hjFg0dD.Ndpzix1fWLSNUMoTNBtJtfdW2M5X4r1DWCUgRIPMj6o12nwmT0kPJvTw3V.aJ1jQ5aCcIVZgLV5cPuzF7ng5KOSXtGhdoSTP4ryOy1qK5y4Cg1PoNxdlhTc8AsxE2+TRij3HWt.+isfdY0sSAsUXS7gt4vAL6SfEOL.2cjZMrjtiwQwWLyKoBtzySpqcoqwWVBLdWeG54IX0nMIDd.iPqa9wif42i4GGeVB8DKSI8YOx4whjUvfTSmPOS6sLx8dn5kqUoRk0LWasZMpYU0bcEMpH5HvuM.RckDtKj+eryutlY4mdgwzsGBYMgwtGpZkKYsGA1u1p0aXZVuQ0pqVo9ZqWUYt6iNTdwIwVODsV40VsV8FMVe85Mr.UMtViN4I79npllSwpUarZi5U.C2n1plqut9PtD5YBAzbY5Q7ut4+tPvGrbyYzZEPfGdp1qhY00VutYs5qZUqRsJqprWAzgTWJIhlZv+3R+y+Vi+vuooQZMwiHgPukwUoFekzHCw+AYI9V2Al+slEH+DlbZX5tRbWXLwUlZcGn5fCTMTs7jzsWKY9dod9zFpx38G2jPmw8nkQVlHhR5E8+8ueyqia+sdC+Q+tu4mNA2dJl+UabUy2r4LY9l+1+xeeiov0S25aw1FFWw1WDNi1txe5a2X5L9u6M9E+q2+Ouw0P+iCpMmfCXLOkhlXC1jyOwinpaOWOdHa+gOPO4ag5.EuTeEB0c4enZL9W.uF.dpMTVS1oq0M7sr9lY8aYELyeKqCrEf4OJj3GEvilLJP8XGAu9IJqvOMh1Jj9EZ5WF4awIgScpWsQK3PN00zgHFFpxMjzGSld1WblaT9N7M0x+8tuo1atWo854y9UHAicXxj363eJ0EtKnv3CAxeOxPWQhzI4x6w84IMxlFnOjBcg2uOMLK1m5AJNsyXIOpYRtfwh9IMeNP1Hg6oeP873KrtyeBzoFu9f3rjX4EP7+WhauVdQ8hyzKpesfw4+Uzyu4eS7Tv2D1viXGxegs9EzRd5RJIv41W8Won.ZO4XrkwoYaC0Cxv8BaaoK9IPByoulJywZpNGqo1brl5ywZVcNVyZywZZbiqQVb4YCEbO8UNPP6czszlaGeBvdULci+Gii8ZLC
                

                Develop branch
                Win10 & VS17 / Ventura & Xcode 14. 3

                ? 1 Reply Last reply Reply Quote 0
                • ?
                  A Former User @Matt_SF
                  last edited by

                  @Matt_SF Oh my bad! Thank you so much 👏

                  1 Reply Last reply Reply Quote 0
                  • Matt_SFM
                    Matt_SF @Christoph Hart
                    last edited by

                    @Christoph-Hart This doesn't work when the compressor network is compiled and loaded into a HardcodedFX module.
                    I'm using an external display slot to display the value in my plugin but there's nothing here... litteraly nothing, I can see what's behind it :face_with_tears_of_joy: :

                    ecdbdb90-b6b6-4838-be9f-318f804296ff-image.png

                    Develop branch
                    Win10 & VS17 / Ventura & Xcode 14. 3

                    orangeO 1 Reply Last reply Reply Quote 0
                    • orangeO
                      orange @Matt_SF
                      last edited by

                      @Matt_SF It looks funky in the HardcodedFX module, but it works. Just set the DisplayBuffer directly to the HardcodedFX module.

                      const var dp = Synth.getDisplayBufferSource("dspComp");
                      

                      develop Branch / XCode 13.1
                      macOS Monterey / M1 Max

                      Matt_SFM 1 Reply Last reply Reply Quote 0
                      • Matt_SFM
                        Matt_SF @orange
                        last edited by

                        @orange Mmmh that's what I did but got nothing. I must have done something wrong then, I'll try again. Thanks !

                        Develop branch
                        Win10 & VS17 / Ventura & Xcode 14. 3

                        1 Reply Last reply Reply Quote 0
                        • resonantR
                          resonant @Christoph Hart
                          last edited by resonant

                          Is it possible to use the scriptnode DisplayBuffer with the MatrixPeakMeter FloatingTile?

                          @Christoph-Hart

                          Content.makeFrontInterface(600, 600);
                          
                          // Fetch a displaybuffer source reference to the DSP network
                          const var dp = Synth.getDisplayBufferSource("Script FX1");
                          
                          // Get the first "external" Displaybuffer
                          const var gr = dp.getDisplayBuffer(0);
                          
                          // Set the buffer length to 1024 (about 23ms)
                          // (this correlates with the timer frequency below)
                          gr.setRingBufferProperties({
                            "BufferLength": 1024,
                            "NumChannels": 1
                          });
                          
                          // Get a reference to the FIFO that contains the values
                          const var buffer = gr.getReadBuffer();
                          
                          
                          const var Knob1 = Content.getComponent("Knob1");
                          
                          const var t = Engine.createTimerObject();
                          
                          
                          t.setTimerCallback(function()
                          {
                          	// Fetch the maximum value of the last 50ms and display
                          	// it on the knob
                          	Knob1.setValue(buffer.getMagnitude(0, buffer.length));
                          });
                          
                          // Start the timer with ~30Hz.
                          t.startTimer(30);
                          
                          1 Reply Last reply Reply Quote 1
                          • First post
                            Last post

                          49

                          Online

                          1.7k

                          Users

                          11.7k

                          Topics

                          101.8k

                          Posts