Learn Max Projects and RNBO

Getting Started

Welcome to RNBO

Quickstart

RNBO Basics

Key Differences

Why We Made RNBO

Coding Resources

Fundamentals

Audio IO

Messages to rnbo~

Using Parameters

MIDI in RNBO

Messages and Ports

Polyphony and Voice Control

Audio Files in RNBO

Using Buffers

Using the FFT

Export Targets

Export Targets Overview

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

Code Export

Working with JavaScript
Working with C++

Special Topics

Sample Accurate Patching
Scala and Custom Tuning

RNBO and Max for Live

RNBO Raspberry Pi OSCQuery Runner

Metadata

Export Description

Raspberry Pi GPIO

Updating the RNBO Package

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-project.png

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.

rainstick-dependency.png

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.

export-in-project.png

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

export-directories.png

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.

max-external-export.png