Simple gain vst3: interface does not work
-
I wrapped some simple faust code with HISE.
Heres the faust code:declare filename "NJERG.dsp"; declare name "NJERG"; import("stdfaust.lib"); gain = hslider("gain", 1, 0, 1, 0.1); process = _,_ : (*(gain), *(gain));
I added the parameter to the interface and linked it to the faust parameter:
And when i use a wavegenerator in the master chain:
The turning the knob in the interface preview changes the gain audibly.
So i guess all settings are correct.
So then i remove the wavegenerator from the master chain, so it can take input and work as a FX plugin.
I enable vst3 support and then i export it as a VST plugin.
However when i open it in my DAW turning the gain knob does not change the gain audibly. The default value of the gain is 0.5, and i do hear a drop in audio level when opening the plugin so the audio is passing through and multiplied by 0.5. So is there something wrong i did regarding the interface?EDIT:
I actually didnt select export as FX plugin but as intstrument, that would maybe explain that the gain knob didnt do anything. However now that re-exported and this time i did select FX plugin, it doesnt even pass through the gain anymore: no gain reduction by default value 0.5 and also changing the knob doesnt do anything. -
@Aueh read the forum. Thus very problem was posted and solved this week.
Hint you will need to use a hardcoded fx
-
@Lindon I assume this was the solution?
https://forum.hise.audio//post/89769
Im still a beginner so im not sure.
I did what the post suggested.
I got this now.
Chorale is the name of the my dsp network that was previously in the script fx node.
And i also replace the knob from the interface with a new knob.
However the problem remains, in my daw, when i turn the knob theres no change in gain.
The post also says something about removing something from the interface.js code, im not sure what is meant with that. Im still a beginner and all the example snippets use scriptfx nodes. I can check the forum but half of the answers i do not really understand because i dont understand the program that well. Could you please help me? -
@Aueh post a snippet of your project
-
@Lindon Sorry for the late reply. I do this on the side of my main occupation so i mainly work on this on weekends. Thank you for helping me.
This is the snippet with the scriptFX.
HiseSnippet 1410.3ocuW0saaaCElxIJowqq+LzG.gbkSggmUbZR5BFRyeNynKoFUoA8t.FI5XBSQJHR2X2hc2tX6AXWzaF1SvteWsArWjs2f9FrcHoTrbhgaqw5TPrE44PxOd324iGSFnH7HRzYRNMIgnPHm4ZmJBIRoHE4T9jgIDjyscCFxUc2qKlxQs1G4bG2ivREI0y10tCSvRIIB43L2g5NbVZdj44cauKlg4gjQcgPmJngjukFSUi5s8SdJkwZhiHmPiK38ZOoUnfumfI5C3YN25nDbXO7EjiwZ2J4h9FrrKx4gtOdc+nMhdb8Fq2X0Gu4pgqE1v+Q0We0U2vOrieC+MCIjU2XyyQNKbPDUIRCTXEQBS5thngAcEWxsKvoTI8bFQ2vGE.qrsazdcornqBNRHTMegP0b1P0CbOhFQup+Qgr6YL3MZDECZNklFj7+HfjSAHMuER22MHLklnFYQimOysEGNA6fgylhPw5Kx4Ob2S.NvU0hw8HMSgFWMfJqWudUO3iU1pSednhJ3dB9wBE4Y7JqT9MkWp72U165l5zYh1zKSpfwHoSzrlNjNsAVg2O9bRZUuWgY8IW4Hr8GOltvGVLMztqK3nf2hSUOKgj0tofEoiU52u4I.JKroOKxPH3pxbRbmrSh.FMhjhnvjrn6S4hy8QFvmQ6eRiF+41nWzZerBmOMvLBqRBIUQ0aFm8IuBRhrGvK4tOQ1SIRL9FmH35024tu2Ec.xw04mgUbn9keDdQpFpCIKXb.ESihXj1BIUGxKjU+6PxeR.80FD+lG7qG92u962NtXhOBEiGTTGP1uSG5.SFaGJKVp.L0JFRjQNeg6KjDuHRGbelxS1ClGFk2iDchv3uhLPowjQZIIOV2JxHLY1adMeoOHLjBZB.EUaIyazMSGfDQQTeFVMd1o18LC58ZwTBMumCwfgE2OeDor0mZJ6GJDuuaapJr6jwXoIfQf57o.iYBcet6Ac5PBUi.37tMe4TU0l+Ca4md90jT3JmQCf0WCjwXESRa6GbGoijjR.hC4DQaFdXEINNgQdNf2pdmyDg8zj7aJ9jQB2U6QkvtXNmvjyhF0B+Go6idtnuhxu3HLjWoSqOteb.bkYHYuLzoyvKokmrsqqaq4HAv8+lF+C7jYzW21IynetwQJaniIpKEo8LGGYuCpJ1XuzDjOqy.ezNLl3RshDMiwBmAl9ZKXCS5J3zPcWVOxQ5Nwh9Z4KKbga2OASYZJdPeInAG8Ld.3rojBm4NkjJMS7ht0qA+AT9iEQfoEahCg.6v1XUWctiVVGHpjzZgWQXGCqE4I1ZKFyrdVyqBwF3.TGazYAEJ8QV6b4Gs7bISYT4x0VRqtEjdVxtzsjmpsFhYnSsZ+v9UuJ1fpYSrf10EcAcQoBM1F51vFJkTyZ4lPOeLSG0WCiktFFWxcOFLufZZF.Wv8hbM0h9cWMYqvtOya65gJXPGFxagbt0QT9oEt0y7bDdv056caGT3tFnie4su821NnG4Ra.onmZzjAxhyB7+es891qWtwruSekHFx9LpnnfK0ZrmfSufnjSC8K9oB8GdczadlL5yJNfSLxMxwalkJzJZDcn832PZOM2UH5EiMIyyTMG+uH8DiCSEmEZUS0azaY5AnvbCgeI3Gj.s8FuPJacHPY2mEFN9TciAt5rNvFy5.WaVG3il0At9rNvMl0At46ef5eUTVNnlzBIQsOvPBcbNfigK+LxZHBb+YDTVf8JbMW8pd3jAMgaDLzenzR8uJT+kEI2yR8+RMWuVjLIu9djyO4FQBYvU+d4d6sbtWKuU4biiL.cRghqSUUVVphLSaMF87kWYqxZydesWWooF6JV2q54W0qt8yZ9fWYUM.NdV0y79JuJOrh1wUp5k8xJagP+q47hjt
And this is the hardcodedFX version of it.
HiseSnippet 958.3ocuVsraabCEkTRzoVsMHAnY+.uRJPvUijircLJbpenFgT6XTkFjcpTjbrH7LjC3vIwBEYYVzOftMeK4Wn+DcS2z+f1KmYzqZAEGg1NKFM2W7d38oDWaEJtfOHQIiiEVDBW9BilIRRzFDt5KFGKP3ufzerxN53QToB06DD9tjynIVgwKm0QiioIIBNBiK+cNF3Mqfxd9yCOhFRULwLVHzK0Rl36kQR6LtW7jmICC6R4hWHilS6cdROlVcrNTmB3oLoIJlxthdo3bpSsRDzSoIiP3GR1uiOeW99Ma2ocq82qEaGVa+G0rSqV65yB7a6uGSHZs6dCQ3MNkKsZSeK0JRfC8HMeb+Q52nxcvKkIxggBGgOpO34b1niGIC4SCNIPnpxbgpx4gpuhbljKmxeVH6dYB7lYw7AMboUAI+OAHgmCRUxgz8I8YFYrclDGd9bROEjACnPtYdnjqKB+AxwZPAkc6H5UhtFfXpA05zrYCO3U8CBRULqTq7zpy0VwyU0pW8mqtY02V06eJJHXoxbtwnCCElkJ1UNXVkg0ToQCElFdulFlJlpHb8WLltwsKlxxu0yonV0SIsOOVTP2UGxcwJ222LCfJBatbQABAUsYYh6VjI5GJ4BCRBGxcHOSoG5ix.eQYu269ie6PzO16DpkN4XfSD7RrvXktKC9Dwqgln7D7ljSDIWY0wY5FEqUN+iuyG0oWivD76AON18wu.eXEWCVtAIqKNdx0pG2UX+TpgyzvUOu2u6q7gdQCzFBDNMJrBcyJPn1WySCo1EaHbpWH.xnKTE5J0TIR634Gk7IzkzbkcI2VHdexERKazxwXokfQHa8eAFKls7kjSCBDL6L.Vgz8UqbPRkam6WcI8BCUH4X4AyJG7J1E.PwgokVnLOFOWXei1bkqf4R2E4xYaL9offe+Pb4+kFFh9AcpUpt7Lp0Hc05mmF0G1ivDPDToDgItx9Rtd1b5lNZWVrOrTLi3ufmBg9NZbgP+IB+ewGQTlQOfkOMwkP9rLNv8VksEbSXcLP6s3XjrmHXoy.Fawi5FF1ZcMr85Z3NqqgOZcMry5Z3tqqg68wMz8eB91TqNJe7BBc1EmlM1GiOUQgp7rNFj.1vwgFp7I4tR6obThq6JCEYsoARWaQI2O4H4dj.ZZh8qcsXayShmrcCg+UBWvBoFg2Ds81ZhVacP0IBmI.XJgUKFassRr7ric6P4vspePUmXuuwaTR1FlZ4p2vyugWy72a6CZUrMATbPiAdO1q1Cq4TrdCuhOpe.B82.ESG71C -
@Aueh said in Simple gain vst3: interface does not work:
Ok, well your snippet crashes HISE when I try to compile it, I suspect this is because of the naming convention. You should never name things like: "gain", as theres more than a good chance that term is used in the source code, so I rebuilt your network like this:
HiseSnippet 1258.3ocuV80SiaDDeMfgRJU8NoJ0Ws3ovobA6D96cppGDH8hZCDcNEcugVr2fWw5csr2.jV0262n9Z+H0uAsy30Iw4HkiK8OFofmclw6ucl42LK6dMSFxBuLSxSRXZBwZ4dop.VVlJkXUo+nDFwZCa+QRcTqHJWR5bBwZc6itFdmkRNdTBMKiERrrV96P0VquBI+4O91ioBpLfMcIB4BEOf8C7Xtd5p8dy2yEh1zPVedbIq24McBTxVJgZH.kkscIIzfanWyNihlsjM4szrHh0KraL3pfFC1u4AdG5c396bnm2tGb0NtMBB28vlM2qY3fFGP26.voUOMjqUo9ZplkAeziUgi7iT2IMavE7L9UBFJ3Q7gc1rLoUDWDNItjAQoUJEkV1Dk9J6t7P9j0mFsdVtBmodTNnYsziAIuOAHYUBRqXfzys8CR4I5oZP7741cjZV5.JjaJCEisDqe2tkBLPpqGSug0NEDl3P08bcq4.+r0qGLTFn4JoiRdlRyNWVcqJ+bk0q7KUb9PUCFLWc31jpDBV5bUikCoOliUkCiuhkVy4VpXHahgvwe1X5pOsXZf4TWxPkrijqOOgUH2VIBwXE99Cy.jhvF71O14DplhIkh0.6RXoZNBGqSX2Bz.SJZc6SXY2nUI.Q3A4OnxQENTP0yVNgDsBEP7XlbHlnjYb8nxDwOgZL2GsF6oBwma2iqChlOFWZNXDhT+WfwBl4WXe5fAr.8T.thc62+nzvUdZa+zBhmJkrRAkD1eDHaTH5z98dykL9q1SK7SRYIzTVeUOAcT0LZbhf8N.u0btRnBtwm+SrGxVRLP3XzhpAQTojIxVDR0p+K0nh7N0PMWdcWpNkeOwx9rgw9PO9.VqBzAqYsDxmLxtnLVi3CypxE9S3oPoGJaUnzarxRTwyX56To2jmNJdmXs1rSwNRHT20REmvKJWMmHVZVtvZ1t0g+Ll0SIFkDoj7.LMYbZLxOJVMD1zB3Cim5S4Brj2eXFzDI7boOXb9LQrj6LUH71ZsoAPbcTOpNBoNXanbXUO3QG3hQWynvoZw7QOZJrJzuNybLvcY7TTSbD.cLFbvYnVKi5MQmb3rJteqYOfNLSSlAZa.PKkU2nYd3XrWercrTyPXkBInavRliZKA7k6DRt.K.Q1awoa.D6xo2kM+KwxmRG4BmxK8JsLxEGKAmwtbYgg1Xtkzkd+DYOP1WyRP5DNU2stmq4wamCc871yKOkTwVGwbPjQNgAmagdluvQC0pXfoLdZg+cXGw9zzqY57tT+sXyDD5GwxuO0+PjNisyCm4Snjr7l.YjYDIlJTHSLIyNAm3hkh.jYRoVePNZC6NYWfZCnhwHBXHGqT2DSyolK1.y+OZjDSCRUWFX5MhGtOKeEHqJK3dcQYGOxslC1zQZwvs9tLHX1O0Cbrwh5XyE0wcVTG2cQcbuE0w8WTGO3i6Hdo7BVJVrSHc6cZdQnk0oRJLJKeNLgASCCgg7lAxXs5jUjr6aC8jxK4yaNYsD9OCR9ZCkY6RMupGlkL9VlDqeyd6scZi13XpZcvO1qbJ4PEvhVoLrMhCz+Hx4sc7OEFU6zvswtuzs4K8bqviSTo5paloCy2v5B9Uat0qqTAHm3Wx4abhxD7P3pzaNlutYMGuZNtleq6AVWbKAv3Kqcoyqbp9hpE9uUMmouCVRH+EOu37P.
so first see how I've encapsulated the snippet in the "</>" tags to make this post more readable - try that in future when posting snippets...
Load up the snippet and see how I have (less than subtly) renamed all the elements. This now compiles, start by trying this and make sure it compiles on your system. DONT copy this snippet to your "Gain Test Project" - where the DspNetworks folder will have your old breaks-HISE code, start a new project and test it there. If you want to clean up your old project I can show you how to do that later.....
-
@Lindon Hi long time ago, i was very busy with university. It compiles for me. Strange that my project was unable to compile for you. For me that was never the problem. For the old project:
It showed the editor of the plugin, but changing the knob value didnt do anything. Your project:
I had to add the knob to the interface, and then i compiled it. But the same thing happened in the daw: it shows the gui but changing the knob value doesnt do anything. In the solution topic this guy says hardcodedFX and ScriptFX should compile the same:
https://forum.hise.audio//post/89792
and since my problem is different than the one of this topic i think theres something else going on...
I dont have any crash or compile problems. Everything shows up, the knob works in HISE, but in the daw the knob doesnt do anything. This is a screenshot from cakewalk, i also tried it in supercollider but it is the same problem.
Are you able to make your project work as a vst plugin? -
-
@Aueh Got caught by this one as well, waiting for a fix
https://forum.hise.audio/topic/12370/faust-parameter-not-responding-with-compiled-networks -
Ok i finally got it to work. I redid everything from scratch and now it works somehow. I dont know what exactly made it work this time, but ok i will go through everything step by step (also since theres no tutorial about this, as far as i know).
-So i used faust. I created a new faust file and replaced all variables and stringnames of parameters by non-generic names like "gainer1" or "againer".
-Then i opened hise. Created a new project. From this point on i didnt close or reopen hise whatsoever. When i close hise and reopen the xml it looks like this.
Instead of this, and i dont know why.
So thats why i keep hise open.
-I created a new scriptFX node add the faust dsp file to the correct folder.
-Added the parameter for the gain, and linked it with the cable thingy. And gave all elements and parameter things non-generic names. I did not added a knob to the interface view yet (I think this might be important).
-Then i compiled the dll.
-Checked the box "replace scriptFX modules"
-Added a hardcodedFX node to the FX node (Your script should pop up here)
-Then i removed the scriptFX node.
-I went to the interface designer and added a new knob to the interface view.
-Make sure to select hardcodedMasterFX1 as processorID in the property editor.
-You can add a waveform generator to see if the knob and effect works. (make sure to remove it again).
-Then i exported it as FX plugin
-Now i got the dll in the binaries file and it works.HiseSnippet 778.3ocuV80aZCCD2FvUC1ezpz164w1opIBzBTsGVW4OqnUnnktp9VkqioXQhcjiS6PS66w93rOR6avlcRnIrh5nnskGfb9ty2Oe2u6bFIEDZXnPBfUNcV.E.eBxYFWMo8DLiC52A.KitR+JUZCNbV.NLj5Bfvhu2nFVtDH94Gu8PrGlSnYKA.mIXD5wLelJa0QG7AlmWOrK8TleNq28f9DAusvSDogRQTUP.lLEeEcH1XVAD3Hb3D.7Un8aX61zc+p0aTu19spQ1kT2dupMpUqoMYrcc6VDJsVyVWBfaz0koDRGEVQC0a5gB2YNSD2vSBvYrP1kdTifMvQG4jkAsmv7bGMOuDB.vRixxRESxRu.Mf4xtc8rr0yiUXk4Q9jFrv8AI6G.jf4fToDHsIxgHYApLMF77XTethJGi00l7PIwV.76n1BsAb0q8wSo8jZgacXqFUqtik9msey3HNQwDbKAenPQOgu01U9RkxU9ZEqeW03wKUmILRgmGUtT0F5f79bbKdj+kT4NVWi8hn2Zn93uXNciUKmRRN04LTv6yYpSBnox8Ddtlbk486VA.ooMSsHEgZSUwUhmkVIb7XtTIf4luIJF94aS.epeGrBOeiz6oNNATohYNNvNzq0sQIk3xnNzvoJQPrs9ABtAAvMVgv9Y.DAOFB.yLu7McXCleZ56Z3yGgktDg9DO.Gpq+8N2V2BJ0ceZg9KrUf6x8zrdgajGVsXqfYHQpBcsbA9mgjwCYpY4Gh7.5Opdu8GqJD2DMhoHSVNFKrDLpqR+KvX5Tkmh5NdLknx.XITuyW2QHUW8QHnj3+xLVfUBMvRGdCNVJ+HOtFRU2HjSyySl+e9jWw+RC.AeTDoX7qFfURlgaOLx2Qe2AgpycbN0KzPyKX5SSjqZjMPvgxciE9o9IUosQFlpzdtx+KwvGSjhKHISPLkkGEuh9byiu4qLZfQ1ZICN70WzbAgr3VcGGqstNVeccb200w8VWGartN1bccr0e1Qy2A7tHkvOYvB.LXT23A8PXWNVyxi6a.+BvUgltC