Changes
This release introduces a separation between built-in instruments and user instruments. There are mainly two reasons for this:
- When using standalone netpd app, an upgrade meant that all user contributed instruments had to be manually copied over to the new release's instruments directory. With the separation, this isn't necessary anymore. The user's instruments (or instruments downloaded from peers) are stored in a configurable directory. Now netpd can be upgraded without affecting them, while netpd still can provide newer versions of built-in instruments.
- Having the instruments directory inside the standalone app means the standalone is modified during usage, respectively when instruments from peers are received. This is very much against the concept of a standalone app that should be immutable and thus upgradable without side-effects. For the newly introduced Linux AppImages, it is even not possible to write files to the Image itself, as the image is mounted read-only. Thus, the separation became a strict necessity.
From now on, netpd can be switched to a newer (or older) version while keeping user contributed instruments in their place. Also the configuration is stored in ~/.netpd.cnf
since version 2.3.4, so all configurations are kept when upgrading.
House keeping with the instruments scrubber
The instrument separation requires some house keeping. Assume a built-in instrument is upgraded during a release. As all received instruments, it will be saved in the user's netpd instruments directory. That's actually not a problem, because the user's instruments directory is searched before the built-in instruments directory when loading an instrument into unpatch. However, a new release of netpd might ship an even newer version of that instrument. Now the older version is masking the newer version which is not what we want. To accommodate that situation, netpd detects when it is being upgraded and runs the instrument scrubber. A dialog pops up, asking whether old versions of instruments in the user's instruments directory should be renamed with the suffix .bak
. The options are yes
, no
or ask for each
. The latter option pops up a dialog for each instance.
Finally a stand-alone app for Linux
This release introduces standalone apps for Linux supporting various architectures (x86_64, i686, aarch64, armhf) in the AppImage format. AppImages should run on any system with a matching architecture without any dependencies. This is not the full truth, though. The netpd AppImages do have some dependencies:
- fuse (AppImages assume that fuse installed everywhere)
- jackd must be installed. The netpd AppImages link against the system's libjack library and don't ship their own version. This way the original jackd implementation but also PipeWire's jackd shim is supported.
Downloads
Linux
- netpd-2.3.5-x86_64.AppImage (x86_64)
- netpd-2.3.5-i686.AppImage (i686)
- netpd-2.3.5-aarch64.AppImage (aarch64)
- netpd-2.3.5-armhf.AppImage (armhf)
macOS
- netpd-2.3.5-macos.dmg (arm64, x86_64)
Windows
- netpd-2.3.5-windows.zip (x86_64)