Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Installing Masterpiece

This page lists every file a Masterpiece release offers, the systems each file runs on, what it installs and where, what happens at the first start, and how to update and remove the program. Use it to pick the right file for a computer, phone or tablet, to install it, and to find the plugins and the program’s data afterwards.

Release files

Each release on github.com/bonninr/masterpiece/releases carries the files below. <version> is the release number, for example 0.8.0. Every file name starts with masterpiece-<version>-.

FileSystemWhat it holds
masterpiece-<version>-windows-setup.exeWindows, 64-bitInstaller for the standalone program
masterpiece-<version>-windows.zipWindows, 64-bitThe program and the VST3 plugin as loose files
masterpiece-<version>-macos-arm64.zipmacOS, Apple siliconMasterpiece.app and the Audio Unit and VST3 plugins
masterpiece-<version>-macos-x86_64.zipmacOS, IntelMasterpiece.app and the Audio Unit and VST3 plugins
masterpiece-<version>-linux-x86_64.flatpakLinux, x86-64Flatpak bundle of the standalone program
masterpiece-<version>-linux-amd64.debDebian, Ubuntu and relatives, x86-64The program, the VST3 and LV2 plugins, the menu entry and the file types
masterpiece-<version>-linux-x86_64.tar.gzLinux, x86-64The program and the plugins as loose files
masterpiece-<version>-linux-arm64.debRaspberry Pi OS, 64-bitThe program, the menu entry and the file types
masterpiece-<version>-linux-armhf.debRaspberry Pi OS, 32-bitThe program, the menu entry and the file types
masterpiece-<version>-linux-arm64.tar.gzRaspberry Pi OS, 64-bitThe program as loose files
masterpiece-<version>-linux-armhf.tar.gzRaspberry Pi OS, 32-bitThe program as loose files
masterpiece-<version>-android.apkAndroidThe app
masterpiece-<version>-ios.ipaiPhone and iPadThe app, unsigned

The Raspberry Pi, Flatpak and mobile builds contain the standalone program only. The plugin formats are built for Windows, macOS and the Linux PC packages.

Download addresses

The addresses below on masterpieceorgan.com send the browser to the matching file of the latest release. When the latest release lacks the file, the address leads to the release page.

AddressFile
masterpieceorgan.com/download/windowswindows-setup.exe
masterpieceorgan.com/download/windows-zipwindows.zip
masterpieceorgan.com/download/macosmacos-arm64.zip
masterpieceorgan.com/download/macos-intelmacos-x86_64.zip
masterpieceorgan.com/download/linuxlinux-x86_64.flatpak
masterpieceorgan.com/download/linux-deblinux-amd64.deb
masterpieceorgan.com/download/linux-tarlinux-x86_64.tar.gz
masterpieceorgan.com/download/raspberry-pilinux-arm64.deb
masterpieceorgan.com/download/raspberry-pi-32linux-armhf.deb
masterpieceorgan.com/download/androidandroid.apk
masterpieceorgan.com/download/iosios.ipa

The two ARM .tar.gz archives have no short address. They are on the release page.

System requirements

SystemProcessorOperating system
Windowsx6464-bit Windows
macOS, Apple siliconApple siliconmacOS 11.0 or later
macOS, Intelx86-64macOS 10.15 or later; the build also runs under Rosetta on Apple silicon
Linux, .deb and .tar.gzx86-64A distribution whose C library is at least as new as Ubuntu 22.04’s, the build host; the packages are installed and checked in Debian 12 and Ubuntu 24.04 containers
Linux, Flatpakx86-64Any distribution with Flatpak; the bundle uses the freedesktop 24.08 runtime, which Flatpak installs when it is missing
Raspberry Pi, 64-bitARMv8-A (Pi 3 to Pi 5)Raspberry Pi OS, 64-bit
Raspberry Pi, 32-bitARMv7-A with NEON and VFPv4, hard-floatRaspberry Pi OS, 32-bit
Android64-bit ARM (arm64-v8a); x86-64 (x86_64) for the emulatorAndroid 8.0 (API level 26) or later
iPhone and iPad64-bit ARMiOS 15.0 or later

Notes:

  • The Windows program links the Visual C++ runtime statically. No redistributable package needs installing.
  • The .deb packages were tested in CI by installing them in Debian 12 and Ubuntu 24.04 containers, for all three architectures.
  • Android builds exist for 64-bit processors only. The build file gives the reason: a 32-bit device cannot hold a sample set worth playing.
  • Memory is set by the sample sets. The default limit for the samples of one organ is 80% of the computer’s memory, with a floor of 512 MB. See Memory, loading and streaming and Small, medium and large organs.

Processor features and the vector engine

The audio engine renders several samples at a time with the processor’s vector unit. It picks the unit once, when the program starts.

ProcessorVector unit used
x86-64 with AVX2AVX2
x86-64 lacking AVX2SSE2, present on every x86-64 processor; it renders four frames at a time
x86-64 build under Rosetta on Apple siliconSSE2, whatever the processor check reports
Apple silicon, Raspberry Pi (64- and 32-bit), Android and iOS on ARMNEON
Any other processorThe per-frame engine

The release builds target the baseline x86-64 instruction set and choose AVX2 at run time. A processor that lacks AVX2 runs the same program on the SSE2 path.

The box Faster audio engine on Settings > Organ settings… > Loading turns the vector engine on and off. It is on by default and takes effect at once. When on, the box reads Faster audio engine: using AVX2 (or SSE2, or NEON); on a processor that has none of them it reads Faster audio engine: not available on this processor. Setting the environment variable MASTERPIECE_SIMD=0 before starting the program forces the per-frame engine.

Windows

Installer

Run masterpiece-<version>-windows-setup.exe. The installer puts bin\Masterpiece.exe and Uninstall.exe into an install folder whose default name is Masterpiece, adds a Start menu entry in a folder that defaults to Masterpiece, adds an entry in Windows Apps & features, and registers the file types listed under File associations.

The installer installs Masterpiece.exe only. The VST3 plugin ships in the Windows zip.

The release workflow adds no code signature to the Windows files.

A silent installation, as used in the project’s own tests:

masterpiece-<version>-windows-setup.exe /S /D=C:\Path\To\Masterpiece

/D= has to be the last argument and takes no quotes. The silent uninstaller is Uninstall.exe /S in the install folder.

Zip

masterpiece-<version>-windows.zip runs from any folder and installs nothing. Extract it and start Masterpiece.exe. The archive also holds the VST3 plugin Masterpiece.vst3; copy it to a folder the DAW scans (see Plugins).

macOS

Download the zip for the processor: macos-arm64 for Apple silicon, macos-x86_64 for Intel. The zip unpacks to a folder Masterpiece that holds Masterpiece.app, Masterpiece.component (Audio Unit) and Masterpiece.vst3. Move Masterpiece.app to Applications.

The macOS builds are unsigned. At the first start macOS may report that Masterpiece “is damaged and can’t be opened”. Remove the quarantine flag and open the app from its context menu:

xattr -cr /Applications/Masterpiece.app

Then right-click Masterpiece.app and choose Open.

The Intel build runs on Apple silicon through Rosetta; it uses the SSE2 vector path there.

Linux

Flatpak

flatpak install --user ./masterpiece-<version>-linux-x86_64.flatpak
flatpak run io.github.bonninr.Masterpiece

The bundle runs on the freedesktop 24.08 runtime. Its permissions:

PermissionPurpose
--socket=x11, --share=ipcThe window; a Wayland session runs it through XWayland
--socket=pulseaudio, --filesystem=xdg-run/pipewire-0Sound through PulseAudio and PipeWire, and JACK through PipeWire’s socket
--device=allALSA audio and MIDI devices, such as USB MIDI consoles
--filesystem=home, /media, /run/media, /mntSample sets in the home folder, on a second disk or on a USB drive

A sample set elsewhere (for example under /data) needs the folder granted:

flatpak override --user --filesystem=/data io.github.bonninr.Masterpiece

The Flatpak contains no plugins.

Debian, Ubuntu and relatives (.deb)

sudo apt install ./masterpiece-<version>-linux-amd64.deb

The package is named masterpiece and installs:

PathContent
/usr/bin/masterpieceThe program
/usr/share/applications/masterpiece.desktopThe menu entry
/usr/share/icons/hicolor/256x256/apps/masterpiece.pngThe icon
/usr/share/mime/packages/masterpiece.xmlThe organ file types
/usr/lib/vst3/Masterpiece.vst3The VST3 plugin (amd64 package)
/usr/lib/lv2/Masterpiece.lv2The LV2 plugin (amd64 package)

The package depends on libasound2 (or libasound2t64), libfreetype6, libfontconfig1, libx11-6, libxext6, libxrandr2, libxinerama1, libxcursor1 and libgl1, plus the C library version the binary needs. apt installs them. JACK is optional: Masterpiece opens libjack at run time when it exists and then lists JACK as an audio device type.

Remove it with sudo apt remove masterpiece.

Tar archive

masterpiece-<version>-linux-x86_64.tar.gz holds the program and the VST3 and LV2 plugins as loose files. The files are packed from build artifacts, which carry no executable bit; the build’s own launch check runs chmod +x on the binary. Set the bit on the Masterpiece file before the first start:

tar -xzf masterpiece-<version>-linux-x86_64.tar.gz
chmod +x path/to/Masterpiece

The libraries listed for the .deb have to be present on the system.

Raspberry Pi

Pick the package for the installed operating system, 64-bit or 32-bit:

sudo apt install ./masterpiece-<version>-linux-arm64.deb     # Raspberry Pi OS, 64-bit
sudo apt install ./masterpiece-<version>-linux-armhf.deb     # Raspberry Pi OS, 32-bit

Both install the program as masterpiece, with the menu entry and the file types. They contain no plugins. The tarballs linux-arm64.tar.gz and linux-armhf.tar.gz hold the same program as loose files, with the same chmod +x step as above.

The 64-bit build targets plain ARMv8-A, which covers the Raspberry Pi 3 to the Raspberry Pi 5. The 32-bit build is compiled for ARMv7-A with NEON and VFPv4 (-march=armv7-a -mfpu=neon-vfpv4, hard-float) and needs a processor with those.

Both builds use the NEON vector engine. Audio on the Pi goes through ALSA, or through JACK when libjack is installed. See Audio, room and mixer.

Android

Download masterpiece-<version>-android.apk on the device and open it, or install it from a computer with adb:

adb install -r masterpiece-<version>-android.apk
PropertyValue
Package nameorg.masterpiece.player
Minimum Android8.0 (API level 26); API 23 supplies the MIDI interface and API 26 the low-latency audio interface
TargetAPI level 35
Processorsarm64-v8a, x86_64
SignatureOne release key for every version

All versions share one signing key, so a newer APK installs over the older one and keeps the organs and settings.

The manifest asks for:

PermissionWhy
READ_EXTERNAL_STORAGE (up to Android 12L, API 32)Sample sets on shared storage, on the Android versions that still allow reading by path
BLUETOOTH_CONNECT, BLUETOOTH_SCAN (flagged neverForLocation)Bluetooth MIDI consoles
BLUETOOTH, BLUETOOTH_ADMIN (up to API 30), ACCESS_FINE_LOCATION (up to API 30)The same, on older Android versions

USB host, MIDI and Bluetooth LE are declared as optional features; the app installs on devices that lack them. Phones and tablets covers the app itself.

iPhone and iPad

masterpiece-<version>-ios.ipa is unsigned, and iOS runs only signed apps. Sign and install it with a sideloading tool and an Apple ID of your own; AltStore and Sideloadly are the tools the project’s build notes name. No Apple developer account is needed. The steps for each tool are in the 0.7.0 release notes.

PropertyValue
Bundle identifierorg.masterpiece.player
Minimum iOS15.0
DevicesiPhone and iPad (device families 1 and 2)
Processor64-bit ARM

Phones and tablets covers the app itself.

Plugins

The plugin formats are VST3 (Windows, macOS, Linux), Audio Unit (macOS) and LV2 (Linux). The plugin shares its settings folder with the standalone program. See Plugins in a DAW.

FormatWindowsmacOSLinux
VST3Masterpiece.vst3 in the zipMasterpiece.vst3 in the zip/usr/lib/vst3/Masterpiece.vst3 from the amd64 .deb; loose in the tar.gz
Audio UnitnoneMasterpiece.component in the zipnone
LV2nonenone/usr/lib/lv2/Masterpiece.lv2 from the amd64 .deb; loose in the tar.gz

There are no separate plugin downloads. Windows and macOS ship the plugins as bundles inside the zips; copy them into a folder that the host scans.

File associations

Windows, macOS and Linux register the same five file types: .Organ_Hauptwerk_xml, .CustomOrgan_Hauptwerk_xml, .organ, .orgue and .rar. Double-clicking or Open with passes the file to the program, which opens it as File > Open… does. See Opening an organ.

SystemHow it is registered
WindowsThe installer writes the program under Open with for the five extensions (HKCR\Applications\Masterpiece.exe and an OpenWithList key per extension). Masterpiece is offered in the list and never made the default, so .rar files keep the program that opens them. The command is "<install folder>\bin\Masterpiece.exe" "%1". The uninstaller removes the keys.
macOSMasterpiece.app declares the five document extensions, so Finder offers Open With. A running program receives the file and opens it in the existing window.
Linux (.deb)masterpiece-mime.xml defines application/x-hauptwerk-organ (*.Organ_Hauptwerk_xml, *.CustomOrgan_Hauptwerk_xml), application/x-grandorgue-organ (*.organ) and application/x-grandorgue-package (*.orgue). masterpiece.desktop (Exec=masterpiece %f) lists those types and the RAR types application/vnd.rar and application/x-rar. The desktop’s file manager then offers Masterpiece under Open with.
FlatpakThe same type definitions, exported under the application’s own name.
Android, iOSThe app opens packages (.rar, .orgue) chosen inside it; see Phones and tablets.

First start

Settings folder

Masterpiece keeps its settings, logs and caches in a folder named Masterpiece inside the user’s application-data folder:

SystemFolder
Windows%APPDATA%\Masterpiece
macOS~/Library/Masterpiece
Linux~/.config/Masterpiece
Android, iPhone, iPadThe Masterpiece folder in the app’s application-data folder

Files and folders lists the contents. Two files decide the first start:

FileRole
settings.mpglobalThe general settings. While it is missing, the program shows the first-run wizard. Removing or renaming it shows the wizard again.
audio.xmlThe audio device, sample rate and buffer size. It is written when the program quits.

Audio device defaults

Before the window opens, the program starts the system’s default audio device with two output channels and no input. A device that opens at a rate below 44.1 kHz is moved to 48 kHz, or to 44.1 kHz when 48 kHz is unavailable. On a first start, or when a saved setup could not be used, the buffer size is the available size nearest to about 10 ms. A saved setup that names missing hardware, or that opens with no live output, is replaced by the defaults.

MIDI inputs

At the start every MIDI input is opened, except those switched off earlier. A console plugged in for the first time plays at once. An input that another program holds is tried again every 3 seconds.

The first-run wizard

On a first start the window opens with a dialog titled Welcome to Masterpiece. It has three steps, shown as Step 1 of 3 and so on. Back and Next move between steps, Next becomes Finish on the last one, and Skip setup ends the wizard at any step. Finish and Skip setup both write settings.mpglobal with the current defaults, which ends the first-run state.

StepTitleWhat it asksTakes effect
1SoundThe audio device and the buffer size, in the system’s device selector (device type, output device, active output channels, sample rate, audio buffer size). The text suggests 256 or 512 samples for most machines: a smaller buffer answers a key faster and breaks up when it is too small.At once; stored in audio.xml when the program quits
2Your keyboardsA box per MIDI input, headed Tick the keyboards you play from:. All inputs start on. When the system reports no input, the step reads No MIDI inputs found. You can still play with the mouse on the on-screen keyboard, and plug a console in later. The channel of each manual is set on Settings > General settings… > MIDI; a drawstop is learned with a right-click.At once
3An organThe button Choose an organ… opens the file dialog. The status line reads No organ loaded yet or Loaded: <name>.The organ loads when chosen

The wizard is a dialog of the standalone program. The plugins and the --gui-only mode skip it. It appears while settings.mpglobal is missing, and any write of that file ends the first-run state. Finish and Skip setup write it.

To see the wizard again, close Masterpiece and remove or rename settings.mpglobal. The general settings start from their defaults at the next start.

The first organ

The first load of each organ opens Organ settings on the Loading tab before the samples are read, so the memory profile can be chosen. Keep changes starts the load. The organ’s console is on screen in seconds, ahead of the samples. See Opening an organ and Memory, loading and streaming.

Updating

The program has no update check. Install a newer release the same way as the first one; settings, favourites and caches stay in the settings folder.

SystemProcedure
Windows installerRun the new installer. It installs over the old version.
Windows zipExtract the new zip over the old folder, or into a new one.
macOSReplace Masterpiece.app in Applications with the new one.
Debian, Ubuntu, Raspberry Pi OSsudo apt install ./masterpiece-<version>-linux-<arch>.deb
FlatpakRun the flatpak install --user command with the new bundle.
tar.gzExtract the new archive and set the executable bit.
AndroidInstall the new APK. The shared signing key makes it an update that keeps the data.
iPhone and iPadSign and install the new .ipa with the sideloading tool.

Uninstalling

The settings folder holds the saved organ settings, favourites, MIDI maps and the sample cache. The program creates it at run time; the installers and packages place no files in it, and the routes below leave it in place. Delete the folder by hand to remove that data. The sample cache is as large as the decoded samples of an organ and can fill several gigabytes; Cache folder on Settings > Organ settings… > Loading shows where it is.

SystemProcedure
Windows installerApps & features, or Uninstall.exe in the install folder. Both remove the program, the Start menu entry, the registry entries and the file-type registrations.
Windows zipDelete the folder.
macOSDelete Masterpiece.app, and any plugin bundles copied to the plug-in folders.
Debian, Ubuntu, Raspberry Pi OSsudo apt remove masterpiece
Flatpakflatpak uninstall io.github.bonninr.Masterpiece
tar.gzDelete the extracted folder.
Android, iPhone, iPadRemove the app in the system. Its private storage goes with it.