Fundamentals
Export Targets
Code Export
Patcher UI
Special Topics
RNBO Raspberry Pi OSCQuery Runner
Coding Resources
If you're new to coding, here's a collection of some helpful resources to get started.
Web Export
The JavaScript export target lets you run RNBO exports in the browser. If you've never done any web development before, there can be a bit of a learning curve, but there's lots of great resources out there to get familiar with the basics. The export template is also a good starting point, specific to working with RNBO.
Tasks
At a high level, these are some of the tasks you should be comfortable with if you want to use RNBO web export as part of your web development workflow.
- Navigating a file system using the command line
- Downloading a git repository
- Creating a Node project and installing packages with npm
- Running a local, static web server
- Using your web browser's developer tools
- Loading JavaScript into an HTML webpage
- Using
fetch
to asynchronously load remote resources - Connecting an audio graph using the Web Audio API
Tutorials
- Web Basics https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web
- JavaScript https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/JavaScript_basics
- Working with git https://git-scm.com/docs/gittutorial
- Using the command line https://www.freecodecamp.org/news/command-line-for-beginners/
- Web Audio API https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Using_Web_Audio_API
- Developer Tools https://developer.mozilla.org/en-US/docs/Learn/Common_questions/Tools_and_setup/What_are_browser_developer_tools
Tools
- Node https://nodejs.org/en
- npm https://www.npmjs.com/
- webpack https://webpack.js.org/
- git https://github.com/
- VSCode https://code.visualstudio.com/
- WebAssembly https://webassembly.org/
- npx https://docs.npmjs.com/cli/v8/commands/npx
- Netlify https://app.netlify.com/start
Plugin/Standalone Development
The C++ export target generates a bundle of code that you can incorporate into your own application, whether you're creating an audio plugin or a standalone application. The following resources are useful guides to the most important technologies used in RNBO C++ export. In addition, this JUCE template is a good starting point for applications built using the JUCE framework.
Tasks
These are some of the basic, routine tasks that you'll be doing as you work with RNBO in the context of development with C++.
- Navigating a file system using the command line
- Downloading a repository with git
- Modifying a project's CMakeLists.txt files to configure the way it's built
- Compiling a program using make, Ninja, or some other build tool
- Debugging a program by attaching to it, either after launch or as the program is run
Tutorials
- Working with C++ https://www.w3schools.com/cpp/
- JUCE https://juce.com/learn/tutorials/
- Working with git https://git-scm.com/docs/gittutorial
- Debugging with VSCode https://code.visualstudio.com/docs/editor/debugging
- Using the command line https://www.freecodecamp.org/news/command-line-for-beginners/
Tools
- Homebrew (on Mac) https://brew.sh/
- Xcode https://developer.apple.com/xcode/
- Visual Studio https://visualstudio.microsoft.com/
- CMake https://cmake.org/
- Ninja https://ninja-build.org/