[go: up one dir, main page]

Skip to content

kevleyski/unify-batch

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Batch processing of Unify patch files

Unify is a combination plug-in/host which allows creating combination sounds using multiple plug-ins, which can be saved as presets for quick recall, either in other DAW projects or in live performance. This repo documents Unify's patch format, and provides some open-source batch processing utilities for generating or modifying patch files automatically.

Unify's patch files (file type ".unify") are basically XML files (with a binary header; see Unify patch structure), and there is nothing secret about the format. Hence these files are naturally amenable to being processed and even generated by programs. The code here provides some starting points.

There are currently two categories of programs here: batch-processing utilities and automatic unified library generators.

Batch-processing utilities

Utilities

The Utilities folder contains Python tools for simple things like stripping and re-forming the binary header of .unify files.

MetadataUpdater, LibraryRenamer

These are JUCE/C++ apps for changing metadata fields in patches--things like the patch name, author, tags and categories, etc. MetadataUpdater allows changing the simpler items. LibraryRenamer handles the much more intricate job of changing the library-name.

PatchReformer, PatchRenamer

When preparing "unified" patch libraries, it's common to begin by making one very simple Unify patch for each "source patch" (preset of the plug-in being unified), then, as a separate step, update all those simple patches to have a common structure with added effects and macro definitions. PatchReformer is a JUCE/C++ app for this second step. It "re-forms" a series of input patches, to conform to the structure of a single "reference patch".

PatchRenamer

Another common issue which arises in preparing "unified" libraries is ensuring that all the Unify patches have meaningful prefixes (e.g. "STR - ", "GTR - ", "BPM DRUM - ", etc.). This can be done manually, but in some cases there may be enough clues available in e.g. the patch name, category, or tags (which may have been captured automatically by other means) to do at least a partial first-pass automatically.

PatchRenamer is intended as a template for creating multiple JUCE/C++ apps to do this, customized on an ad-hoc basis for each specific situation.

Unified-library generators

"Unified" libraries are most commonly made using Unify itself, either fully manually, or using software tools like AutoHotKey for partial automation. For some plug-ins, a completely different approach is feasible: processing the plug-in's own preset files to generate corresponding .unify files. TAL Unifier is a template JUCE/C++ app for applying this approach for plug-ins from TAL Software GmbH.

VST2 Legacy SDK

vst-sdk_3.7.11_build-10_2024-04-22.zip https://www.steinberg.net/vst3sdk

https://web.archive.org/web/20181016150224/https://download.steinberg.net/sdk_downloads/vstsdk3610_11_06_2018_build_37.zip

About

Batch processing of Unify patch files

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 99.1%
  • Other 0.9%