RNBO 1.3.2 Released
We are excited to announce the release of RNBO 1.3.2, now available for download via the Max Package Manager.
This update is focused on improvements to the Raspberry Pi Runner and the Runner Web Interface. We’ve added a number of new features related to Parameter display, Patcher / Set / Preset / Sample management, MIDI mapping, metadata refinements, general UI tweaks, and quite a bit more.
For an overview of the Raspberry Pi Target:
https://rnbo.cycling74.com/learn/raspberry-pi-target-overview
For an overview of the Raspberry Pi Web Interface:
https://rnbo.cycling74.com/learn/raspberry-pi-web-interface-guide
To upgrade your Raspberry Pi system:
https://rnbo.cycling74.com/learn/raspberry-pi-setup#upgrading-your-system
Be sure to take a look at the full change log (also posted below):
https://cycling74.com/releases/rnbo/1.3.2
Overview of New Features
Sample Dependency Management - There is now a new view that lets you upload audio files to and delete audio files from your pi from the Web Interface.
Audio Off Indication - The Web Interface no longer says that it has failed to connect when your audio is simply off, there is a nicer indicator and some notes about how to turn your audio back on.
Web Interface UI Tweaks - We've sorted the patcher names in the Patchers view (which used to be + Add Patcher Instance), made the Patcher view scrollable in case you have many patchers, added offset highlight colors for nodes in the graph, and improved the UX for preset and set selection by using buttons as the main call to action and hiding the additional actions in a simple dropdown menu.
Last Preset and Set loaded Indication - There is now a little clock icon in both preset views and the set view that indicate the last entry that you've loaded.
Initial Preset Setting and Indication - The patcher instance preset view now has a way to set the "initial" preset that should be loaded when you start an instance while adding it to a set. This is indicated by "Load on Startup" and a star icon on the item that should do that.
Dynamic Metadata - You can now alter metadata associated with
inport
,outport
andparameter
entries and save/restore them with your sets. This now allows for someOSC
andMIDI
mapping, more details below. Look at the Actions menu to the right ofparameter
andport
entries in the Web Interface to get to the editor. Read more about using Metadata here:https://rnbo.cycling74.com/learn/metadata
NOTE - There is no prompt to indicate that you've altered a set so make sure you save your set if you've created meta data changes that you want to restore later.
MIDI Mapping - The runner has been updated to parse
parameter
meta
entries and map MIDI control signals to normalized parameter values. The Web Interface now has a MIDI Map toggle that helps automate that mapping, simply enable MIDI Map, touch a parameter then send a MIDI message to your patcher instance to make a mapping. We currently support mapping: control change, note, key pressure, pitch bend, channel pressure and program change messages.NOTE - Make sure your patcher instance is connected to some MIDI generating source in the graph. As noted with Dynamic Metadata above, remember to save your set after altering these settings if you want to restore them later.
Parameter Sort and Search - The Web Interface now has sort and search available in the Parameters tab. You can sort by name or display order.
Set Save & Overwrite - The Action menu to the right of each set in your saved sets now has a prompt to either Save if it is the last loaded set or overwrite.
Virtual MIDI Keyboard - The virtual MIDI keyboard in the Web Interface is now a modal instead of a tab, you can launch it from anywhere in the patcher instance editor.
CPU Meter & Runner Info - The Web Interface now has a CPU meter in the top right that provides a best estimate of the DSP load for your graph. The info popup just next to it also gives an
xrun
count and a version number for your runner.NOTE - We use jack2 for our audio back-end. Jack2 is multicore aware and can parallelize some operations, the CPU meter can give you some clues about this. For instance adding a 2nd reverb into your graph in parallel to another might not add as much DSP load as you'd expect.
Patcher Rename & Delete - You can now rename and delete patchers from the Web Interface, check the Actions menu to the right of each patcher in the Patchers pane available in the graph editor.
NOTE - It is okay to rename a patcher that is used in a set, the set will be updated, but there is no safeguard against deleting a patcher that is used in a set.
Set MIDI Port Naming - The runner now uses a more verbose name for system MIDI inputs and outputs when saving connection information which should more accurately identify your MIDI hardware when loading a saved set later.
Simplified Local OSC Listener Message - If you're adding a listener that should send to a port on the same device that the runner is running on, you can simply provide the port number as either a string or an integer and omit the
127.0.0.1:
prefix.Buffer Mapping - There is a new tab in the Patcher Instances view called Buffers that lets you map audio files that exist on your pi (in
~/Documents/rnbo/datafiles/
) to buffers that exist in your patch. These mappings are also stored with presets so if you change a mapping, store a preset, then change the mapping and load that preset, you'll restore the mapping that was loaded at the time you captured the preset.Set Presets - The Web interface now has a Presets button in the graph editor view that lets you capture the state of all of the parameters and buffer mappings in your entire graph, and later restore them. There is a preset named
initial
that is automatically created when you save your set and will be loaded automatically when you load your set. You can feel free to change parameter settings and save a new preset calledinitial
to overwrite this preset and in turn have different settings loaded on set load.Clear Graph Button - If you look at the bottom of the Graph Sets pane in the web interface, there is a new button
Clear Set
. This simply clears out the current graph, giving you a clean slate to work with, but doesn't alter any of your existing saved Sets.MIDI Program Change Updates - If you go to the Control tab in the settings of the web interface, you can see there are now settings to use program change to change the loaded Set and Set Preset. Note you must have the device that issues these program changes connected to the
rnbo-control
node in your graph to make this work.Jack Extra Args - Both the rnbo export sidebar and the Audio tab in the settings of the web interface, allow you to specify extra arguments that are provided when rnbo creates its jack server. This can be useful for audio interfaces that don't seem to play nicely with just the sample rate, num periods and period frames args that we provide. For instance, I am able to use the built in
Headphone
output of the raspberry pi 4 by providing the extra args:-o 2 -i 0
. You can find many Jack configuration options here.Preset Rename - You can now rename both patcher and set presets. This is now extra useful because the alphabetical sorted index of your preset maps to the MIDI program number that you can use to load them if you have that set up. FYI your
initial
preset is always mapped to program 0.
New Features
Raspberry Pi Runner: audio file count is published and UI is updated
Raspberry Pi Runner: buffer mappings stored with presets
Raspberry Pi Runner: Dynamic metadata for param/inport/outport stored with instances in sets
Raspberry Pi Runner: Jack "extra" support (allows for rpi-4 headphone output)
Raspberry Pi Runner: Program change to swap sets and set presets
Raspberry Pi Runner: Set Presets
Raspberry PI Runner: simplified local listener add/delete messages
Raspberry Pi Runner/Web Interface: MIDI Mapping
RNBO Runner: sets/presets/loaded not sent until all instance presets are actually loaded
rnbo.remote: graph set save, load, rename, destroy
rnbo.remote: patcher rename support
rnbo.remote: patcher_names status output, sent when new patcher is added or existing patcher is updated
rnbo~: programmatic export to a Raspberry Pi runner instance
Runner Web Interface: Audio File Upload, File List and File Delete
Runner Web Interface: Clear graph button
Runner Web Interface: Display “initial” preset for instances
Runner Web Interface: Display last loaded set, preset, set preset
Runner Web Interface: DSP CPU Meter
Runner Web Interface: Edit dynamic metadata
Runner Web Interface: General UI Tweaks and Improvements
Runner Web Interface: Parameter sort options and Parameter search
Runner Web Interface: Preset Rename and Patcher Rename/Destroy
Runner Web Interface: Sample mapping for Patcher Instances
Runner Web Interface: Set Save and Overwrite from Set Item (ease of use)
Runner Web Interface: Support for flac, mp3, and ogg audio files
Fixed Bugs
feedback~: works with input from matrix~
Raspberry Pi Runner: audio files are not sent if they already exist on device
Target Export: settings are saved for each top-level rnbo~ object