RNBO 1.3.2 Released

Ben Bracken's icon

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

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 and parameter entries and save/restore them with your sets. This now allows for some OSC and MIDI mapping, more details below. Look at the Actions menu to the right of parameter and port 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 called initial 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