Learn Exporting to the C++ Source Code Target

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

The C++ Source Code Target Introduction

Exporting to 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

Exporting to the C++ Source Code Target

The C++ Source Code is available from the Target Export Sidebar. It allows you to export your RNBO~ project as C++ source code.

Exporting C++ Source Code

To prepare your rnbo~ to export as to C++ Source code , click the Export Sidebar Icon. Under External Export double-click the C++ Source Code Export option.

Screen Shot 2022-07-29 at 8.14.14 PM.png

When you are ready to export, click on the Export to Selected Target button on the bottom right.

If your code successfully exports, you will be able to see your source code in the location defined by the Output Directory option.

Configuration

The configuration window provides various configuration options related to the export.

Output Directory Click Choose to save your Max external to your preferred location.

Export Name External Name allows you to create a name for your C++ Source Code. The name is rnbo_source.cpp by default.

Copy Sample Dependencies Checking the Copy Sample Dependencies box creates a media folder to the Output directory on export. This folder contains the media referenced in RNBO's sample dependencies.

Codegen: Polyphony Voice Settings:

  • Linked Exports the number of voices set from the rnbo~ object with the @polyphony attribute . Uncheck if you want to export a different polyphony count than specified in the @polyphony attribute in the rnbo~ object.
  • Disabled Disables polyphony for the code generated from this export.
  • Voice Count Sets the desired maximum voice count for simple polyphony.

Note : Enabling Polyphony also enables automatic voice management via MIDI note on/off pairs.

Codegen: Expose per Voice Params Enable if you want to modulate the params of individual voices separately instead of as a group.

Codegen: Classname Provide a static variable classname for your C++ source code export.

Open Export Directory Open a file dialog and navigate to the code export directory once the export is complete