Where to get started?

This forum is for developers of Rack Extensions to discuss the RE SDK, share code, and offer tips to other developers.
User avatar
killhamster
Posts: 4
Joined: 02 Aug 2019

Post 24 Jan 2021

I'm teaching myself to code (mostly Python and JS) and for a long time have been interested in making some sort of audio apps or plugins, but it's always felt over my head. Eventually I'll just have to bite the bullet and go for it, but I'm not sure what I'll need to learn. It looks like I'll need to learn some Lua scripting and C++, and to understand DSP, but is that pretty much it? The RS developer site seems to have plenty of resources, I just want to make sure I don't miss anything if/when I do get started.

User avatar
pongasoft
RE Developer
Posts: 289
Joined: 21 Apr 2016
Location: Las Vegas

Post 25 Jan 2021

"learn some Lua scripting and C++, and to understand DSP"... that is already a pretty tall order :)

That being said, learning the ropes of RE development is no small feat either. I actually do not think that the RE developer site has enough resources to learn. It is mostly a reference site that does not really explain anything. The SDK comes with a few samples to get you started, but they are not tutorials, meaning they don't explain how things work step by step. I also believe that the SDK is not developer friendly. Just try to add a button and you quickly realize that you need to touch 5 definition files just to add the button, before you can implement the logic of what the button does... Even when you know and understand how it works, it is time consuming and error prone. In other words, the RE learning curve is really steep (even for somebody who knows Lua/C++/DSP...)

User avatar
killhamster
Posts: 4
Joined: 02 Aug 2019

Post 26 Jan 2021

Oof, sounds like I'm in for quite a ride then. This is, at least, sort of a long term goal and nothing I expect to get done quickly.

User avatar
Enlightenspeed
RE Developer
Posts: 639
Joined: 03 Jan 2019

Post 27 Jan 2021

killhamster wrote:
24 Jan 2021
The RS developer site seems to have plenty of resources,
The SDK docs are just that: SDK docs. They deal with a few specific utility commands that you need in order to communicate with Reason, and also give you some general pointers.

There's plenty of books to get more info on this, but I'd recommend starting with something that gives you some exercises in C/C++. Check out The Audio Programming Book, by Richard Boulanger, (MIT Press)

https://www.amazon.co.uk/Audio-Programm ... 0262014467

Truth be told, it's not for beginners, and assumes a fair bit of coding understanding, but will still teach you what you need to know of C++ to start getting acquainted. You'll recognize that the syntax in C/C++ is not at all like JavaScript for HTML but not so far away from webapp JS and quite like Python in many ways, although Python is far more syntactically light. All that said, the general concepts are the same, fors, ifs, arrays etc.

The RE format itself is arguably even less suitable for beginners - the tools for learning are certainly there in the sample devices, but they aren't tailored for the beginner, they are aimed at properly resourced plugin companies who know how to go in on the prowl for something they want to know. Part of the problem for a newcomer is that they are very sparsely commented, so if you aren't up to speed with reading and analyzing code then it's going to be an uphill struggle to start off with- this will improve with time and patience, though.

It's difficult, but in life there is a heck of a lot to be said for just pulling your finger out and getting on with it, and the sooner the better :)

Hope this helps,
Brian

  • Information
  • Who is online

    Users browsing this forum: CommonCrawl [Bot] and 0 guests