@MikeB
Greg, 43, France, aeronautic engineer around the world, recently reconverted to a sound engineer, reconverting to a plug-in developer…
Best posts made by ustk
-
RE: The world of HISE
-
Zero Padding Tool
![Screenshot 2023-05-18 at 13.53.30.png](Imgur is temporarily over capacity. Please try again later.)
ZERO PADDING TOOL
A Zero Padding Tool made with Hise to quickly make all your samples the same length.
Having the same length is necessary when you want to merge samples, like for instance in a multimic situation.
ADD FILES
- FILE => Add as many files as you need
- DIR => Multiple directories can be added to the list (adding a new directory does not delete previously added files). Doublons won't be added (doublons are checked from their names AND their audio properties)
APPLY PADDING
- TO SELECTED => Find the longest sample in the selected files and apply a zero padding to the other
- TO ALL => Find the longest file in the whole list and add zero padding to all files but this one
- BY TOKEN => Find the longest file within each token and apply zero padding to the files having the same token. Bear in mind that if you add different folders that have the same token in their name, the same length will be added to all the directories.
The token number starts at #1
EXPORT
Padded files can be exported following 3 modes:- No Options => By default, the padded files will be saved as a copy within the same directory as the original files. The suffix
[tokenSeparator]zp
will be added to their names. - Overwrite => As the name says
- Sub Directory => A directory called
_padded
will be added with a copy of the padded files in it. The suffix[tokenSeparator]zp
will be added to their names.
The project:
> Zero Padding Tool on GitHub <
DISCLAIMER
Loading a big amount of files might run into a time-out issue. I am currently trying to send the heavy tasks to a background thread like I always do. Although, I am still getting a time-out issue with this one. Work under progress...
EDIT:
- By Token now respects the folder hierarchy (so a full library can be treated at once)
- Fix undo
- Add individual undo
- Better LAF and general looking
- Repaint instead of rebuild the list when unnecessary
-
My tooth hurts...
Yeah... My tooth hurts... I went to the dentist yesterday for an extraction...
You might say, "well, why should I care about your tooth?" Nothing, you'd be right and I can't complain about this...But here's what you gain from it as I couldn't sleep last night !
BOULDER D'HISE
HiseSnippet 5502.3oc67jzjiacdr0LzRcasXWYw4HloRr6QXZLff6t0DM.DjDfjfaf6p5REHviff.D.D.b0dpxUpJGxwbOoJ+iHGxQ8Sv+DbtlbImxsTIOrPRP1rU2ZJY4YrGJMh7889deuu229aYTcKCQfssgUjyNu0ZSPjy93n7q0cFmarfhdDV5Hm8ShRYLWSBX80z+BFEaPDp0lB11.oHmc1iJ5h0Ym+3HQh7aV+W769RJAMAcQP.HuOcLTDAUTlp3rGZ8WUVQSqffDnkxzPXm3UrhF54LzLlC4nGEEOhofnpfLnpfKZePzHm8ixKo3XXw6H3.rib1ioLjVyO1XotO9cTrUFpAbaDKBOjP9fKX.WAR9PijarhlT8sqb6HQN6CquWN7He4veYTNEIkcvCKOb6.Y+HBKON6CNj8dzArWrvrGdH16DrzYgXoG6yR+zn7hVJlN66wke9wQY0c.ViDDOT03iajO3+4WDMmADCcGroBpfBVvF6FwkYvweNRJb7mc8EPrrMz.XhZ.AqKg.t.pKrcPVHXgrTPSEZAXuPF4kHaImnE.tJ46T7xmFKc7LX5sRUNStXFUZMhCSuK+nUiXwnMHKZ0dhXRxTSjqmmjH83jckSNIEQUt5wzrDVIkBXNdYZhknnDs4VzjhjoDlB0HolBDZ8WPUvbSbJlIijwvIMZLdEEoiPMlbbXEaO.SlkprFSBpVi2zqopZw5LKywPUOGcyM5MyUZPqkx4qtn23bkppMjjmtZSNmQqxUtebFJd5VzMx0TKMSNiBczGhsjhqtt.oMyRr9w0opDeA05BNXKoarFEUUlKMFk7BFc59xI5oqSkOlHGGWqlsGIWdPEVRtZZLKWUoWmdCvnFLnZpNMWPOZwJxwKHGLPiwnNO+RqJxTcFQNYQtNRiHUySmdTIZY1gKHMGXLtP4ISpTp8X3JpyhFEpNtE4DllVUVw.8WJ5n2LeEqzKnTYZ1rTu9imThsHeuDjEp2ynDIVCrI5XUjDkKMXD63hMLGQwZvTsSu5wfqAZ1106ONWkNi5srPILZxdIs.bNclg2peFyVYJrNdacbF6TElWdITrTwLNkTpdaZOHYCVElzC0TpHQvxmUt3lNV0br0SkJ8BMvFtDwVmpOWAUloS2TsVF8x0lmHwzrhraRiuHeYQdmkkWFSdnHZaaQFzNEUiY1GUPtP14CxHVSZZ53zhEw6UaF8.CoXor.CFnNjGHrb.WK.63ZCrSktIWEd5A0TZaUmGcVSaUhNSkAcsjGtowP7NDpBYTZmzVCEKFZhkckjlw1IQ4koSXk2VRwfOQlEIDkDZ3Lq.JmTx05C5STQKQ65NTMUioUsTJhFV8rq01rVl1DBNSi2pO5hTUMrwyATAsRx4vINai.SKwJhom0JesAiYpRjopwjknUE.NsFjURublrcXbvc5jTK95jhKZZi1Dnxro7lpRyxLKS5jbSPSJwjYh9zoNyWKKIsTYf3XKiRSYq1fvXI5jtla3UE6ZXuZ37rIrVLIU+NI6XqRhgw5ZyTfgZgRAlI5xF4lsrXUzZS6MO1fNPodVQZpDkMzVWjZ95N.xk1zDovHEqugWRWpdVRUFIBS8N0GjpqJ2bgznqU1TNCJnnCj+nS0eIaLcg4ymUMy3tnVfNVxYoaazYVIiAZ4StQasHHUJbwzaFWLYxx0RGWZNOUybI30Hh0vZV1pwaCZBRSzsVkAsy1uff5Tl1aDaRvZjH0z05owMa2lcSq48TapMcUoNIIqUffWnf0F4Mq5zvdJVNxrULkUxUtsBFFzLsEMcc3O5Uud41kqwHwjncMYLLR1Mn.LBRGp5szrzK2LSxVMWM1Zi.+frUR2Cs3HNlYYLmzsa2UC5HtpOYKKVlDN8h2hc0xkEXTswkTKGaD6n7wPIRtd1zIUf9r8IF0ypbJzbIVrhaDbZWVhazLbYEVrNElmnYxtJxK5KsIuxF8Zcox1eS6Nom2JSFN8I4jJHR1M4L8tUkKAhOH9ZEUpp7aDRz.rNQpNKFkAFMi0gAqCZmpSUqTKclNpYcFYmJewRX5nMFg1ppQlBLbIoRDqZMtBi6laL6jMxclf1mCzYfS5t0LrHq2dJ2vAK1zpqrS8N8aRT2b4fryf9XMVnWtkn7ZYl3UqwJzd0Jwd8XKZVSEsTW3xWYN1HJhdS03.o6xLMe1V5apVRLUt0CiOtSwkKHoLWQMmaPmLyxaHr1b07A1ynZ1FPMTOdqrRJJovKMYcMt98lwwqwUfsBdipwEFjRwd3P.YkUJUrlzsNpDppDZR4YcJmcXyU8pWJlvL9U44x2fbxnQUs5SVW0YcI1zSlkpaqjqlnOIFYyp4GTcxltf4sUxoMoe0DLTDMYJI0e0hRD0VmhUPflqLsfxD8EKWwLn.aJKlY3UxaUoCT4zlanTlA4LsLwGuLdrZb4sDvWWfxN97JJsUS0ICun15V5Lk4ynOebhFJM3kK2XZ0RcQigQNpvD8V3DXy6ms4p7VqRYNQnPQ8EYKjuQ9jUvVJ2aBSCXbh9qMpTzPpmYxgXVxSFVNYlg5Z.5U8cxQiQ2QqLN6z0KJzIKkZIYzAswTYa0L+D5YDYYhmtRKamkMJrHeOTL4dryW12NY705MsRaqCVTogFFdBMFcvPm7kZK1lfISxxnZBKZS2vY.P1tWxTckRSHa4PgSEe.8bSoFbylQaVikjpiT9gVoLL6LesRtdCKjPdNmR6RbIRQmokR6lLipkTqI6zTIIb3kqldSwRD4y3fKWaMQ0VsYbVlO+vgzpbBkxqZBFlr8ztjYRzaND0F0vxHRK1.qLIoMuPSHmTpXcAghMZrzBjhhwLQsgk6WtmVVT8r8piy2ZU5pE6VXlhp7z18WpqMc8RVIiLTFr3ELJNOESK3J2b55dREmIPzOSL1lylpUbHQYJqoqqHaON4zozySAhkcIZktkxpZpp.XlN.PTueEiRs6MkVcgyFL03MHsE2TbfvZExkfrJC0GWHttyZhNKIF0PncgLSSgyOcdLsXNr8MwMQmkfZy347aRrVJeojfbx7axYvlNl8BZzQzEFoalNsorsBCEc4JqR0No1RrA5jF0ILGoNhRellZt9E4qfNn2zRDCvK0qRllqX0y8TXET6KfZjErB1P0NICbxYL0zPG13xm506SOrjq10QfedIRp3DwIBSJ5Zcqtsi3g6nR9Bs11QhvczjsHSqfNRBmDKfLhjhEPzQwPGBettDXjhNP5.FHOW8V88XgXgIFeM1J9b1AbEUs1Uny2DB9.dh1srnpzPvGvQcIqDPjjGAtLjFtr5ArR.w+55MqQQRwVgExXuDAGK1wz7.L7n+oFJJbn3YNAadzDbKJ5MvjGvZsXqj+q4YGj2cIhGll89ZNxdPndJWWEdWEImwW9rWraHgwt+wXy.TjG6bH5gqH2vRSBh+Wcy02pN8bFFVd8g+b7atF4Eu.wxX4KDMz7U81hFVt1hPt0so9PZEgoF5R6AY6HX4.a5XMG3CYomgxHAM6..ZF1NGBYn+1DYDrKHnoANBeeNiUmVPWFXsuO3G+krMvoNbOVNMMl6.sEubzbcO6yKke1E+pKNWFaHPVQuhvZf0kdi00c47QFVHWp7R7qQT9BOQBFblkcFCaih9rKNGNRebl3hyDeb9Jka1g1DOz7v6b6kJNhiQtbKRe0jab6yuyyEErA9V++RDH6X65A6tQ0KwWUnPpDD96h57fOxXifkr2D5ic4WMA4yCYmfhD64HJ2Fz9lWgPbTyaBQ4gvscotu4ddaqK3IXOhrt+ysXu7ZZJl1fuu4vim8LoxWfL0AHHYIr76yY+4HDGy.ELbCsVa0ZYf9SeNRr3X32hEH0Tjgw8ZAVAQkgkOODwueXmmJBiraAjd5CQy4EN7H0l+W1XZtgAjs.qCQHOKZAnEsvWj3ZAeKX+O+pc+xGogPjF9EDWOLLRgw5b2vF1iUF45MKf72gPf7k6WLuHIjsfw7t9nALzRQT0KdladfOOD9mDS+XYPT2iXhvHF5m95Ee+Fe1BEYHT5GZFQQNPC87PiF9QXKxASJ5gJuivdOYOUG9j.pMicfsy4u9ha+q6WKuMW3cnnWNVwAbKWzVVJvHlZmvKg31lkGYGlHTyWPDXXhig+caRBShiEl2+zwI3LFqN6CzKn71vWtFAtmrz9Cd5DNlwusDH9grTpiZdKU4dlwUSB+C7ecS1HHIU0PAFbBGKtK5xX.cI+jOtMu3bkQHW5ml7W+q8xNB+xMmXPNGWSeAHscyBuiC97jgXmCZ.WE9kKbUHDhgeHF8OAF23x6mzZRwYLol4XgcPFpIHp5p+y7rm4OpcYnb4TOXAbtCLdXrqC0f.tNd5WgTuYdddj7UaAUS27zvHD2EgcPfkZDPschocIY8nsK1aSWQ+K7B7d81NClqbUXyUFgrZ+tL4alGoUMDp7EYqFLumuaRwvvXKfv2pctxOOLCBg6iIjY7J7NjWl8TCUv09J7yAvZIPb4SnV71bY+7jLLLO4IO4TDaarYf9sHVfsvQTqECYKDl1Maw+j6fjJ5RPeQK2Zw8o3Q5WH1OamN2OEGotjfF.gyP2.l9JwVG7amgyiMf9Qtp6uBG5K38iX235phGzhXK332bqrX2ko1t.W2ISEKy2JSQbJlBEI4CgoNMEieZJl9APwWewqcKs7BEcMXcnHaqCEAtCaAGvkdUiBKolyXAHnp1KNWyPTPCQGNw6BNDZCVuzeGXAgFbwBpv8KxLTA6PV8lCZG6FzX2DxO5v9P9B+PFWEC4m+y8lZjmra6NgA4VbwNKQW53y.uba9nPk35sy.TT+vilZBq4Mf6M7xsHtKNoWP6GxB3F3B0aejdC8nEm+7reZ7i++rq2EHdmyzAxR2s49cWTd02ln7uGA+cTg3UW8lIDcODg6WHBs+NlWtCgHtq8X+2gsGweisGaW+9EjW8cQP9tp0H9CvZ7hG7b3OT3HuiSp5bunv4FCDU2dzCtmof1Eme2GDg+Xb2XjkwxCO7.Oa2vmZP.hNJZfiNCgd9nF9jCfHCUCJ1a4js5kPmjfq5IPUFR8.Gnftj6fASMcViLDn4xYGNbW2PeB3I382HWvd37XL0WRbMhp+Z3JE3O2saus6zKL0T2Rs.syEGsovfi1w+veNXaNAe4+eOXsExjXWOaY6sK6fdOg5IzTs21YqvxuiWuUbUyxUZsUiCW8RAmd0dQWnJ5NR9s0Wxql8i5KruyVgAb9X2pZDbPr71QovAS1Q5YH81onbcYCOMg66H8y8nF2qbNVQFPyCUkg1f+ITl61z51uC95tUnmeqUwQ5z6QodmZ0CsnNRZqAFcKg8wpVH+b02hD+p+.Hwu5GbI9Ue+Kwe8wa40+.dCNZ3Wt+Pg8BZ5eBsV.S2CnMXCvtmpLPDV+uajYGCnRBwdNbvveJ5ETFxUacSs8KI9XV1U3ssp5qu30WbhhtUzUb55JJ1U2MKDRPVj8OUkyO5PrOOzYbe9Amc84Gdv0Gk.a6HNr7PefdydSn8nwTEav8j8veCAvrLAGQ+8mBweDlJPI2K8O0DKu45ReEme2tYitda1ZWQpG9ewotkiPIYbG0QFPd5+cNSAT436631jvEi6d7m5VTfNjJtkr3URyDuecaxFLPeKzcpxfpV1MU2ZXtGF+dT7jIPINl4b6wW5hxyBsGZeCFutf33uOucUifeiuteWMGmvj+0WDxVz6dKflCkqijiZ+EXTFrttEv1NGz7dnfn59KwvX3DOCX+qXvsIlJXcNCIPfAi2If0t9u7fxcZW+ZjcmPk+YHBqa+PbbgbLVtaQ5PrbgbLVdaJ8Pz7.cLdwh+KuihvB6dtcTtW2j2AvDHgcsOdhqKHT++jvGQ11KYZqmXnPA9izB3L2ROHp1q2Iy4q0tJM+shTrOfm3XAccflm716wL5eZdNfZ5a664Hwbe3awg+w6bINDsQiNBO7sgmt0mcSugdvL3MsPrQNtKHUOUet2HrkALbn0I618ARZ8sMvK0mOcHv54HKDzlC1gXjyd7gOEwn28SQL7KkTz+BpCgngtaH2Zl.8658SFI3Vsg+pMKsfif66WL.FDOSfkihKKbFMXghHv+0LddTZfspigoGtAWEdjy9HGud+jsu0QAnVHhhTjy9vndtYQVE9wktNbiktGi+d.+SuZr2w2uCx27O7JneowxsdmPN5yhRByRsGvP4sO9zONZBhLIRmLdB7LQhb6Gi4OIJmgzbMAmCeantOH1fNfZoCdPltO5RcaEmP77+8W981CF8gxh+zn0ci.cZd7CNAOB0k+gfGCdlseRz7iFAirrmAebzB89A3M09g9y+ONJu.LJiqLxa1+38sic3yo0Grq.yWz7aK9e7e9kcANjSgAcbBqSgo.B8tnQhD4yeUcXXuPv9s+WMP+lydzCdcE667aE9j59eVz8qBj+3Xk5e69xv5arTfdxQqNeJLnskHHme.W2.Um8AtgT7ai611kI3A5RdM9+feB5Lla6yB5L11NCak8Q9RiOLp2k43ID9jnc8ptyGxc7X1i7+9O+u8PeL6lO3Gy9wZ7G+vz32yiW+wuc+30CXoOKZfRqfhlCv2Y6uNJGKMKRPGH98bna22aNI6yQc1iBxbB+kexlOMHYCulBb6IdYa9rnAU.T0K6ZDujq60s+MuJxCfHWDcpIf2sLmiGe.+bOi+ibGedcoiGM9qdGHgzAFAe1V+PRFZ9lAIh79MRd8Evs2aBNTu6duQliMzUDCKzZBfgMjkAVg43StLHcbfIzyM2ZwARcZfnv5aA0G4aCoB.xZgAy.8D2092T3Udjae8EVuheNrp1cQQ9lhBo+ll.3lTs2OeuZ1qxKZ.UIf2Pw98jLH5Czz3Sh5uHQ7hZ81WgJe5V9yWK71GC9wQ8T+usJ+9rnAFiu0J.+znA9FusJB+y3ZkeKnPsOc6ewC+1qTKRje26qT6OJUpQ7tPkZez6qT6O6qTKxe68Uo1uuw+9KtUkZ+l+k2Wo16qT68Up89J0dekZ6Wh+UaO3ztBK.d2aRfIRvs14cGL+vVsVMQGHuzxRP21zvFleJDkOpOhCyw3LW+Pz8Ac.VtqyBFVSiE1BeKPhvUZTWP+.hAae.k3TBc4E+9uLut.TCyCfqFoZ1hvEq2wPGl.y0rAd+sSHV3AtGLQXvLBVRPExA4g+CSgr+n+zpP13uKTH6O48Ex99BYu2BYQ9GQItUgr89WeegruuP12WH665Ex9n+ztP1GbBFXcTHuU+HK9YQg0yQf3oJQ9iit7GhcE7CwbLUPzx3qE8qbwMYyG4AAtt089+IbmGkysMRrsUrDMJNFdjovZN+ZQQW60qfkvd5wP7FLl3uAiIwavXR9FLlTuAiI8avXx7sNF2x8Im6XL02lGBndduGE1Ym4uiGOy+H++fJm98K
-
RE: My tooth hurts...
@orange I've made a few games about 3 years ago... That helped a lot to understand object manipulation and so on... And it's fun !
-
Happy New Year Everyone!
Happy New Year Everyone! I wish you all a prolific year!
-
RE: dry/wet mix on whole Effect Rack?
@Straticah Ahhh... DSP... Unfortunately, we're all on the same boat, which is gathering information on DSP... But I'm afraid you'll never really find a consistent source of information that can explain an algorithm from start to finish. Yes, the secret is well kept, and the reason is that DSP guys are making their own algos which are the heart and strength of their revenues, and this after years (decades) of work, experiences and lab research...
Yes, I have a quite dark vision on this but it is easy to understand why isn't it?
Now, that been said, you can have a look at some books, they will give you the principles of the most famous effects, saturations included of course. The problem is that they often only scratch the surface, so don't expect to get a complete recipe, especially when considering analog emulation, trust me... The other problem with books is that they often tackle a specific environment, so you have to transpose those principles to your environment of choice (SNEX, FAUST, etc...)
And when you find most advanced books, a great part of them is spent to explain the C++ programming more than the DSP principles themselves...
There are communities too that are a great starting point to understand algos, but often again, they are scratching the surface of simple designs.
Decapitator? Yeah! Definitely a great processor in there that I'd love to get inspiration from! But my guess is that it is a very advanced algorithm for my level.
If you have an electronic background, this can definitely help since a DSP is generally derived from an analog circuit (be it real or not). The main difficulty with reproducing analog equipment is how components are interacting with eachother. A saturation is easy approchable using filter and shapers of all kind and combinations. This will give you something that works, but definitely not a good one (chances are it'll sound like old DSPs from decades ago) That is because in an electronic circuit, the saturation component have a backward effect onto the filter that precedes, and the filter on the rest too, and again, without talking about frequency and gain dependent impedances... This is very hard to derive and program. But FAUSt is made to deal with this and that's amazing. But still, that's just a part of the job and just replicating a circuit in FAUST will not make it sound as the original (I don't have the experience, but I'm confident in this...) because you need to adapt "by ear" and lab measures. Also, getting active component in FAUST might not be trivial, I don't know where we are with this now regarding OpAmps, transistors, etc...?
Another thing I'd like to approach is that a lot of content about DSP are approaching the problem from a math point, so it is even harder to understand what to do with this, of course depending on your background!
At least for me, understanding the math, FFT, how to code all this along with DSP algorithm, measure and give birth to a final and advanced project seems to be a long, very long journey I count inyearsdecades. No, my version of Decapitator is not yet ready to make me famous :)This was just my two cents about how to get in the DSP world. In short, there is no ready made formula to make your own. You (and I) have to start at the beginning, read books, understand concepts, apply tiny things in minimal projects, compare, learn more here and there. It's a lifetime job!
-
RE: Horizontal Zoom for Waveform
@Casey-Kolb @Natan Using simple maths:
HiseSnippet 1628.3oc2XszaaaDDdokYRjZcPRSZQOR3zBHm3GRNOZALJr7K4HjHGAKGk1dwcM4JoEgbWFxU1Von.8WQQQOkeR8mP9IjiE8R5rKIEWZSY6n1TzToKZmcd7MyNyrypVAbaRXHO.YTbug9DjwGa1dHSzei9XJC0XSjwUMahCEj.qHRqOzGGFRbPFFE1VRvn3zH0m2r55XWLyljRBg5vo1jGS8nhTpsp8HpqacrCYOpmF22qVCaNaCtKe.fmBlUP9X6mi6Q1AKYaJSjwk1xgJ3AsEXAIDYL85bmgs6yOhEweGZH8.WhbQUTaPQQjqyccjHVREsQepqSqD+NDgLLakFEJDEEtoYSpCcD8znw0TaXkJgd7vXprvqPF3UUGdUzfWNPxPCRSGAoqa11Nf5KR2QhmOxrACNb5hgvtNTh3EM0uNs4FbfClXQO7yI0CfEijn7Ctek4stWkJysRoRkfXenv5Pbf0ZCbn7mgOjzkG3U05arRTQOhXCtmOmAKJOaV1lETRpJ9dN26giUR0tmVfNmo.cxJ.3gbW2wJQz1ydBOq4Zsez9Oqwl6Iw1x2uxhUV4j69vsZr8C2C1t5CTaGP5Y8xXuICgN5DBSPihB7gxboLhU2ALaAkyr3LkSKAKvYY6DjNOXY2Aj4J8ikJlXFEkUJUbfuCjH0hGVFbieZkRJMrXnzOUZYCrq6APIR4rJety..cNW.zIA.KTU5J4BhNiGDcz.wLv2SCinSlwhiYj.YT3LuPwLRXDok7wQFKH4OmvglBkFzkaicsNBrnVJxczWb6nrfaWUFThX+Xf8xZrrf0QyA7EA9Qb0OQowYV2IypH0141KuXpdGBRrPNLALTpX1pNY..bBpzmJe77VCm25n4s5KOpjdcIs39NbA4IrH2E105ja0sat6EGFcIA4tsrEdvYIXY1.uCHA5oYRFg9ZYaVZN9lk58xsip10XjyZvnhm3SXiqCOJtEAzXc5XTAWkHTsU+z31pYBqHpirUe1PMR4.5WtAYPXjQMykdZHIHbodPifk1jaOvCrU3R62Z2mr8tq0rYic1dIPK0otjkTpT9qvkVes1sW7H7gn.LqGABCAvcjlFREqnrEyQt9WlM1ATntPDpuZLpa6RcHAJ3dYSUOfSixKhvWwLplYxjNxzcNovuYUzSaroLFA2HEeD.GK9j.AUdharI4PX5fnq2JZtII74Btu5LJtm.xnTjQmI4xOLi3pr4MLSNXjZFtdFvxwo1lVaX5huq1QTGQ+QDpwq0mP60WalDmZTAwKY1ihW5V25VuUR+fdmlVJmKqSVPNVbZlkd9Hu4Zuy4bGmjRLL4GwthoweBKRbCSiWAq7Sx4a3HGgQoJqGy49VsbwCIAUQgXOeWRClC43nxItO9ExyLiBgPEkLwLZXKiB5ddRtfON.7CMGJuSgSDdPn2lS3IgZ1ndhcRodWI450q+aw4hir7kO2BgwjMzxulG0wwkjz1LksWuZ3ftcopPyWh73NfA9Lyc.uC6ReIwoEIvFLNLQZFnT57KqRwxqDZXolesQGmGm43bYX03g4YBMcevgzEOvUzIag4qW8hA+j55Tz+yuPC8+P3Xij+wEOR5k8MDdXsyMTs7c.nyxoGPFFMm6LvEKxNut7QJwaHgn9PxxAgY.zGpq4+wFh+hBwqa1hJr6mOFmJGLBMUdefw3m9Li4Vc6RrEo.bZy5e66m24na9ajXdUaKYWKRzSbxsQ13eF5ueQeFp+E9YnvKhsapxgSSSTmY6E.CbRY8zMkDlawvf+6nSdWNWHGyR+YvsUciU27CpOC2jCgIJxpgzly+sm3PUyEcchpdKZJCW.4YFCwU4JilBwnvY856pS3qum9+bu99CfdKY9CBJlfw1TY9zVrCItP0iBieBLVkpCZB0rkNM4LteeNiZmM6SDP60iDni8bcn0DBnBHkxMqsKwkfC0Ry+hZOFFK.GbxBn2gXQ024+rjbOu9byH3ZIq2s9v8NgB++9Ngc4CDPO0lXHIT1aZmAdsgVw1Dv5LX7e4aEMlRNMXz5JIsqZSXNpEuE9DuYU4Zi3Mqlr4+J1vCCy9suczymj4oWQQA7alpKdQylx0VidXooYkEqHm5itussLDuPUDJeYVdBj4tSfL2aBj49SfLOXBj4ql.Y95yTF4kKqMPv8hJ4.Bs1R89UCiQ2naT.8Wfq1PIK
It is to be noted that the vertical zoom only works for mono samples as stereo ones will badly spread from the center. I'd rather prefer to paint the audio buffer in a panel than moving a waveForm component anyway...
Latest posts made by ustk
-
RE: getGlobalPosition Ain't Global
Confirmed, I use this method for years with no issues
-
RE: HISE 4.0 - Wish List - Add yours.
Since running our own EQ is one of the main thing in DSP:
- A way to get the EQ curve out of a
snex_node
with a display buffer
I remember asking for a
snex_eq
a while ago but, @Christoph-Hart, you said that you'd rather not do this for some reasons related to code maintenance or something like that which I understand. Also, since a proprietary EQ DSP might (often) contain some nonlinearities, this might not be compatible with an "EQ only node". Sosnex_node
is a nice way to go, just missing a display buffer... - A way to get the EQ curve out of a
-
RE: Engine.openWebsite(String url) - return value?
@Lindon following the API
void ScriptingApi::Engine::openWebsite(String url) { URL u(url); if (u.isWellFormed()) { auto& tmp = u; auto f = [tmp]() { tmp.launchInDefaultBrowser(); }; new DelayedFunctionCaller(f, 300); } else { reportScriptError("not a valid URL"); } }
it reports an error only when the URL is wrongly formatted.
Since here it is the machine that responds with an error, it might be something like there's no default browser. But even in this case, wouldn't the computer ask which application to use? I don't know...
Might it be a security that prevents the app to open anything on the mac? like a missing hardened runtime or something similar in the jucer/xcode when building the app?
-
RE: Facing product download dilemma/issues
Alright guys, so finally Bunny CDN has an API for the storage part with secure/unique download link generation, so I go with it. (might not be the best but it's not the question for now, and since I will probably never have big sample based instruments but more DSP stuff, the size does not matter
-
RE: Facing product download dilemma/issues
@gorangrooves yeah I understand the principle of CDNs and this is exactly why I jumped into it when realising the slowness of my website. Then after some tests and readings, I realised that only a few specific websites actually need one, and the fact that it is cached in several places is in the end not a good argument (which is weird to hear at first, I agree) A good optimisation of the website is way better than a CDN with a "natively messy and not optimised wordpress" website.
-
RE: Facing product download dilemma/issues
@d-healey @aaronventure @gorangrooves Thanks guys! That's indeed what I needed to hear...
As for the licensing part, it is all done and working using a php plugin I've made.
So really the only thing I need is generating a the fresh link for identified users.I will check the different storage solutions/CDNs you gave me in the next days to see which one fits my workflow the best. I tried Bunny CDN last week (just for the automated site acceleration part, not third party storage) and it was catastrophic for my website. I am not saying Bunny was the cause of the poor loading response by itself, but maybe more CDNs in general. Through this little journey I learned that almost no websites need a CDN and people often think it will help while in reality it doesn't (I've read this from different sources)
So since I only need a storage, a CDN might not be relevant to me (except if they offer separate pricing tiers so I don't use the habitual acceleration) -
Facing product download dilemma/issues
Hey guys,
I am setting up my system so my (future) customers can download their products using my manager app.
All is good and works on the app side, but... I have some questions about security, especially the kind of attack using a script to download your stuff hundreds of time and shut down your site (and also php injection).-
I created a download folder in the website's root called, yep,
downloads
and place my products in that folder (as well as some release info, etc...). I give my wordpress product the link, and all is good and working from the manager app. But this approach seems risky to me as there's no verifications like bearer token, etc... So first question, am I right to assume this? -
The other approach I am trying is to place the product in the WP Media library, and, since this directory (
.../wp-content/uploads/woocommerce_uploads/...
) is natively protected against all kind of attacks, it feels safer to me (hey guys, pardon me, I have no knowledge in web dev). But then with this approach, the manager app can't download the product from this link, obviously. Second question, is there a way to use a header of some kind (like the JWT token) or any parameters withe theServer.downloadFile()
API to allow a user to download from this location without compromising the website? -
Third question, and now I think about it I probably should have started with this one, maybe using an external specialised storage service would simplify my life and resolve all those silly questions... ? (and remove the loads from the main server)
-
-
RE: Font and "might cause race conditions on Windows" warning
@aaronventure I built last night so yes, but I had not deleted the build folder first... I think that's the door ghosts like to pass through to haunt us by the night...
-
RE: Font and "might cause race conditions on Windows" warning
@Christoph-Hart Then a ghost it is ! I'm using the last version...
Checking again, it's weird...EDIT: Alright, somehow I wasn't on the last built...
-
Font and "might cause race conditions on Windows" warning
@Christoph-Hart I thought this has been fixed?
I still get this warning dozens of time each time I compileControl Center: Warning: default font used for getStringWidth() method (might cause race conditions on Windows) Control Center: Warning: default font used for getStringWidth() method (might cause race conditions on Windows) Control Center: Warning: default font used for getStringWidth() method (might cause race conditions on Windows) Control Center: Warning: default font used for getStringWidth() method (might cause race conditions on Windows) Control Center: Warning: default font used for getStringWidth() method (might cause race conditions on Windows) Control Center: Warning: default font used for getStringWidth() method (might cause race conditions on Windows) Control Center: Warning: default font used for getStringWidth() method (might cause race conditions on Windows) Control Center: Warning: default font used for getStringWidth() method (might cause race conditions on Windows) Control Center: Warning: default font used for getStringWidth() method (might cause race conditions on Windows) Control Center: Warning: default font used for getStringWidth() method (might cause race conditions on Windows) Control Center: Warning: default font used for getStringWidth() method (might cause race conditions on Windows) Control Center: Warning: default font used for getStringWidth() method (might cause race conditions on Windows) Control Center: Warning: default font used for getStringWidth() method (might cause race conditions on Windows) Control Center: Warning: default font used for getStringWidth() method (might cause race conditions on Windows) Control Center: Warning: default font used for getStringWidth() method (might cause race conditions on Windows) Control Center: Warning: default font used for getStringWidth() method (might cause race conditions on Windows)
The font I use is an embedded one so my guess is that embedded fonts shouldn't throw such warning, right?