Plug-ins, Hosts, Apps,
Hardware, Soundware
Developers
(Brands)
Videos Groups
Whats's in?
Banks & Patches
Download & Upload
Music Search
KVR
   
KVR Forum » DSP and Plug-in Development
Thread Read
Which should I relearn
Goto page Previous  1, 2

What would experienced developers recommend ?
C - that new fangled C++ just adds complication and overhead
0%
 0%  [0]
C++ - there's so much benefit to be gained, and C is too clunky
100%
 100%  [19]
Total Votes : 19

AdmiralQuality
KVRAF
- profile
- pm
- e-mail
- www
PostPosted: Fri May 11, 2012 1:04 pm reply with quote
koalaboy wrote:
With the outcome being pretty unanimous from the start, I've decide C++ does make sense, for all the reasons everyone is stating.

I already have a few books (oh, if my wife could talk about how many programming books I own), and have started working through 'Accelerated C++', with 'Effective C++' to follow. I've also ordered a few more including 'The C++ Standard Library' by Nicolai Josuttis (the latest version seems to include C++11) and 'Effective STL' again by Scott Meyers. I've also got my eyes on the range of Herb Sutter books for the future Wink

(Is BAS the literary equivalent of GAS ?)

Admittedly, my first experiments will likely be around OpenGL, but I intend to delve into audio once I feel a bit more confident. I'd like to be able to write a simple app that programatically sends notes/automation to a chosen VST and outputs via ASIO - sort of like SaviHost but with the ability to script a note sequence. Once I reach that point, I think I'm safe to jump off in all sorts of directions.

I may look at QT for cross-platform interface, or JUCE for something a bit more focused. I don't know.

Feel free to keep C++ advice coming in, as I'm taking notes and doing my best to avoid bad practices, and thanks again for all the thoughts.


I'd take a look at JUCE if I were you. It'll instantly create templates for audio plug-ins or hosts, making your job much easier. Also it's written in C++, the entire source is available, and it doesn't tend to over-complicate things, so it makes a good reference to see how different things can be accomplished in C++. Cross platform too, which is otherwise a very ugly can of worms. Just look at the current state of platform schism; Win VST, Win x64 VST, OSX VST, OSX x64 VST, OSX AU, OSX x64 AU. That's the MINIMUM platforms that are expected for a plug-in these days. JUCE will take all that off that your hands and let you concentrate on the code that actually does the work. The "business logic".

RTAS too, if you can get them to answer your request for developer status. Mad

I just wish it did 64 bit samples. Not yet. All samples in JUCE are currently "hard wired" as 32 bit floats. Sad
^ Joined: 10 Oct 2005  Member: #83902  Location: Toronto, Canada
kuniklo
KVRAF
- profile
- pm
- www
PostPosted: Fri May 11, 2012 3:36 pm reply with quote
I'd recommend you avoid any C++ books written before the C++11 standard. A lot of their advice will be non-idiomatic or outright wrong.

For example, Effective C++ used to be the first book I'd recommend to anybody but until Meyers updates it I'd advise against it.
^ Joined: 28 Jan 2004  Member: #12072  Location: Nha Trang, Vietnam
koalaboy
KVRAF
- profile
- pm
PostPosted: Sat May 12, 2012 12:35 am reply with quote
AdmiralQuality wrote:
I'd take a look at JUCE if I were you. It'll instantly create templates for audio plug-ins or hosts, making your job much easier. Also it's written in C++, the entire source is available, and it doesn't tend to over-complicate things, so it makes a good reference to see how different things can be accomplished in C++. Cross platform too, which is otherwise a very ugly can of worms. Just look at the current state of platform schism; Win VST, Win x64 VST, OSX VST, OSX x64 VST, OSX AU, OSX x64 AU. That's the MINIMUM platforms that are expected for a plug-in these days. JUCE will take all that off that your hands and let you concentrate on the code that actually does the work. The "business logic".


I've had a quick (...) look at it, which took longer than expected because it's aimed at Visual Studio on Windows, and doesn't play quite as nicely with Code::Blocks - and also doesn't seem to compile at all on Mingw, but then I was lost by the 3rd error. I need to start on something much smaller, that lets me just hook into the minimal aspect at a time.

I'm also not so worried about just the 'business logic' as I need to understand how the rest works - that's just the way I am, and the main reason I dislike frameworks and large libraries. I really can't work with too much 'black magic' - Visual Studio is a great example of this. I need to start from first principles, and work all the way up.

But then, I'm not running to a timescales, or trying to write software to make a living - I'm coding for fun Very Happy

kuniklo wrote:
For example, Effective C++ used to be the first book I'd recommend to anybody but until Meyers updates it I'd advise against it.


I'm not entirely sure that's fair - I know what you're saying, but I already know OOP and architecture, and whilst there are obviously a fair few idiomatic changes in 11, I'm not convinced most of them will render the 'old' way wrong, per se. Just not preferred. Let's see how many compilers actually support it all, for a start Wink

Also, as I'm only writing for myself, I don't need to be academically accurate, and I need to be able to read and integrate with 'old' C++, probably for a long time.

Having said that, I do have some books relevant to C++11, and will obviously be using things like nullptr (quick glance suggests this) and other beneficial aspects wherever possible. I likely won't use ranged for loops as much as some people (I don't use them in Java a lot of the time - they're slower) and I will certainly be doing my best over time to learn the new options.

One should never discard history as being outdated or irrelevant - there's far more wisdom within it than new ideas, and it's the foundation on which everything is built Cool

Thank you again, for your thoughts and opinions.
^ Joined: 18 Mar 2006  Member: #102023  Location: Plymouth, UK
cerberus
KVRist
- profile
- pm
- www
PostPosted: Sat Jun 16, 2012 11:05 am reply with quote
koalaboy wrote:
AdmiralQuality wrote:
I'd take a look at JUCE if I were you.

I need to start on something much smaller, that lets me just hook into the minimal aspect at a time.

have you looked into cockos iplug? it also handles 64 bit samples (all your dsp as doubles), which Admiral Quality has mentioned.
----
enjoy volt
^ Joined: 22 Apr 2003  Member: #6844  
All times are GMT - 8 Hours

Printable version
Page 2 of 2
Goto page Previous  1, 2
Display posts from previous:   
ReplyNew TopicPrevious TopicNext Topic
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Username: Password:  
KVR Developer Challenge 2012