VST3 SDK fun

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS

Post

My advice: have a look at the mda-vst3 examples. They were first developed as VST 2.4 plug-ins and are a simple enough starting point to get the ball rolling. As long as you can get these examples compiled and running in a host, you've gotten past the majority of the hurdles. (Mind you, this does not include any functioning GUI code!)

Post

What really speaks for structuring things in smaller files with a certain scope are version control systems, especially if you follow the 'commit often' paradigm.

It is really nice to track changes just by watching the changed file listing and the comments. Also the diffs are usually very easy to read if they only have a few lines here and then. Digging through dozens of diff entries in huge undocumented source files to find a regression can be an absolute nightmare.

Post

It is really nice to track changes just by watching the changed file listing and the comments. Also the diffs are usually very easy to read if they only have a few lines here and then. Digging through dozens of diff entries in huge undocumented source files to find a regression can be an absolute nightmare.
Wow, you're talking about this as it was some arcane magic :v
With C++ in particular it isn't exactly uncommon for every 100 line source file to pull in 20MB or more of headers full of templates that need to be instantiated, compiled and often optimized separately for every object file just so that the linker can then pick one of those copies and throw the rest away.
Nonsense.
Compilers do a good job with pre- and incremental compilation. No need to stuff all your classes into a single file. I've spent the last couple of years learning to trust my compilers (clang, gcc). As long as I write nice, clean code, they will compile and optimize with great efficiency.
More like it.

Multi-thread compilation gives massive gains in compilation time as long as pieces of code do not depend of each other. Which in properly structured project is quite long.
Here at home with 12 cores I am pretty certain of that ;)

I start to wonder how many of people here have actually developed some commercial C++ software over last 10 years?
Blog ------------- YouTube channel
Tricky-Loops wrote: (...)someone like Armin van Buuren who claims to make a track in half an hour and all his songs sound somewhat boring(...)

Post

DJ Warmonger wrote: Fri Jul 24, 2020 1:41 pm
It is really nice to track changes just by watching the changed file listing and the comments. Also the diffs are usually very easy to read if they only have a few lines here and then. Digging through dozens of diff entries in huge undocumented source files to find a regression can be an absolute nightmare.
Wow, you're talking about this as it was some arcane magic :v
It is for a lot of people if I look at this thread.

Post

DJ Warmonger wrote: Fri Jul 24, 2020 1:41 pm I start to wonder how many of people here have actually developed some commercial C++ software over last 10 years?
commercial?

why does an app have to be commercial to have value or pertinence or whatever you're trying to indicate? can't i just make a cepstral phase vocoder or circular membrane for free? how about an animating ephemeris? or does some deranged american veteran living in florida have to send me pictures of my mothers house and post comments on all of my comments three years later to preclude me making this available?

you got me there holmes, i can't see myself making any commercial software, ever.

seriously, you're not trying to marginalise my ability, are you? didn't you send me money for stuff i wrote?
you come and go, you come and go. amitabha neither a follower nor a leader be tagore "where roads are made i lose my way" where there is certainty, consideration is absent.

Post

just so this is tangible to you,

after your mother dies (they do that)

there are a lot of things that need to be paid for. i really wouldn't mind having a go at some more software, but i can't have a computer, because i needed to buy tires during 2019 and 2020. they were expensive tires, but it's worth it to keep my mother's car.

i work in arizona clearing brush with a chainsaw and 6 pound machete. nobody gave me a job that didn't make me do that, so now i'm big and sweaty and can pull trees out of the ground. for the first year and a half, the other employees had a good laugh at me being different from them, so i had to buy my own work supplies because eg. daniel would cook my chain when i wasn't there.

i only work part time because its a miserable bloody life.

but yes, expensive bloody tires for that car. i work part time, already killing me. someone killed my AC so in summer it hits 94 inside the house.

i sit (lay) here broke, hotter than balls, unable to afford a freaking $100 cheapo laptop year after year, exhausted on my days off (94 recuperation, not so good).

tbh next $300 (2021) i'm buying a ps4 and dreams and that will be the end of vst, but $300 is a lot of money when every penny you make is used to keep the things that your mother owned so they don't go to the landfill in some godforsaken piece of crap desert far away from the land of poetry and song.



i'm fifty years old, and my dsp chops aren't crap holmes. i'm a resource for you,

or i'm not.
you come and go, you come and go. amitabha neither a follower nor a leader be tagore "where roads are made i lose my way" where there is certainty, consideration is absent.

Post

and here's the next post,

i never use capitalisation because i only have so much finger in my life.

i can only do so much coding holmes.

and you need to check it. how many things didn't you think of? how many times has xoxos made what no one else did?

maybe that's outside of your concern but its bloody obvious to anyone concerned with aural creativity and you can say "wealth".

people don't think the same.
you come and go, you come and go. amitabha neither a follower nor a leader be tagore "where roads are made i lose my way" where there is certainty, consideration is absent.

Post

Benutzername wrote: Fri Jul 24, 2020 2:04 pm
DJ Warmonger wrote: Fri Jul 24, 2020 1:41 pm
It is really nice to track changes just by watching the changed file listing and the comments. Also the diffs are usually very easy to read if they only have a few lines here and then. Digging through dozens of diff entries in huge undocumented source files to find a regression can be an absolute nightmare.
Wow, you're talking about this as it was some arcane magic :v
It is for a lot of people if I look at this thread.
I think most people here are single-programmer developers. I've tried version control and it just doesn't work for little ol' me. Doesn't stop Xcode from making changes on its own... :x :lol:

I just back up often, especially before any structural changes. If there were more of me programming away, then VC might have some value. To be honest, I diffed once. Didn't see the joy in it, but then, I know my code pretty intimately.

As for "huge undocumented source files", someone is going to get their fingers chopped off one by one until they start documenting properly... (I have a couple of constants that I didn't document how they were derived... Goodbye, left pinky... :cry: )
I started on Logic 5 with a PowerBook G4 550Mhz. I now have a MacBook Air M1 and it's ~165x faster! So, why is my music not proportionally better? :(

Post

why does an app have to be commercial to have value or pertinence or whatever you're trying to indicate?
I mean, companies who sell commercial products are more efficient and better organized. In the software world, it's essential to create readable and maintenable code, test is, share it with colleagues and use third-party libraries and SDKs to cut delivery times.
Or just save your own time to get a coffee ;)

If you can deliver twice as much is the same time, you're likely to get paid twice as much as the other developer.

...while, in this thread I got a feeling that people discard all good programming practices and are reinventing the wheel just to make their own wheel, which is hexagonal for the sake of it. Or, they never saw a wheel before.

In the company boss doesn't care how awesome you are in person, but how the project is delivered and if it can carry on without you as well. Efficiency > arrogance.
Blog ------------- YouTube channel
Tricky-Loops wrote: (...)someone like Armin van Buuren who claims to make a track in half an hour and all his songs sound somewhat boring(...)

Post

syntonica wrote: Sat Jul 18, 2020 8:21 pm
quikquak wrote: Sat Jul 18, 2020 6:36 pm It takes time to type 70000 lines of code, more time means more pay! :D
Winning.
I'm supposed to get paid? :dog:
I was talking about VST3 and how it (may have) became so big. So it was only a joke, sorry 'bout that. :hihi:

Post

DJ Warmonger wrote: Fri Jul 24, 2020 5:52 pm I mean, companies who sell commercial products are more efficient and better organized.
:lol: :lol: :lol: :lol: :lol:
Sorry. Having worked in large and small corporations for 20 years, this is generally not true.
I started on Logic 5 with a PowerBook G4 550Mhz. I now have a MacBook Air M1 and it's ~165x faster! So, why is my music not proportionally better? :(

Post

quikquak wrote: Fri Jul 24, 2020 7:11 pm
syntonica wrote: Sat Jul 18, 2020 8:21 pm
quikquak wrote: Sat Jul 18, 2020 6:36 pm It takes time to type 70000 lines of code, more time means more pay! :D
Winning.
I'm supposed to get paid? :dog:
I was talking about VST3 and how it (may have) became so big. So it was only a joke, sorry 'bout that. :hihi:
I still wanna know: Where do I sign up to get paid? I (and my paste button) can churn out tons of code!
I started on Logic 5 with a PowerBook G4 550Mhz. I now have a MacBook Air M1 and it's ~165x faster! So, why is my music not proportionally better? :(

Post

syntonica wrote: Fri Jul 24, 2020 7:53 pm
DJ Warmonger wrote: Fri Jul 24, 2020 5:52 pm I mean, companies who sell commercial products are more efficient and better organized.
:lol: :lol: :lol: :lol: :lol:
Sorry. Having worked in large and small corporations for 20 years, this is generally not true.
20 years? Maybe. From my perspective so far the job is all about fixing poor code, replacing dysfunctional architecture and systems from the past. Then, adding some sort of project management (i.e Scrum) in place of chaos and wishful thinking. Because companies who do shit cannot attract or simply cannot afford good developers.
Blog ------------- YouTube channel
Tricky-Loops wrote: (...)someone like Armin van Buuren who claims to make a track in half an hour and all his songs sound somewhat boring(...)

Post

i was just doin stuf an stuf and it occured to me that spectacular reverbs are super easy peasy like,

but now i have to tell my idea for everyone because if i did it, no one would use it because they can't buy it from me. so i can see how your way, everybody wins.

okay. i don't even use convolution reverbs but here. easy! point sample your geometric room model from transmitter to receiver. do this for each ear receiver there there. each points distance yields one time coefficient and one gain coefficient (0 to -1). we are building an impulse. add gain coefficient to the array sample at (int)time.

also add positive values for direct distance, which can also be geometrically distributed.

congratulations! you have made a crappy impulse. now cepstral process for the spectral contour and you have one lit pair of geometric impulses modeling near reflection which encodes the transmitter position as well. convolve for material. this might seem like "okay near reflections are only half the battle, joe" but for calcs that can be performed invisibly at a low rate you have a model that provides accurate motion. since the tail can be produced by similar or dissimilar methods in the spectral domain it oughta be fun and about the same as any convolution reverb to run. maybe there's one already that you professionals have made that i wouldn't know how to afford.

but as said, not coding so thought i'd share.

also one of those things since i never keep track of kvr, frequency dependent transmission in air was always such a mysterious subject back when i used to hag around, "you know something is up but look around and its hard to find.." and after studying ultrasonic beam propogation i am astounded that its all right there in that field humans are enthused about. air is highly nonlinear, only roughly linear at human freqs. wha hapen above teh ting mak teh jaw hag ope!

ejoy you dsk


edit gotta build it now, realised that even if using a 2d model, ground reflectivity from source can be easily added if height is specified. and this concept of point modeling then contour deriving can be used to develop all sorts of physical/resonant modeling applications with i anticipate quite lovely results :) finally i can do teh horn. fourier processing for smoothing is probably a better way to say it than cepstral tho same brickwall. omg its a hole noo form of synthesis for me to play with. sorry everyone else you'll have to wait for someone who works for a professional company.
Last edited by xoxos on Tue Jul 28, 2020 2:03 am, edited 1 time in total.
you come and go, you come and go. amitabha neither a follower nor a leader be tagore "where roads are made i lose my way" where there is certainty, consideration is absent.

Post

but big companies? noooo... it took me about fifteen minutes to mull, half an hour to type, and i'd anticipate two to four hours to build (using superficial geometry). because i'm not touching a keyboard without weed. it takes big companies to drive each other and everybody else mad. mad.
you come and go, you come and go. amitabha neither a follower nor a leader be tagore "where roads are made i lose my way" where there is certainty, consideration is absent.

Post Reply

Return to “DSP and Plugin Development”