Indeed. And before I add to @Reco29 ‘s fantastic post here, I just wanted to say how great it is that we have folks like Reco29 who takes all this time to compile this information!! There’s some rough patches in the forum (myself included) but what a great place to share ideas.
The reason I’m posting here is two-fold: One, I wanted to again share my MacOS-based auto-backup routine (posted after this) because it’s just wonderful to have all your config files in one place with backups through time.
So, what had happened was….
I updated my Fireface UFX from the kext extension to the Driver Kit bits (Maybe someone at RME can show UAD devs how to do it
) and everything was great. However, the GUID (not really a quid, but the interface ID) changed, and all my meticulous renaming of 150+ channels was gone, as well as my Input and Output connections. Bummer. So I just grabbed my backups of Port Setup.XML and RAMPresets.XML and verified what the old GUID was, opened the current Port Setup.XML and RAMPresets.XML files, cleared out the section with the new GUID, and did a Search/Replace of the old GUID with the new GUID, opened Nuendo again, and BOOM - everything was perfect again with the updated GUID - all custom names were back and the I/O connections were automatically reestablished. Thing of beauty.
Yes, you can use TimeMachine on the Mac for this (which I do) but this way is also nice. Just go into Automator, create a new app, create a Run Shell Script node, and paste this. You’ll need to change your USERNAME and if you don’t want your presets saved as well (I do) then you can remove the presets section.
#!/bin/bash
set -euo pipefail
USER="/Users/USERNAMEHERE"
SOURCE1="${USER}/Library/Preferences/Nuendo 14"
SOURCE2="${USER}/Library/Preferences/Cubase 14"
# Preset roots (under ~/Library so we can store relative paths cleanly)
PRESET_ROOT="${USER}/Library"
PRESET_DIRS=(
"Audio/Presets"
"Application Support/Steinberg/Track Presets"
)
DEST="${USER}/Documents/Music/Configurations/Preferences"
mkdir -p "$DEST"
TIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S")
HOSTNAME=$(scutil --get LocalHostName)
Zip1="${HOSTNAME}_N14_${TIMESTAMP}.zip"
Zip2="${HOSTNAME}_C14_${TIMESTAMP}.zip"
Zip3="${HOSTNAME}_Presets_${TIMESTAMP}.zip"
zip_dir_if_exists () {
local src_dir="$1"
local out_zip="$2"
if [ -d "$src_dir" ]; then
( cd "$src_dir" && zip -r -q "$DEST/$out_zip" ./* )
fi
}
# Nuendo prefs
zip_dir_if_exists "$SOURCE1" "$Zip1"
# Cubase prefs
zip_dir_if_exists "$SOURCE2" "$Zip2"
# Presets (zip relative to ~/Library so paths inside the zip are clean)
existing_presets=()
for rel in "${PRESET_DIRS[@]}"; do
if [ -d "${PRESET_ROOT}/${rel}" ]; then
existing_presets+=("$rel")
fi
done
if [ "${#existing_presets[@]}" -gt 0 ]; then
(
cd "$PRESET_ROOT"
zip -r -q "$DEST/$Zip3" "${existing_presets[@]}"
)
fi
Just passing this along because I’ve seen really frustrated folks who have lost the config from hundreds of channels and not had an easy way to get their data back and quickly recover their ability to work.
Cheers.
EDIT: One may consider just adding the app you create to your Open at Logon items, so that every time you login it automatically saves it.