HISE Logo Forum
    • Categories
    • Register
    • Login

    FFT Display Code Causes Audio to Mute After Compiling Twice

    Scheduled Pinned Locked Moved Unsolved General Questions
    3 Posts 3 Posters 62 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.
    • M
      Mighty23
      last edited by Mighty23

      Hey everyone,
      I'm experiencing a strange issue with my FFT display code in HISE. When I compile the script once, everything works fine. But as soon as I hit "Compile" a second time, the audio output is completely muted. Restarting HISE brings the audio back, but the issue repeats if I compile again.

      What I'm Doing:
      Using Synth.getDisplayBufferSource("HardcodedMasterFX1") to fetch the display buffers.
      Assigning these buffers to UI panels (pnlMidPreFFTDisplay, pnlSidePreFFTDisplay, etc.).
      Running setTimerCallback() every 16ms to call copyReadBuffer() and createPath() for the visualization.

      Pattern of the Issue:
      Compile once → Everything works.
      Compile again → No audio.
      Restart HISE → Audio comes back.
      Compile again → No audio again.

      HiseSnippet 6136.3oc68rsbaajkfxFxQHQIYlba1s1G5x0NSQ4HQS.RcKYShrkkhcM9hFSMNSUYynzBnIIJCBvA.ThLyjpxi6Wy9MjOf4g8SHusul+fcOmtwkFf.h2jrcRYF6X1M59bqOmSe5S2nIaXHy0hYcRfqc+9rPEkJW6HeOSVPfmuREsiG0moT4sTaMxMr69co1tJO3dJUdC0i7YAPyu6n9zf.lkRkJW6KwmVYkqqv+7yewcoNTWSVZUJJOyy1j8P6d1go0dzd+QaGmCoVris6I05l68.SO288b7F.Tx0TqqzmZ9bZG1ioXyVRU49zftJUtk5tatoN0p81s0anu6oVsMYM1t9VM21ft4Nsaucc8lMr1tcSfHW9.K6PO+VgzPVfRkqeWOqQs55ctq.AOyNv9TGFVPWoEfYQ0G54XgrHVqx9cscrRDQAf.SURfcMg.68UejskcR8oBt2k+.RZOjEfUVJK4csLjmtL4UWh7JfjpHQRWWPR+F0Vl918CSeBROuo5CbCY9sov3jLoHZqxR+mum59dPKbCq0i9b1g9PgjdTcqcquNYyMqu1mpAsJvygUyzgQ8qBUnc6aCCeAgjyn9j9tNG1N7d1A8cniHeFIFlcXg660qumKTn5MyzpaBvHC..AGnzc3gGOEfIeaAfQt8sI0WMKHaYawlZXNVii.p9piSmdAgSOglowQ.0nHJcpg53sNBrMVUa0LCLAfwkICfE2.GgTTGt6f1sY9s3Ot5MuO02xzCLBdDM.F7O7unC.TlDmR3HTqHw8GnHP..VCLhncqpUvfWMKZHs1o7FTGPg.Wigip0QPVZ+6SC6VWRnY5y.qrifZqh8ym0gfn.ah.dQsn5jnHjPdJiZEQEqUyg41IrKBTNGhCF4Ywwzkjgn9Evi5Q7XI..YR8Iyj5EwjWLMMItjONBpb4GHynEJCQiKfKMjFIK..HWZLYtznrgxxoooarLGaNt0lLLabA7YC4QyRXzFSlQaT5vY4T0j3zOC+jXcdDL+UH4odCBscYhmUroFDS.usQMsZ6Atlg1dtU6r1pZ+8U0VAcVPA5Mrqc.RCOzyj5bWuAtVABCXdKNGZA8qM9l3xc4kavKC+oChGQjAUE+SPsysC6dGm9coo0z0NjsNodsFqwAbmZV9zy4RON1ScKrN4qg+B+Ilp9JaKTFmVw8Y1c5FVcsuYchdMAcFSGeoO0xFFcNDhho5WWN43yrPhoI.0yusAGck2XKp+yi5fdbG59MQrQa.SKHafP56EC1kLLhAi4uO0w4THpqzwwngwTLG6Ezzq+HIEJtuz09zUxz1XevEz6TM6h0LPdqVctzmyhan+MnvQFE9r9npW0DdqPNKj5K3sp5akSaOwScYp6i6h7pWe+xWcWedT2eonsStH0c84VcuvgwYSeWuH8c8hz20KPeW+JSeu.V6BT3Slz9h7umcNjWEU32ZBJ7FyiBu1JfXZlT4c.gbGeFyc1T7S5RAp9y.1AvLRngLCHNaOlnImwBMCyXJRylImQQlbFEYxYTfImwU5TL4XsINGyEYyUPfa+RznqwbNKyKWqtYznKCxqO6He5M8ZrXy1sf1dMJx1qQQ1dMJv1qwU6zcSv3SKl4HdtO1Kj8DfK096Zqn88Zj7Opc6BeFt9KeOGGbgRE7XA1tfNV0cPuSY9qSNi5LfkzPkJWOaB+TKOgex4izTrbPoF549.W6vmzm4VVVJUhVCohRk2NhpflFxSM3aGkZvVNf3zWw1RoxMT+itdmpqvIX4L3pL0c1XQ5bi7c9m+hw576F04885cp2c8Fx69apFWTeJ.QL9u6fvPOWN.VQUTXV38B5twh08FKV2atXceyEYnq4hz4EByakoy+v6+e++NyJMFKlRyVEP9+4GbOvUHlT9HSPvrrOyOzFs3qbO1Y1lLQJ5WQ8drfmG50m21nD5pTYYAZWMNA9TWlCGqugJ+6MTFlhv+88FIW3bbRhjJ91ueut7IIRpg7O1qxxR35FS.W5SMtTryiqe561qO0GPiD9RXgJuoTsZYohGROMgJ3eOCUnnLRtPYnPWYRzmxmuWHaHTVE2jFk1vnUK6uSZvzXOF3tlx8HW4ZJx3XhNRKSr8W2qbBNHbjCe22tumu82AjC0IGS7CsGiIZtmLg8lSzIcIDF.4KcBqmmEzqOT8wd98nNfn05HluI.ZZGlR.Dpf8Pb5qeuROaKKGbhcabdzTP7SegLus5DmCoLgt6qf71O+E8nxZ06YwZSG3D9rB7GkP0qLkyDVlf3w6wQpZkODJLQt7yu.wFrpfdAJK8uVQ89T+ddt1ljVcg0pncGWpiWGxWA0F1U6N19jCFZBs1W6YLmyXgj8cr6q0pOyLzm5P9Rfa0NxyYD4d91mAesKMfQNbP.HrzNXXepKLHSNxYPfVKbcSs5RAmoZs544E1kr+.enOoT.yG7xp0ZCzyKD8s19Nzf.3AQ6Vo1eZ.0hbfUGl1w.XHGDDvbMYZ2k43DAqmQ8s2nkcGsGBLA1HsuhdFfVyAN8gH2ztSvnd8Xg9.PEDLtUYji65OHHT6Y17weRqPPhobANLJL9iRFz9Q+8lVebENFJ7woodmAgdcv8kt.EpR87ZTlm2eft2B34sYDUcCUtPToL+rSh7ZT5DC1WFjGNwvv4l3ZVFwsW+KChaYU9AvnLpqzY1+.0BxSdYJe6MXQT9Nduohh9P0hRqxKPR5BiqOkL9gmKOg4eJe.Pe9L3.sgxrQFMJiL16aeQRFMKiL91fWjjwlkQF+XmKcxnzPik0L.K5WRgFu4bDZrwzGZ7xpXJWtTiMt4bDarwKhXi2bNhM13WHwFu0bDarwuFiM13JO1XiWGa7kcrwaMGwFabkGa7VyQrwFu3hMd64H1XiWTwFuybDarwUerw7HQGaO0ufHQmh3MKmclJR5iTKbeOtxnowOIwuq5i7rF3PCydvlQIbzCPm2xmlX7DC6BN0GI6q9R6zNOsj3uQ8H6PytESiKU.MpnbkPiQmQ7UUOncavydJAdc0C+KWQGH7kjv+6Hv+GnlbpdIhi0KAPORGuu53m22LxpGyBO2y+4nOZtOo3xv72sngQIyNRHpuGTqvyk7741Vn6hr0j+EH.pJwQrT0Afx+Xn4eaOr5wvCVYNDgU8kE.xwQkhxSNi4GP602w1sSF8hqM0CL5WrdgXK867HJLMIFswiGzSbXoA0BWvBD2UvJKg6BhnbcrLRBsXtV7B+evmnGpikqD8P83GJq6oJjZZQtUhFveK0zClcFEPfZxbhU4TCJEhd+.p7eoltcm8wcn0mcr2QP6qxEarmRwSKvoNdlOGWuv36QZeAscWrEUMi344YqTW9WRiHIaFqRjoC+k1Hwr5F3fRNaq6333cN5g1Nx4kfsfwDdganVuF7ehlgwH1uKFlGNHJ5TL4emddCPO7Bd39zfio1NnQcqAA8Ah7ItsfFyeucPGPOlG69MNjZBB2Q3N3iNRwcfFLUvCbbh2qbzapZDJmEuyN4ZBN7bD0GdTHW0BYHDewuyOBwJP983yIsjJzD74nv5ZBBaYwKwB3o3DzFVWYBDZQTkVR2mKruhpEC8U5mE2umpuPQpVufSDsnPrm18If7kjDU74Sh2DQEEIpYUU.cfEqcXXdJRVZzCV8jcgzSV.LsBjkFa3PHumigC4tOOnWLb1YLrC0C+Kx4WfVPmo.qYFHpTIoDLA9irciVSpJZOp7H5vjx5PYj9tgpnpLOnzwSU01sCyxHqpRg0MNJfUCeTQ7hnSSR3g9EbXCi2c5bN5yWCT9Av5KGF42rbkwReB+sRCKAgXsjXZmGD7L7olTmXwA3URh6eKUzrb90kxz+4SWlCfYVaRteuJoNsLpYnOq5SQ85pSgR+JUgZpbbthJLo2DbiKZQItwi6976F+Rxx4FhV3EG6JKKG8gRVNRsoXyGoFrHyVqlwjBVi4I88bXFYIreqZaaGD10haPIlVo8eF0HOT.+zulpCdc0MxoDVYYISQ0TSwkUMxZKtBTA7Apq0yYmKXIbQT0qYXr6t0at4VFFMZty16rYzqb6g9r+1.PcYjRVPpTLBeO.RMpy+nquqQ8cM1UB6um5t01YW7yV56rYi5Fa2Xb5Xqlaqu8N5a2n9VapuyVb53Zp+o7NMJz0yM.IyNYX3kU4UH7mvWJUFuTkvFE6BKOo1ntdcjY2c2cZt6100iDYhbXhqBKp2eHBs56J9r81a0bGiM2wXFwcHquXWLRcmtLl4.V4Bl4BnqndfKl2IqozKcpJdiEzDowqMQdsIxuFMQtgZa5ffbQF+VvTa9PXL7mTjgQbuljQQlIeWJ2juqnx2pjGjPpusZKZ3.eLai2q0QIzbb6eGLEBRlMQ8Zrvnq7lKpP7c3abAA02v2sKErDDlZxcWwhB+2UB978A9xAABEUcg8a8laCZ0M2LVslmwfKQt4BP1aEgrEh0LlVrootviSFSuX7E3X1J3NA8hYDSiipEfsfoUJSY+8SspIXVSW.N5BvxGjGKWhiQoXAzr2mvywJ.hrNXacNtoHGS86vBy4iUKILh4JJDot+5fPdcPH+pNNc8ELNc8Wah7ZSje0XhTZFMuPT1rDT91pY1F1wlabwRwb5lGY7RXyizh28G84a2ij5+kx1G81x69i97r+Q4fv7jz82JcGfzmur9K0+4eGr5LN9mXV+S62qbY82Xtx5uwUXV+MdQsMRqJsMPykFUV.Le5zIaHzroSkoiuxoT0XtTpZbEpT03k+VIoEuWP5y2dII0+WhalT4olJwGc7ovZlW4aZzWaCk3uYztL9I8IPISwHinGXkl6tDJAqrvEoqjmX4SRKNaXKbZGhZ8GfOEBIV7r5FFM2dqcVDNQNSWiw.ugZzAl6xh7EsdAH2zj7LFwthZ7Y4agyc0kE0JkqswH2UUkOmgyZLwWVTX9T2V.YJetGmWKtElNKNeUiQshy+vkqIGtlJ8cEOc25aaTWugwhvJYR2aAZwwmczWYr4jx1YAt3RNWquxX0Im04wH32VMygt8kkc2XaoQADZlkeNqqfMSimNBMywtHC0liVlq40uqm2y6Q4G4z45tIQ93D+QhG9lp3K9C+peNJo1X41d98HeIChrF8VneA2U7+OS6cEe+o9th+Ilg.IbrO0MnuW.SWFxsX8rO1ykEjo1b8vnvdjo16wBG3lEzhpha0O9O+m0+QTTbHHJzkOv4wUZHW4QTWoFY7iPYC4CRelCx9O8EhDwzBV+uq0SBLAACkm6II.NvIfwumvzk6XZ0YPOdn+gwPyK5fte8o6XUOgaL+kek6Fy+W.ulKYtT+WIlFaYidINv8LlCX4xoweKXpxe8HiqMqo2i7b8hOb3oCzOEeO85zgkQ+oPF5NggTymmVy6u2SYNLZ.S9EP5gvBpo977ONexB8Y9G3fBGu9cpBxkf9KH+x80S5Z+p90SZ5s93K53U4QwOREbEaP3CkjWNikuHdAVdQfidTSeuSLEu2OnQ+avqA3a2nib6ivxjBto9fUzYehoYVPMVGMl2N1Xd6Xy4siaNucbq4siaOucbmI2QbF8nswAsMTTdzQGvCDsRk3cWBeCcY8NkYAwQHdYyPU6jZbYCOz1QD1aaazrXI7eDTxuSDn+skOUV0rB5GewYprz+3eQEl2zyOr5MCBs3stli8o2T76VC4fgP70l1gNiHhlQrcsrOy1Z.0g.symxe24iAwoz.ayfH.f+Lq.Q9RNkVK.lWzLzcc761sWmvBMqkzILouI8ItS8n0BotcWG+RfcG2A8x0KrRpSdbEXWKfuqhIsKd6my1t110tUx6TW.mU+yALeR+jT8oEPCOAe0iOAFyHeFAeaf8GU8limksuNzyyIzt+mzhykj.QKvWVOr+B1AfQz6z22bS985J7GC80I5ffNAS35.KGU3hxlFbwgRoHK5mnjayu9kidUBCzrv0+GwocC32QFUuYRZ3Rvp3Uli30VFwkxe57Kt15HVEvOh+xgfL7UoXnXtRBEZ3pmyyBwYQJA9OYPX+AgDrsEQ35BYUJT4.MOcmrF4RAadpcL3p0ydXdhMJOhI.8qXg21xeDXzvWRX4zqjT.AadxMNWIWHfKlhkkuTvO0IRBYytLymep2vp2LSB6RvhvAFgF4dyTHcL850GlyuDUG.OonIhOJBOYXmoDQY4vHSg6su3cxElBO03Wyx7jSEmQrSXB2vYniziPVdZPFb.s5yrF.xWGuyIsiOeHjSG.woLneBIbGKKBqefsCZD6gu7vmAN.HnaV7MZkb5Hx2wfoSntP6bCF3yHdB0sy6xbIbSqOqtVLH9L9HF+fkHf+SeTKhEvV39unE+E7BO+z.xmj5wr5onK2AF3gvoJdafGQdsRsCoNc77sC61KfrA4.AoPcbHX.cDgC4rzD9iBVMxA.+PhutUBRSDBo5c8w6eAxefbD3Jt6n0z5F2ppCWW.k0.Jsp9FQe+VjgjOV7.36UGB+OiaWUGpC3FQw0hIbiZDw0JyFsvaqGYFoJdQy.nUbBTVSixa2zhyOFkvMguGMIEGuMqGi2F0HGELxrqG0zClNEzGitKaHUwK1l+.g+KFHX2slFS7foGwA1tUArdzCtsATURIjuwlmv6MqQZ40Vbs4zGUFqFc227GcY.dCfmYBOZZQ7sIox309qFwXYyZj6BZkavyMEXijJg0NEp2QT8TgjTQ4FI0M7u1HBQaUibePSYim3yuWe7bF450yFz1jvXWnAd3ymVlZCDA7AyM4HaSnl50ZznAuz1QndaXzDucg1XeutL7tAQVOZCxgO3ubv8z5is.BPWzhBIfONx9rvg0XpIVvtSMLxK9MPRVtLAirg8OIcFxYCiIgTAClXYc.p.7ptgNTRLFmnHsKnHY6NHvy1BHDLYcAh6RofjZmJ4MppNLBl50Qf1oGzagVpznXfn9oWwL3uAQ4gJmCS0K0AmN62kc5nftryRHZtYPCeKBWKgj3pYsDgpYbeZLaBzl2B0j1fz3VIrH37o0F7qcJqhF9BNgKFslUUkLFhkM3AMHFBIRDvozc7MASrN4TgqFeaWI7ARvqnLLk5fSQd6mjV1XDYUCfJ4dkvGAqkAG3iICvuDdaZ4ymlNiGJs+FT+IyliIMR9O70W.xoOGibQO1xResXAWTw0Vu7t9eP1PG+YWPz5OVpyhoX93R5epyWcvu38gnw8O0CV7D43HgdBmhN5NwLpzr4cLFCfCwuDVqVfM0U15oSTcy7fFNCVhVjrkz1olp3kbFFtXrM5ImEUwbXrVEvA20qdpTCb58PuNTd.FwZGEX5.JoWVd9v47SMmjMahHIv6mX+abrvAtyi99zNGivo2jbwZ.tCu2HXA6.SmdQwkcxMKwyOgBOewsMf.6SbkLbsjBaHoCanmcJH9EVWRzDxyB0EugjJyjc9lCZXlXYL.eoGO3TV.9amROl+F1tA8s8yFuQnTCtTDP8r45V0qs8ZXRHFhE1ndscRHqrq.GyoPT5DzRp5DQdORnm0IwK0GoLvUymjNKT0ShI50ibEKWSbfhRUk3pTpN4ntjpdbVM9SZPSRMOWzLYHiLQcHSMogCLUHNdddoFKM6qLfimoTV9L1LSROL67HoOnbZIq+XIPUj6zL7bN+fROKmWpogLj7tHAnLV94FJRL8jpOigPR8ki0OQJ+bUMLjTQEp4QITGs54G5SB9C4Des1YShRzBr0htFqNIZg1R59XyQ6Jnlj03WfEARzmyBOQrdx0HXMwdHfNCy8Jpfi8awqh7IeN4DMNg824bJtp598cFIkDId8QE4KmeHt327VpmLtk5mx6YLX2m5Xh6jArndXY5NAb9OQZvakk+nS3OLBIwK4V.Hj0heZJ4juUY4hTocljZX2lDkcBdySSbRaZzR7Edzjj1nirnzCnudJktFOjM4GkPlqE8SRVAjUbxNffoSIE7WgKX49zrDdBqGkkfXRa7DsTtSCYoUa6ZVlwH+Viw5qOYXLdm.d76ykez9oJ+bsK2j6sWXjv8LwUNVrJOvTImlUfDiMDheqHfpRdCFxoqdfnOfrJAyYPWTj5XdS5LBSPT.y+LdkBC6DzV0YchOeVOGXpN+0hC4x.MZb.CH4pxNjFYmy+kvDyzDmJBv6wNPb4Lh2r7rT0dfcBht7F88hLivVJL7EeKJomRN.DEky09E4hTlHhwUPLtPJJBYhuFmKTYzIJmIi64DD2iOBQveM3vQjGxZGd6mxSS03iIwRewnZh3nZOLUMYk98.oePFo+2+oJJ++9ZBELC
      
      const var pnlMidPreFFTDisplay = Content.getComponent("pnlMidPreFFTDisplay"); // 0
      const var pnlSidePreFFTDisplay = Content.getComponent("pnlSidePreFFTDisplay"); // 1
      const var pnlMidPostFFTDisplay = Content.getComponent("pnlMidPostFFTDisplay"); // 2
      const var pnlSidePostFFTDisplay = Content.getComponent("pnlSidePostFFTDisplay"); // 3
      
      //const var source = Synth.getDisplayBufferSource("HardcodedMasterFX1");
      const var source = Synth.getDisplayBufferSource("Script FX1");
      // Mid Pre Buffer
      pnlMidPreFFTDisplay.data.buffer0 = source.getDisplayBuffer(0);
      pnlMidPreFFTDisplay.data.path0 = Content.createPath();
      reg buff0 = Buffer.create(pnlMidPreFFTDisplay.data.buffer0.getReadBuffer().length);
      
      // Side Pre Buffer
      pnlSidePreFFTDisplay.data.buffer1 = source.getDisplayBuffer(1);
      pnlSidePreFFTDisplay.data.path1 = Content.createPath();
      reg buff1 = Buffer.create(pnlSidePreFFTDisplay.data.buffer1.getReadBuffer().length);
      
      // Mid Post Buffer
      pnlMidPostFFTDisplay.data.buffer2 = source.getDisplayBuffer(2);
      pnlMidPostFFTDisplay.data.path2 = Content.createPath();
      reg buff2 = Buffer.create(pnlMidPostFFTDisplay.data.buffer2.getReadBuffer().length);
      
      // Side Post Buffer
      pnlSidePostFFTDisplay.data.buffer3 = source.getDisplayBuffer(3);
      pnlSidePostFFTDisplay.data.path3 = Content.createPath();
      reg buff3 = Buffer.create(pnlSidePostFFTDisplay.data.buffer3.getReadBuffer().length);
      
      // ===== Mid Pre Paint Routine =====
      pnlMidPreFFTDisplay.setPaintRoutine(function(g)
      {
      	var a = this.getLocalBounds(0);
      	var w = a[2];
      	var h = a[3];
      	
      	g.setColour(Colours.withAlpha(Colours.white, 0.3));
      	g.drawPath(this.data.path0, [0, 0, this.getWidth(), this.getHeight()], 1.0);
      	
      	g.setGradientFill([Colours.withAlpha(Colours.red, 0.4), w/2, 0, Colours.withAlpha(Colours.darkred, 0.1), w/2, h]);
      	g.fillPath(this.data.path0, [0, 0, this.getWidth(), this.getHeight()]);
      });
      
      pnlMidPreFFTDisplay.setTimerCallback(function()
      {
      	this.data.buffer0.copyReadBuffer(buff0);	
      	this.data.path0 = this.data.buffer0.createPath(this.getLocalBounds(0), [0.0, 1.0, 0, -1], 0.0);	
      	this.repaint();
      });
      pnlMidPreFFTDisplay.startTimer(16);
      
      // ===== Side Pre Paint Routine =====
      pnlSidePreFFTDisplay.setPaintRoutine(function(g)
      {
      	var a = this.getLocalBounds(0);
      	var w = a[2];
      	var h = a[3];
      
      	g.setColour(Colours.withAlpha(Colours.white, 0.3));
      	g.drawPath(this.data.path1, [0, 0, this.getWidth(), this.getHeight()], 1.0);
      
      	g.setGradientFill([Colours.withAlpha(Colours.red, 0.4), w/2, 0, Colours.withAlpha(Colours.darkred, 0.1), w/2, h]); 
      	g.fillPath(this.data.path1, [0, 0, this.getWidth(), this.getHeight()]);
      });
      
      pnlSidePreFFTDisplay.setTimerCallback(function()
      {
      	this.data.buffer1.copyReadBuffer(buff1);	
      	this.data.path1 = this.data.buffer1.createPath(this.getLocalBounds(0), [0.0, 1.0, 0, -1], 0.0);	
      	this.repaint();
      });
      pnlSidePreFFTDisplay.startTimer(16);
      
      // ===== Mid Post Paint Routine =====
      pnlMidPostFFTDisplay.setPaintRoutine(function(g)
      {
      	var a = this.getLocalBounds(0);
      	var w = a[2];
      	var h = a[3];
      
      	g.setColour(Colours.withAlpha(Colours.white, 0.6));
      	g.drawPath(this.data.path2, [0, 0, this.getWidth(), this.getHeight()], 1.0);
      
      	// g.setGradientFill([Colours.withAlpha(Colours.limegreen, 0.4), w/2, 0, Colours.withAlpha(Colours.darkgreen, 0.1), w/2, h]); 
      	g.setGradientFill([Colours.withAlpha(Colours.grey, 0.0), w/2, 0, Colours.withAlpha(Colours.darkgrey, 0.0), w/2, h]); 
      	g.fillPath(this.data.path2, [0, 0, this.getWidth(), this.getHeight()]);
      });
      
      pnlMidPostFFTDisplay.setTimerCallback(function()
      {
      	this.data.buffer2.copyReadBuffer(buff2);	
      	this.data.path2 = this.data.buffer2.createPath(this.getLocalBounds(0), [0.0, 1.0, 0, -1], 0.0);	
      	this.repaint();
      });
      pnlMidPostFFTDisplay.startTimer(16);
      
      // ===== Side Post Paint Routine =====
      pnlSidePostFFTDisplay.setPaintRoutine(function(g)
      {
      	var a = this.getLocalBounds(0);
      	var w = a[2];
      	var h = a[3];
      
      	g.setColour(Colours.withAlpha(Colours.white, 0.6));
      	g.drawPath(this.data.path3, [0, 0, this.getWidth(), this.getHeight()], 1.0);
      
      	// g.setGradientFill([Colours.withAlpha(Colours.limegreen, 0.4), w/2, 0, Colours.withAlpha(Colours.darkgreen, 0.1), w/2, h]); 
      	g.setGradientFill([Colours.withAlpha(Colours.limegreen, 0.0), w/2, 0, Colours.withAlpha(Colours.darkgreen, 0.0), w/2, h]); 
      	g.fillPath(this.data.path3, [0, 0, this.getWidth(), this.getHeight()]);
      });
      
      pnlSidePostFFTDisplay.setTimerCallback(function()
      {
      	this.data.buffer3.copyReadBuffer(buff3);	
      	this.data.path3 = this.data.buffer3.createPath(this.getLocalBounds(0), [0.0, 1.0, 0, -1], 0.0);	
      	this.repaint();
      });
      pnlSidePostFFTDisplay.startTimer(16);
      

      Free Party, Free Tekno & Free Software too

      ustkU 1 Reply Last reply Reply Quote 1
      • ustkU
        ustk @Mighty23
        last edited by ustk

        @Mighty23 The snippet's working here even after compiling several times

        Can't help pressing F5 in the forum...

        1 Reply Last reply Reply Quote 1
        • clevername27C
          clevername27
          last edited by

          @Mighty23 said in FFT Display Code Causes Audio to Mute After Compiling Twice:

          Do you mean compilation in the HISE IDE? If so, remember that for…reasons…global variables persist after programme execution ends. That means they're only variables in the machine-code compiled version—in the IDE, they the global namespace is effectively a file that gets written and read whenever you access a variable. (And no, you can't deactivate that.) Within the IDE, this can manifest as every other compilation having issues.

          1 Reply Last reply Reply Quote 0
          • First post
            Last post

          26

          Online

          1.7k

          Users

          11.8k

          Topics

          102.7k

          Posts