Patch Base 3: a Status Update

by Chadwick Wood
June 11th, 2018

It's been quiet on the Coffeeshopped website and email list for a few months now, but that's not due to a lack of activity: I've been working full-time on the next (big!) update of Patch Base: Version 3.

I didn't plan for the next release to be such a huge project; I released the Yamaha FS1R editor in the last update, and planned to do another synth editor next. But, for awhile something has bugged me: Patch Base works well as a patch editor, and a way to store a library of patches on your iPad. But beyond those functions, it's been lacking, particularly in the areas of patch bank management as well as support for performances/multi-timbral setups on the synthesizers that support them.

I felt this particularly with the FS1R. I've been using mine for music-making, and while the editor does a good job of creating new patches, it's a pain to manage a 4-part performance with it. That, and the effects section, I still have to program on the synth itself. So, I started some work on adding those features to Patch Base, and it quickly became clear that the structure of the app didn't work well for adding them. I didn't know exactly where to "put" the performance editor in the navigation, and it was causing all kinds of headaches in the code.

Also, if you're going to edit performances, then you really need to have bank management as well. The editor needs to know what the patches on your synth are in order to let you pick and choose performances out of them.

I'd felt these same pains before when I made the editors for the Roland JV-1080 and family. These synths support 16 different parts at the same time! I want to be able to edit all of those parts in the app... to switch between the parts for a tweak on this patch here, then that patch over there. The app allowed you to change which part you were editing, but it didn't allow you go back and forth quickly, with all patches stored in memory at the same time.

So, I decided the time had come, and the longer I put it off, the harder it would be: I needed to fundamentally restructure the code (and to some extent, the interface) of the app from the ground up. And considering the app code dates back to late 2014 (when I first made CZ Touch), there's a lot of code (tens of thousands of lines) involved in this undertaking. 

So, Where Are We Now?

I've come a long way. I've created a new foundation upon which all of the editors can stand, giving them all unlimited undo support, and a more intuitive file editing/saving process. And for many of them, I've already added patch bank management support, and performance support. Here's a summary of what to expect, and where I am in the process:

Unlimited Undo Support

The Undo button. (Followed by Fetch, Init, Randomize, Send, and Redo)

Every editor in Patch Base 3 will support unlimited undo and redo. So, whether it's a knob tweak that you want to undo, or if you randomized the whole patch and want to go back to the way it was before, you can do that with a tap or two. This will be available in the release of version 3 for all synths.

Patch Bank Management! (for some synths, so far)

The patch bank manager.

Patch Base 3 has a new side-panel that allows you to switch between a synth's patch editor and its other parts, like a bank manager, global settings, and performances. Patch Base can now become your one stop for all the data on your synth; not just patches. This also means you can download the entire patch bank from your synth to your iPad, load a new bank, and rearrange patches inside your banks. You can also pull a single patch out of a bank, edit it, then stick it back in. There's an easy drag-and-drop interface for moving patches around in banks, and to/from your iPad and synth.

Also, when editing a patch, you can still save it to a file on your iPad, but you can also save the patch straight to your synth's memory bank! Up to you.

The initial release of Patch Base 3 will support these features for the Waldorf Blofeld, and the Roland JV-1080, JV-2080, JV-1010,  XP-80, XP-60, XP-50, and XP-30. Possibly more. Those are just the ones that are finished! I'm working on the rest ASAP. 

Pick Up Where You Left Off, and Save When You Want

The file management and saving process has been updated in Patch Base 3. Now, every time you open an editor, it's already loaded with the patch that you were last working on. No more starting with a blank screen. And when you load a patch and make some edits, your original patch is untouched. You choose when you want to save your Patch, and decide if you want to save it as a new patch, or overwrite an old one.

Randomize/Initialize In-Place

The old Patch Base creates a new file every time you create a random or init patch. That can lead to a lot of unused random patch files that weren't interesting. Now, when you hit Random, it randomizes the current patch you're working on. Same with Init. And because you choose when you save, and you have unlimited undo, you can always go back to where you started.

A Few More Pictures

The new side panel for switching between editors and bank managers.

The new file manager, including tabs to load patches from saved patch banks, and to save/load directly from the synth.

The Multi-instrument (Performance) editor for the Waldorf Blofeld.

And of course, any editors you've already purchased will include these updates as soon as they're available. Patch Base 3 will be a free update.

If you have any thoughts or feedback on these updates, leave a comment! And if you have tried it yet, check out Patch Base in the App Store.