Learn Max Projects and RNBO

Getting Started

Welcome to RNBO


RNBO Basics

Key Differences

Why We Made RNBO


Audio IO

Messages to rnbo~

Using Parameters


Messages and Ports

Polyphony and Voice Control

Audio Files in RNBO

Using Buffers

Using the FFT

Export Targets

Export Targets Overview

Max External Target
Raspberry Pi Target
The Web Export Target
The C++ Source Code Target

Code Export

Working with JavaScript
Working with C++

Max Projects and RNBO

Organize your Max and RNBO patches with a Max Project.

Since Max 6, it's been possible to organize a collection of Max patches and other resources into a Max Project. Compared to a patcher, a project makes it easier to visualize and collect all of the different files and resources that a Max patcher might depend on. Just like a Max patcher, a RNBO patcher may depend on different files, including audio samples and RNBO abstractions. This document describes the major changes to Max projects that came with the release of RNBO.

RNBO Abstractions

You can create a .rnbopat file by saving a RNBO patch as a RNBO Abstraction. Just like Max patches, you can add a RNBO abstraction to a project by dragging and dropping the file into the project browser.


RNBO abstractions are organized under the same section as Max patches, but with a different color. You can drag and drop these into any Max patch or RNBO patch to create an abstraction. Of course, when you add RNBO abstractions to a Max project like this, the abstraction will be included in the project search path. This can be a convenient way to use an abstraction in the context of a specific project, without having to modify the search path of the entire Max application.

If a RNBO abstraction has file dependencies, perhaps because it includes a buffer~ object with an @file attribute, then the project will list those implicit dependencies as well. This lets you use the "Consolidate" project option to collect file dependencies from RNBO abstractions.


Exporting and Naming

When you export a RNBO patch, you'll typically need to provide an export destination as well as a name for the exported file. When working inside a project, Max will create a default directory called /export inside the project folder.


If you export to multiple targets, these will all be placed in their own subfolder.


Hopefully, this will make it easier to keep your RNBO exports organized.

Using your Export in your Max Project

The /export folder is a special project folder, so Max won't automatically relocate any files that end up inside that folder. However, Max won't automatically add any of these files to the project search path either. Suppose you have a RNBO patch that you're exporting as a Max external, and you want to use that external in your Max project. The most convenient thing to do is probably to export your Max external into your project, drag the exported external into the project, then use the external as you would normally.