HISE Logo Forum
    • Categories
    • Register
    • Login
    1. HISE
    2. ThomAce
    T
    • Profile
    • Following 0
    • Followers 0
    • Topics 2
    • Posts 16
    • Groups 0

    ThomAce

    @ThomAce

    2
    Reputation
    6
    Profile views
    16
    Posts
    0
    Followers
    0
    Following
    Joined
    Last Online

    ThomAce Unfollow Follow

    Best posts made by ThomAce

    • RE: FFT analysis programmatically?

      @clevername27 Yeah. I'm an indie music producer and this plugin does exactly what I wanted to acheive. (I know you know these, but some others might not, so leaving this hear for making some explanation for the tool: )
      Masking can be intentional and unintentional. When you are doing it unintentionally, it can cause muddienss, muffled or cloudy song. These are the essential parts that every producer must learn when producing. Sometimes, we are masking intentionally. But, if your kick and bass "kicks in" together, the lower shelf will be roboust, muffled and muddy. Also, you will not be able to maintain clarity in that space and therefore the whole balance of the song was bad, low-shelf oriented and loudness could not be maintained. Here comes the VST I'm making into picture.

      It's earlier version (Space Maker) was based on Mix Space, but the PRO named version is something that I wanted to achieve more as I have seen some cool features in ProQ. Although, almost all these features I can build in Ableton via racks. Configuration and identification not always that easy and requires extra steps. When I have asked for making a mix and / or mastering for another artist and the time-frame is very tight, these plugins gives a huge helping hand.

      Just imagine, that you don't have to do long hours of fine-tuning the dynamic EQs as you have visual feedbacks as well that helps you more easily spot the so-called "clashing frequencies" that would cause unintentional masking. So you can easily tune your dynamic EQ to those parts and you are done. Quick, smooth and easy way.

      posted in Scripting
      T
      ThomAce
    • RE: FFT analysis programmatically?

      @ustk A minimal one? Yeah, maybe, but it is not fancy enough and full of stupid things.

      Please double check everything, becuase this version did not fully check if anything goes wrong. And of course, it is not perfect, yet.

      Btw, I'm making this for my upcoming Dynamic EQ for detecting clashing / overlapping frequencies to avoid masking issues.

      If you wish to see a snippet of the VST: a05a9759-fb44-454d-bd01-ffc6f9e57ddd-kép.png

      And there is a HISE Snippet for the code I'm working on to make the FFT processing and visualization working the way I wanted... @jdurnil @ustk

      HiseSnippet 3385.3oc6ZrrbabbbAIWYCX6X6DUoxwoPkxFPhFD.TR9AsrIAIgEiIoPQfPoDIFUC1c.vXtXGjcGPPXUpJma4SHGyg7AjefjJeA4PtjqoxWPt5S1cOy9D.jhDxJ1RkosH2o6d5tmt6o6dlca3IrX99BOiLYaMd.yHyqa1brqr2l8nbWic1BfaVudqsX8EF0FOf56yrMxjYwOCQmI6RFpe9eeZMpC00hECxv3PA2hsKuOWFCsw5eN2woN0l0h2OA02X8crDtaJbDCAUYQyxFCnVGS6x1mhjsfoQlqrsMWJ7ZJoRluQlkpIrG2rmXjql9C4971NLbPEil.izfqKbrQMFgZrYOticivkruAvzFwFfE0FfqZtG2lGAO1P7VJDj3YjzdjYgzp2hoTuJIUuxITuYnRYRnRKoUo21rokGefLFCpOul4NtRlWGJX1SpJZZMV3udUyME.EtxR8oGyp6AChlQgaUt7xD3WEWKWNvz6KImP8H1s6PtMQEATpKStE2efCcbsgc5v7ZB9FXh407mT+9UxCSNwbSR7F.a.lMESJT9rmSsyZNURqjP73iZtyucaf7OnxGVMI+1ai6+nc2d+Oq0c.j25l2b0aAybkUHnAf3OziQj8XDOtaWRaEuIbeB0mzl2E+y.guxMkK8ZojOSd.LG8PvKLf4I4L+BONGgjWCcWlaWYu7eTBUXYD69C6CgPttLGe.YkbOAWKoW1emydXAa4wf.QBEMVDQ6ufYISXl5zQhNnsc6xcYkzzBDVHkuAHp1YPDJAPoUFyQbWawHhDhTyg7EWM2SACCdKn.UyA1M2m5dGpmG2GX.x6oIr1zDlTRhSXdNzAjBiXDag66JItLlcD3dLOVwHU3tZnEJWpbB4kFJx7e0PX4BKZ.gzWIl1b2cbsYmRjBBGfYwvMMjNdre+Plq0XxPeL9AI0m1efCyCLLHqnt1JnnI2m+krR43tNfsizYnqkjKbiXcKQcfaE31mVL2iyk0iIG54RvwjUhBuKRtVnwG1QzTIpC.QgNfmjaBu4iroRJ3sd7SVKGBa.idL5hKOoGcVDVaJBCVqPPXBR6SOcmstO.38g8bQF58ncc4xg1r5AqxBgK2B8oAwzKSDc5.zpVsIkZDEOn7Qk3no4tcZ.3v0nhPzjnTtr4x1Q3A1HX3pqQ3jOF9a0xkgGu90KlKKv3rIT6G.S7HfzIs3EWakU1iBY27DCcsKndriiP3UXJJKVbMxJqD41Q9GZnC4dR0+A7i.dG3vrECgzHsDMkXtlBSP2xjJJd2OzzA7F9edGb48IjUq.okgwYaC64Nds.j1md8quF7XDgeLIjNN452lTEIDRCvHIPm.+MKOEAUSQ.PdHEJIFvVEzmnr+OUyK5PtvVXEwSYjOeaLNmKnYVQ5LrzQQwnEsBrUZYhzaHCSGDkl3RGSC696FjkBVkDUjLjYT1SApGuaOFr0Bi5QZw.aYOtOFoeQ1DbY1sT8RrcILc.Zpq9++34peuGPe9Ffm8fsDwVPDhKTlDJcYQcg+43PF3wFPgVR7EPz.UFU6PWtVQGGXDm5vg0HLCjI3NEtGT1S2+heIch3.dUHr3wxjpgk8lMJjW2i8tfZDzpfbjHjmZ0YjFqXvXcSSLZnPwJii5wbQdnB4GJkP0MnUJPVXanIJk3wrDd1wME9.8iA8STHtclhKSNSTGs1YvwZOCbbppyTWpyXecONAap2Lb0GrviK8K6oLH9zNLsMpOS1SXmK6DsNh3N.nLnU1TlCba6DsBdNjWqnZaMnUCzmCHohEkqIN.pDoEjiAv.dQHD.s.1NiULPE9gTGEpFaEfHT+ALKdmwZl56.GiyGR1olfZ59pSB.AmCFJwn2ff5.6GzzjpUHnKVHETeHRAj7InNxTydD0UhQP1Bc19RAKmosMAguSis1js.sKsMyoBDLDdhGHa7lh9CDtvfB40nwiqLkSO3LU3NZkSOYPfxd6H.qEInqo74S.CZaCC+NJc11xprsAMKkLcKljpPhTNGAoFeuOrbQx67NjBIJ6EBGSj8XUZqNSgOIaTI7TDlckqUGTCaV6gcgTVcKUpjBLXT7ENLvTxAqgBT1YWhNUI9iJVjbcR967kj26SH4gGmchvjpFlBDmicMxI9p47bPZ0lVZ4Uho3ZWaE0CpeobYPB+WxVo3ednKFGFsRg.wRCF52aRwnnApzg+SUvSuO.6voPdI6TY9kUA15.8fSg.+YhMWMntm2lKM5z2EPMHAvVdTUT3cvqfwSQ08.lnIG4Qg7i31vgZSMyVUl7Lm3ME4cWUJM0YOi15VOrqwVhF7SYNEh.rL4dHmKRvcz31G0PrCBbyhdvsOSkDjAA9QcjGtaDSIAgRNhtEpBaaWIdXE7zjQygd5YLGr6jYNsvC.FgIhASRO48RoSH5BoD3j3ul1TnboAldv8qroaBUAZCm2Nt4VUFPryzRXXQofZK2NURRv5nIAaq.ymf4hQnwbuAB+.wPI3DiYd2hgdiokvsItCcbPmi1TD3B5hbSeqfEJe5MJeqJU298qDXzhL3CBNhXDPUtXbu.ThhLovJpHAzD7OpoNUbDN0kI27ln6QQl92cKY6QGsKtnFb5xD7ekglopB+JxS9jz1BI0SaqKTUeUasdpl+z1ZjaQA7B28ER1ccCaOIcd836JHZAAUCv6rDm09C62FTi8.VS6pnJAT7XXP.BYRI0oiVTSfCyC3IbbvYNCz5E74LwBtJwtL38bftiCIzHyRouDUyy9RTSdGuV5zRIHT.GzjKu6.l6YcyuFA4xfm906rEDcf27Z.r3afCfsE6Dn+G88vl0bKl+wRw.iLKDk.zHyqIUXeifaoUkj0faaj4UM0IbMNM9lt+j0GGOX75pLfQ.9Oe058XvgESbi4+t06OzQxwlV.sYA3r.cc6qDaVSPS1k0QZzta3Mmm8Je8W+0eCNOL8dLT.PDT00oajP+uRZ8WE6Fn+pmqdl5+MlP+K+GlT++piWOyhIj0aHCtjcsrp6HnPVhts3faEE4aZlDTJKGXtRN3BH4.+o148llaLzlK1P2emWJi1pqtpZNbIqeRi127WRCsJBdqs1Z1VX0OpXoL6Zpt61nHtcry+Qj7gxtRd0c2ptLD7VaUipCanDitmv6X+ATKF.uCEN4ZtmXfmdyUlvHF4WLlaKa0uWsre5+5u8mdtXYq97vx9JOk8GOiQomiRL8qB5sL2SXOzgJS+lovWGW.BHSapWGD9Jeb84xwIeccem85ptnp3aa1fKs5MacbgYniP93mG5XvK46ML2F5EvRFqfKYV+9OmdidKlP9lZ4mKbW58UB+0MieoZoTBn9bpWEFVTLyBvRJ3k7k4OZFWeM3hdftX.5K3G8BCVlzFNv5wM4eIa5hxAGutFRQAqfWkz7T69JWXyUky2aoabrKz0qGG2XA1.8qdL7Ecg1.LJIXbYbLFvzj4ZqF7MvOAHqfiyDfrxDHqFYMAjUm.4p33ECPtZHxD8MrOSNByofcND7LjqP6N8UtmG04TXgCdMLdOyqXVtD7eFafYivs67fcBfeVAqgvY7fdBWtEBRSQ3hdi9vQJkg56cn9snbGbqSyg9PaN120sIPr5MvCgtY1WXCOYVmZAtjwMnXNn21DaTBh2wKDKJtOktFG5g9FjIgog0VXPmz8dfuP9EQ75UuVZH6dESU6JFmoj0nmOAsPBA8SLE9Vbvr4aAcqkVd+byfawoTJZtbBEs+NrSC6MbhsgSBw.ShAEcz7daXKhsMyVWxBa2pA0i1mIYg4iBavzvHwZ5MSslp7CpEUkK0hZNvn9vGvQiQwphL2w+PDqE0w3PLaCFuOWsqaLqLvQ8qn+XJhZNKUB3fO8AH0Yboo+w5M7.wvFEHl.vuEzo6Kn4.wwmYNvPjw4.uDVypuvZMCW1yzZFh76hJJIrl+rvtSTMTuq.CrUFzqpgPPPDr79jwoy42i0fK72iUywtV6oRUEKDUKcs7nVGCV2jhBUyscof2wNI8GHDpacH42Cl96ZnIdQI.6SxjCvWZfOKEr5PQN8mDls4dezCUFkSnxnGv6xgQ.UBV6jCU2RuV.jFfV9vcYTa+GVeiCacHQ8LYOlCDUQpr5GzdPexmyFS1frG8KDdkFQOwnOZT0ar5SOEe7u+vrFNvpSovg3bTKW6P7SF3tzEKv8o7opszO39T0dA33Io9Z5xFpiM4XHw1tm.Ne.Bpi+TnVQGJzaRHzzIt1S3JBaMKYDJjPoaWrPYrtOyEzFRID+EC4pqe.ygQ8SrU3WtNdyhTuI2jcIrEUtzeYgyze8KL0pKAyIPdw8XkK9R8wJmrpl4LqpsvyTOByasopmUso+7+7e+ee4u1zuYdpMsk2v9JaXXApOmCaAOP33nKNcFEjdmJu54VPBw+iEjdInfzp+XAoerfzKeEjV37JHs3TEj9g8Ai6Ss7DOxReSoXD9qpf.VLWUggrl6giIULNQeeFwQA8g7iOxxJMqlZhUm2It57NwaLuS7ly6Du07Nw2edm3G7zmHV9ZigRQe8lZCi8Zrs9hvxD0LADt9s.3iBSsA
      
      posted in Scripting
      T
      ThomAce

    Latest posts made by ThomAce

    • RE: Mouse Scroll Wheel Detection

      @d-healey This is not something that implemented, yet. Script panel mouse wheel callback still not implemented. (Checked the sourcecodes as well on github, latest branch) Although, it is detected by JUCE, but the event could not be catched as there is no event.wheelup or wheeldown or anything like that. An EQ contains scrollwheel callback indeed, just like the knobs, but other components like images or panels are not. Panels should have this feature.

      I'm also looking for some workaround for detecting if the mouse wheel scrolled up or down under a specific Panel widget.

      @d-healey @Christoph-Hart - any idea how to achieve this?

      posted in Feature Requests
      T
      ThomAce
    • RE: FFT analysis programmatically?

      @clevername27 Yeah. I'm an indie music producer and this plugin does exactly what I wanted to acheive. (I know you know these, but some others might not, so leaving this hear for making some explanation for the tool: )
      Masking can be intentional and unintentional. When you are doing it unintentionally, it can cause muddienss, muffled or cloudy song. These are the essential parts that every producer must learn when producing. Sometimes, we are masking intentionally. But, if your kick and bass "kicks in" together, the lower shelf will be roboust, muffled and muddy. Also, you will not be able to maintain clarity in that space and therefore the whole balance of the song was bad, low-shelf oriented and loudness could not be maintained. Here comes the VST I'm making into picture.

      It's earlier version (Space Maker) was based on Mix Space, but the PRO named version is something that I wanted to achieve more as I have seen some cool features in ProQ. Although, almost all these features I can build in Ableton via racks. Configuration and identification not always that easy and requires extra steps. When I have asked for making a mix and / or mastering for another artist and the time-frame is very tight, these plugins gives a huge helping hand.

      Just imagine, that you don't have to do long hours of fine-tuning the dynamic EQs as you have visual feedbacks as well that helps you more easily spot the so-called "clashing frequencies" that would cause unintentional masking. So you can easily tune your dynamic EQ to those parts and you are done. Quick, smooth and easy way.

      posted in Scripting
      T
      ThomAce
    • RE: FFT analysis programmatically?

      @ustk A minimal one? Yeah, maybe, but it is not fancy enough and full of stupid things.

      Please double check everything, becuase this version did not fully check if anything goes wrong. And of course, it is not perfect, yet.

      Btw, I'm making this for my upcoming Dynamic EQ for detecting clashing / overlapping frequencies to avoid masking issues.

      If you wish to see a snippet of the VST: a05a9759-fb44-454d-bd01-ffc6f9e57ddd-kép.png

      And there is a HISE Snippet for the code I'm working on to make the FFT processing and visualization working the way I wanted... @jdurnil @ustk

      HiseSnippet 3385.3oc6ZrrbabbbAIWYCX6X6DUoxwoPkxFPhFD.TR9AsrIAIgEiIoPQfPoDIFUC1c.vXtXGjcGPPXUpJma4SHGyg7AjefjJeA4PtjqoxWPt5S1cOy9D.jhDxJ1RkosH2o6d5tmt6o6dlca3IrX99BOiLYaMd.yHyqa1brqr2l8nbWic1BfaVudqsX8EF0FOf56yrMxjYwOCQmI6RFpe9eeZMpC00hECxv3PA2hsKuOWFCsw5eN2woN0l0h2OA02X8crDtaJbDCAUYQyxFCnVGS6x1mhjsfoQlqrsMWJ7ZJoRluQlkpIrG2rmXjql9C4971NLbPEil.izfqKbrQMFgZrYOticivkruAvzFwFfE0FfqZtG2lGAO1P7VJDj3YjzdjYgzp2hoTuJIUuxITuYnRYRnRKoUo21rokGefLFCpOul4NtRlWGJX1SpJZZMV3udUyME.EtxR8oGyp6AChlQgaUt7xD3WEWKWNvz6KImP8H1s6PtMQEATpKStE2efCcbsgc5v7ZB9FXh407mT+9UxCSNwbSR7F.a.lMESJT9rmSsyZNURqjP73iZtyucaf7OnxGVMI+1ai6+nc2d+Oq0c.j25l2b0aAybkUHnAf3OziQj8XDOtaWRaEuIbeB0mzl2E+y.guxMkK8ZojOSd.LG8PvKLf4I4L+BONGgjWCcWlaWYu7eTBUXYD69C6CgPttLGe.YkbOAWKoW1emydXAa4wf.QBEMVDQ6ufYISXl5zQhNnsc6xcYkzzBDVHkuAHp1YPDJAPoUFyQbWawHhDhTyg7EWM2SACCdKn.UyA1M2m5dGpmG2GX.x6oIr1zDlTRhSXdNzAjBiXDag66JItLlcD3dLOVwHU3tZnEJWpbB4kFJx7e0PX4BKZ.gzWIl1b2cbsYmRjBBGfYwvMMjNdre+Plq0XxPeL9AI0m1efCyCLLHqnt1JnnI2m+krR43tNfsizYnqkjKbiXcKQcfaE31mVL2iyk0iIG54RvwjUhBuKRtVnwG1QzTIpC.QgNfmjaBu4iroRJ3sd7SVKGBa.idL5hKOoGcVDVaJBCVqPPXBR6SOcmstO.38g8bQF58ncc4xg1r5AqxBgK2B8oAwzKSDc5.zpVsIkZDEOn7Qk3no4tcZ.3v0nhPzjnTtr4x1Q3A1HX3pqQ3jOF9a0xkgGu90KlKKv3rIT6G.S7HfzIs3EWakU1iBY27DCcsKndriiP3UXJJKVbMxJqD41Q9GZnC4dR0+A7i.dG3vrECgzHsDMkXtlBSP2xjJJd2OzzA7F9edGb48IjUq.okgwYaC64Nds.j1md8quF7XDgeLIjNN452lTEIDRCvHIPm.+MKOEAUSQ.PdHEJIFvVEzmnr+OUyK5PtvVXEwSYjOeaLNmKnYVQ5LrzQQwnEsBrUZYhzaHCSGDkl3RGSC696FjkBVkDUjLjYT1SApGuaOFr0Bi5QZw.aYOtOFoeQ1DbY1sT8RrcILc.Zpq9++34peuGPe9Ffm8fsDwVPDhKTlDJcYQcg+43PF3wFPgVR7EPz.UFU6PWtVQGGXDm5vg0HLCjI3NEtGT1S2+heIch3.dUHr3wxjpgk8lMJjW2i8tfZDzpfbjHjmZ0YjFqXvXcSSLZnPwJii5wbQdnB4GJkP0MnUJPVXanIJk3wrDd1wME9.8iA8STHtclhKSNSTGs1YvwZOCbbppyTWpyXecONAap2Lb0GrviK8K6oLH9zNLsMpOS1SXmK6DsNh3N.nLnU1TlCba6DsBdNjWqnZaMnUCzmCHohEkqIN.pDoEjiAv.dQHD.s.1NiULPE9gTGEpFaEfHT+ALKdmwZl56.GiyGR1olfZ59pSB.AmCFJwn2ff5.6GzzjpUHnKVHETeHRAj7InNxTydD0UhQP1Bc19RAKmosMAguSis1js.sKsMyoBDLDdhGHa7lh9CDtvfB40nwiqLkSO3LU3NZkSOYPfxd6H.qEInqo74S.CZaCC+NJc11xprsAMKkLcKljpPhTNGAoFeuOrbQx67NjBIJ6EBGSj8XUZqNSgOIaTI7TDlckqUGTCaV6gcgTVcKUpjBLXT7ENLvTxAqgBT1YWhNUI9iJVjbcR967kj26SH4gGmchvjpFlBDmicMxI9p47bPZ0lVZ4Uho3ZWaE0CpeobYPB+WxVo3ednKFGFsRg.wRCF52aRwnnApzg+SUvSuO.6voPdI6TY9kUA15.8fSg.+YhMWMntm2lKM5z2EPMHAvVdTUT3cvqfwSQ08.lnIG4Qg7i31vgZSMyVUl7Lm3ME4cWUJM0YOi15VOrqwVhF7SYNEh.rL4dHmKRvcz31G0PrCBbyhdvsOSkDjAA9QcjGtaDSIAgRNhtEpBaaWIdXE7zjQygd5YLGr6jYNsvC.FgIhASRO48RoSH5BoD3j3ul1TnboAldv8qroaBUAZCm2Nt4VUFPryzRXXQofZK2NURRv5nIAaq.ymf4hQnwbuAB+.wPI3DiYd2hgdiokvsItCcbPmi1TD3B5hbSeqfEJe5MJeqJU298qDXzhL3CBNhXDPUtXbu.ThhLovJpHAzD7OpoNUbDN0kI27ln6QQl92cKY6QGsKtnFb5xD7ekglopB+JxS9jz1BI0SaqKTUeUasdpl+z1ZjaQA7B28ER1ccCaOIcd836JHZAAUCv6rDm09C62FTi8.VS6pnJAT7XXP.BYRI0oiVTSfCyC3IbbvYNCz5E74LwBtJwtL38bftiCIzHyRouDUyy9RTSdGuV5zRIHT.GzjKu6.l6YcyuFA4xfm906rEDcf27Z.r3afCfsE6Dn+G88vl0bKl+wRw.iLKDk.zHyqIUXeifaoUkj0faaj4UM0IbMNM9lt+j0GGOX75pLfQ.9Oe058XvgESbi4+t06OzQxwlV.sYA3r.cc6qDaVSPS1k0QZzta3Mmm8Je8W+0eCNOL8dLT.PDT00oajP+uRZ8WE6Fn+pmqdl5+MlP+K+GlT++piWOyhIj0aHCtjcsrp6HnPVhts3faEE4aZlDTJKGXtRN3BH4.+o148llaLzlK1P2emWJi1pqtpZNbIqeRi127WRCsJBdqs1Z1VX0OpXoL6Zpt61nHtcry+Qj7gxtRd0c2ptLD7VaUipCanDitmv6X+ATKF.uCEN4ZtmXfmdyUlvHF4WLlaKa0uWsre5+5u8mdtXYq97vx9JOk8GOiQomiRL8qB5sL2SXOzgJS+lovWGW.BHSapWGD9Jeb84xwIeccem85ptnp3aa1fKs5MacbgYniP93mG5XvK46ML2F5EvRFqfKYV+9OmdidKlP9lZ4mKbW58UB+0MieoZoTBn9bpWEFVTLyBvRJ3k7k4OZFWeM3hdftX.5K3G8BCVlzFNv5wM4eIa5hxAGutFRQAqfWkz7T69JWXyUky2aoabrKz0qGG2XA1.8qdL7Ecg1.LJIXbYbLFvzj4ZqF7MvOAHqfiyDfrxDHqFYMAjUm.4p33ECPtZHxD8MrOSNByofcND7LjqP6N8UtmG04TXgCdMLdOyqXVtD7eFafYivs67fcBfeVAqgvY7fdBWtEBRSQ3hdi9vQJkg56cn9snbGbqSyg9PaN120sIPr5MvCgtY1WXCOYVmZAtjwMnXNn21DaTBh2wKDKJtOktFG5g9FjIgog0VXPmz8dfuP9EQ75UuVZH6dESU6JFmoj0nmOAsPBA8SLE9Vbvr4aAcqkVd+byfawoTJZtbBEs+NrSC6MbhsgSBw.ShAEcz7daXKhsMyVWxBa2pA0i1mIYg4iBavzvHwZ5MSslp7CpEUkK0hZNvn9vGvQiQwphL2w+PDqE0w3PLaCFuOWsqaLqLvQ8qn+XJhZNKUB3fO8AH0Yboo+w5M7.wvFEHl.vuEzo6Kn4.wwmYNvPjw4.uDVypuvZMCW1yzZFh76hJJIrl+rvtSTMTuq.CrUFzqpgPPPDr79jwoy42i0fK72iUywtV6oRUEKDUKcs7nVGCV2jhBUyscof2wNI8GHDpacH42Cl96ZnIdQI.6SxjCvWZfOKEr5PQN8mDls4dezCUFkSnxnGv6xgQ.UBV6jCU2RuV.jFfV9vcYTa+GVeiCacHQ8LYOlCDUQpr5GzdPexmyFS1frG8KDdkFQOwnOZT0ar5SOEe7u+vrFNvpSovg3bTKW6P7SF3tzEKv8o7opszO39T0dA33Io9Z5xFpiM4XHw1tm.Ne.Bpi+TnVQGJzaRHzzIt1S3JBaMKYDJjPoaWrPYrtOyEzFRID+EC4pqe.ygQ8SrU3WtNdyhTuI2jcIrEUtzeYgyze8KL0pKAyIPdw8XkK9R8wJmrpl4LqpsvyTOByasopmUso+7+7e+ee4u1zuYdpMsk2v9JaXXApOmCaAOP33nKNcFEjdmJu54VPBw+iEjdInfzp+XAoerfzKeEjV37JHs3TEj9g8Ai6Ss7DOxReSoXD9qpf.VLWUggrl6giIULNQeeFwQA8g7iOxxJMqlZhUm2It57NwaLuS7ly6Du07Nw2edm3G7zmHV9ZigRQe8lZCi8Zrs9hvxD0LADt9s.3iBSsA
      
      posted in Scripting
      T
      ThomAce
    • RE: FFT analysis programmatically?

      @ustk Thanks mate. This is where I got stuck recently. HISE crashes always sending me back to starting laten unfortunately.

      From the forum and what you suggested, I came into an almost perfectly working "solution".

      posted in Scripting
      T
      ThomAce
    • FFT analysis programmatically?

      Hi,

      Wondering if there is an efficient way to perform FFT analysis on incoming signals from two stereo inputs (4 channels if you wish)... Unfortunately, FFT objects causing HISE crashes when I try to read their buffer from Script FX.

      What I have tried from (https://docs.hise.dev/scripting/scripting-api/fft/index.html) and under the given link to the forum, either did not worked properly or caused immediate crash (certain cases even in case of copy & paste some functions couldn't be found - as HISE said) of HISE.

      I wanted to achieve to do two distinct FFT analysis on input signals (1+2 = mono, 3 + 4 = mono) and "slice" the output into double array by certain amount of frequency ranges. Maybe 12 - 20 - 36 bands... I wanted to make these "magnitudes" to dB scale to spot the highest part and of course, the frequency (or freq range or mid freq of the given range). So these data would be in an array I could inspect.

      Does anyone knows a good way to achieve this? What would be the most efficient way to avoid excessive CPU consumption?

      Many thanks in advance for any constructive advices!

      posted in Scripting
      T
      ThomAce
    • RE: Output the value of a slider in a separate label

      @nic As we told, you have to remove the parameter properties from that slider and then you have to use scripting. What I provided does exactly what you are looking for...

      Just for example:
      3e0a44f6-cb5d-42c7-b298-db16a2f2f205-kép.png

      posted in Scripting
      T
      ThomAce
    • RE: Output the value of a slider in a separate label

      @d-healey Yeah, but you know how we develop... :D Typing something, then CTRL+S, CTRL+S, CTRL+S... But good thing anyway to use the F5... I didn't knew that this works on code editor as well. A visual feedback might be helpful for such idiots like me. :) I always forget that the code not in sync with the gui design. But, despite some bugs I found in the tool, it is awesome.

      posted in Scripting
      T
      ThomAce
    • RE: Output the value of a slider in a separate label

      @nic You can use only one way as d.haley already mentioned that above... If you configure your slider in gui designer to Parameter Properties, and at the same time you set up the callback in oninit part of the code, you will lose controlling.

      const var MySliderValueLabel = Content.getComponent("MySliderValueLabel");
      const var ControlThis = Synth.getEffect("YourScriptFX or whatever you wanna control");
      
      Content.getComponent("MySlider1").setControlCallback(onMySlider1);
      
      inline function onMySlider1(component, value)
      {
      	MySliderValueLabel.set("text", Engine.doubleToString(value, 0));
      	ControlThis.setAttribute(1, value);
      }
      

      10907520-bbb8-4570-9fd2-b8fc20c28cf6-kép.png

      Also, at the bottom right corner of the code editor, there is a Compile button. You should use it quiet often if you write codes...

      51c467ea-493b-41d5-a21b-73ecc47f85c6-kép.png

      I still need to used to this tool as none of RDEs worked in this way I used (Delphi, Lazarus, VS, so many Java and C++ developer environments...) But, it is still more userfriendly than Java developer tools.

      posted in Scripting
      T
      ThomAce
    • RE: Making an activity LED

      @d-healey Thanks! Yeah, you are right. Just for debugging purposes I kept it simple as this to see what is going on, but you are absolutely right! I still need some "housekeeping" in code as I quickly dropped everything together and I'll do some optimizations. But, finally, everything works as I wanted.

      posted in Scripting
      T
      ThomAce
    • RE: Making an activity LED

      @d-healey I figured it out...

      Just quickly made this together. Works as expected. Thanks for the direction.

      const var GRM = Engine.getGlobalRoutingManager();
      const var Cable = GRM.getCable("LimiterActive");
      const var LimiterActiveLED = Content.getComponent("LimiterActiveButton");
      
      Cable.registerCallback(function(value){
      	if (value == 1){
      		LimiterActiveLED.setValue(1);
      		Console.print("high"); //for debugging
      	}		
      	else{	
      		Console.print("low"); //for debugging
      		LimiterActiveLED.setValue(0);
      	}
      		
      }, AsyncNotification);
      
      
      posted in Scripting
      T
      ThomAce