.NET VST plugins maken

AlonsoMos

Vintage Schmintage
Lid sinds
15 december 2004
Berichten
463
Locatie
Exciting Brabant ;-)
Heeft iemand hier wel eens ooit een VST plugin gemaakt? Ik wil dat graag eens als test doen maar ik heb alleen een SDK voor Delphi of C++ op internet gevonden.

Ik zag ergens op een thread iemand die een typische .NET-foutmelding kreeg. Dus ik vroeg me af of er ook een SDK voor .NET is.

Kan iemand me verder helpen?
 
Steinberg is de enige die VST SDK's maakt (en mag maken).
Als die het niet hebben dan pech.

Maar die C++ SDK kan toch in een .NET omgeving gebruikt worden?
Lijkt me qua performance niet handig maar da's bijzaak.
 
Je kan in .NET een standaard MFC applicatie maken die volgens mij gelijk is qua performance als een MFC applicatie uit VS6.

Als je echt de .NET klasses gebruiken voor een VST applicatie kan ik je maar 1 ding aanraden: NIET DOEN!!!
 
Beste lieve mensen... een reactie is leuk maar zorg wel dat je weet waar je het over hebt.

Nog 1 keer dan:

.Net programmas zijn heel anders dan c++ programmas. Voor .net programmas heb je een .net runtime nodig, voor c++ programmas niet. Je kan met visual studio .net nog steeds 'gewone' c++ programma's schrijven, maar dan doe je dus niks met net. Ook kan je niet vanuit C++ naar .net code praten. Waarschijnlijk moet het dan via COM (het object model, niet de poort).

Capiche?
 
.net is mickeysoft crap en niet echt bestemt om DSP-achtige applicaties mee te schrijven. Dan kun je evengoed al in JAVA gaan schrijven, wat ook pokketraag is...

Hou het maar bij OO C++ ;)
Voor DSP heb je toch gecompileerde stuff nodig.


En als je het jezelf erg gemakkelijk wenst te maken, kun je nog steeds synthedit gebruiken :
www.synthedit.com

Voor synthedit kun je ook zelf eigen modules schrijven in C++, maar de synthedit SDK is veel gemakkelijker te begrijpen dan de VST SDK... plus voor de meeste dingen zijn al modules, dus die hoef je dan niet meer te schrijven he ;)
 
Bedankt voor jullie antwoorden maar mijn vraag blijft: kan ik in .NET (C#) een VST plugin maken?

Het gaat me niet om performance. Ik wil gewoon kijken of het kan.
Ik heb geen ambitie om een nieuwe synth te schrijven :)
 
Origineel geplaatst door krijsje
Beste lieve mensen... een reactie is leuk maar zorg wel dat je weet waar je het over hebt.

:gaap:

Bedankt voor jullie antwoorden maar mijn vraag blijft: kan ik in .NET (C#) een VST plugin maken?

Naar mijn weten is er nog geen C# sdk voor vst plugins.
 
Origineel geplaatst door AlonsoMos
Bedankt voor jullie antwoorden maar mijn vraag blijft: kan ik in .NET (C#) een VST plugin maken?

Het gaat me niet om performance. Ik wil gewoon kijken of het kan.
Ik heb geen ambitie om een nieuwe synth te schrijven :)

antwoord :

neen
 
Origineel geplaatst door oli303
.net is mickeysoft crap en niet echt bestemt om DSP-achtige applicaties mee te schrijven. Dan kun je evengoed al in JAVA gaan schrijven, wat ook pokketraag is...

Er bestaat een Java-wrapper voor de VST-library:

http://sourceforge.net/projects/jvstwrapper

En Java heeft tegenwoordig en alleszins acceptabele snelheid (ik ben professioneel Java-programmeur en merk dat de Java performance geen bottleneck meer vormt).

En in principe kun je iedere taal gebruiken die kan fungeren als wrapper rond die library, dus ook C#... er is echter bij mijn weten nog geen C# wrapper geschreven.

Maar goed, Synthedit is een heel goed alternatief, ook al zijn Synthedit-plugins vaak nogal CPU-intensief.
 
Ik geloof dat de jongens van Arturia ook Java gebruiken. En Azureus is ook een goed voorbeeld hoe een Java programma met een C interface gewoon een goede performance haalt.
 
Origineel geplaatst door Kat Yidaki

En Java heeft tegenwoordig en alleszins acceptabele snelheid (ik ben professioneel Java-programmeur en merk dat de Java performance geen bottleneck meer vormt).

En in principe kun je iedere taal gebruiken die kan fungeren als wrapper rond die library, dus ook C#... er is echter bij mijn weten nog geen C# wrapper geschreven.

Maar goed, Synthedit is een heel goed alternatief, ook al zijn Synthedit-plugins vaak nogal CPU-intensief.

Misschien voor een Servlet of een user-interface-dingie is JAVA performant genoeg, maar om realtime Digital Signal Processing te gaan doen niet. Daarvoor moet je ook goed begrijpen hoe JAVA intern werkt. Java is niet zoals een gecompileerde taal, waarbij een programma omgezet wordt in machinecode.

ivm. synthedit : De performantie van je synthedit VST-plugin hangt volledig af van het soort modules je gebruikt en van de manier waarop je je synth bouwt. Overcomplex gebouwde synths en een slechte keuze van modules leiden tot trage VST-plugins.
 
Origineel geplaatst door Kat Yidaki
En Java heeft tegenwoordig en alleszins acceptabele snelheid (ik ben professioneel Java-programmeur en merk dat de Java performance geen bottleneck meer vormt).

Wil niet moeilijk doen, maar volgens mij is Java nog altijd niet aan te raden voor real time programma's waar timing zeer belangrijk is (zoals bij DSP programming). Java heeft nog steeds die Garbage Collector: daardoor is gaat Java niet echt zuiver om met het geheugen en bovendien zorgt die Garbage Collector ervoor dat alles niet volledig real time is.

(In c++ moet je zelf beslissen waar een object in het geheugen komt en wanneer het object weer wordt verwijderd.)
 
Wat een gezeur over of je het beter wel of niet kan doen... iemand het ooit 'echt' geprobeerd dan??

AlonsoMos vraagt OF het kan... het antwoord is sowieso ja. Het kan namelijk met JAVA via de JNI (Java Native Interface)... dus dan lijkt het me gek dat .NET er niet iets voor heeft... Misschien kan het al gewoon met C# en unsafe code... bekijk eens het volgende:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncscol/html/csharp09192002.asp

Je zou moeten proberen de input en output streams te vangen en er in je .NET app mee gaan prutsen. Zie ook de API van steinberg en de interfaces die ze daarbij hebben...

Als je geen di-hard programmer bent zal het nog zwaar zijn misschien... maar dan is iig je vraag beantwoord.
 
Origineel geplaatst door oli303
Misschien voor een Servlet of een user-interface-dingie is JAVA performant genoeg, maar om realtime Digital Signal Processing te gaan doen niet. Daarvoor moet je ook goed begrijpen hoe JAVA intern werkt. Java is niet zoals een gecompileerde taal, waarbij een programma omgezet wordt in machinecode.

Als je iets meer onderzoek had gedaan had je dus geweten dat die Java-library een schil vormt rond de low-level VST-API. Hetzelfde geldt bijvoorbeeld ook voor de Delphi-wrapper. Het is in ieder geval heel goed mogelijk om VST-plugins in Java te schrijven en qua snelheid zou je weleens een stuk verder kunnen komen dat je zou denken.


ivm. synthedit : De performantie van je synthedit VST-plugin hangt volledig af van het soort modules je gebruikt en van de manier waarop je je synth bouwt. Overcomplex gebouwde synths en een slechte keuze van modules leiden tot trage VST-plugins.

Synthedit-plugins zijn haast per definitie CPU-intensief, wat voor mij een goede reden is om ze niet te gebruiken. De enige Synthedit-plugin die ik wel eens gebruik is de Bionic Delay... en dan nog met mate.
 
Re: .NET VST plugins maken

Origineel geplaatst door AlonsoMos
Heeft iemand hier wel eens ooit een VST plugin gemaakt? Ik wil dat graag eens als test doen maar ik heb alleen een SDK voor Delphi of C++ op internet gevonden.

Ik zag ergens op een thread iemand die een typische .NET-foutmelding kreeg. Dus ik vroeg me af of er ook een SDK voor .NET is.

Kan iemand me verder helpen?

Hi, I don't speak Dutch, but I saw 'VST' and 'C#', so you might be interested in a project I just started called Noise:

http://gforge.public.thoughtworks.org/projects/noise

Enjoy!

Jim
 
Origineel geplaatst door oli303
.net is mickeysoft crap en niet echt bestemt om DSP-achtige applicaties mee te schrijven. Dan kun je evengoed al in JAVA gaan schrijven, wat ook pokketraag is...

Hou het maar bij OO C++ ;)
Voor DSP heb je toch gecompileerde stuff nodig.


En als je het jezelf erg gemakkelijk wenst te maken, kun je nog steeds synthedit gebruiken :
www.synthedit.com

Voor synthedit kun je ook zelf eigen modules schrijven in C++, maar de synthedit SDK is veel gemakkelijker te begrijpen dan de VST SDK... plus voor de meeste dingen zijn al modules, dus die hoef je dan niet meer te schrijven he ;)

Sorry maar C# is in geen geval zo langzaam als Java. Java geeft misschien acceptabele performance voor bepaalde applicaties maar voor dit soort applicaties zeker niet. (Al ben ik zelf van mening dan Java nooit echt acceptabele performance geeft, maar dat komt meer omdat ik van beroep software/ systeemtester op gebied van functionalitiet en performance ben denk ik :D )
 
Laatst gewijzigd:
Back
Top