Skip to content

Releases: reduzent/netpd

v2.3.5

17 Jan 22:37
Compare
Choose a tag to compare

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

macOS

Windows

v2.3.4

23 Sep 19:57
Compare
Choose a tag to compare

Features and changes:

  • move preferences to ~/.netpd.cnf so that it survives netpd upgrades
  • add pop-up dialog for messages that should not go unnoticed
  • warn about some conditions with mentioned pop-up:
    • warn about non-standard samplerate (important for sharing audio)
    • warn about uninitiated disconnects to prevent unnnoticed split-brain situations
  • new abstractions:
    • netpd-default: output default value if arg of parent is not specified
    • netpd-error: helper for displaying error messages
    • netpd-warning: helper for displaying warning messages
    • netpd-line-wrapper: allows to display multi-line text on GUI objects
  • suppress clock sync messages in debug output
  • various other fixes

Download as applications

NOTE: The version v2.3.3. has intentionally been left out, since netpd has appeared with that version for a while without proper release.

v2.3.2

01 Apr 09:13
Compare
Choose a tag to compare

Features and changes:

  • unpatch asks user whether instrument or abstractions should be upgraded/downloaded (configurable)
  • [netpd_text] imlements additional methods (clear, insert, read, write, sort, click, close)
  • add help-files for netpd_* abstractions that were missing help
  • prevent backslash escapes in messages printed to Pd console
  • prevent loading instruments mulitple times by hitting <enter>
  • add GUI abstractions:
    • netpd-gui-hmenu: configurable horizontal menu
    • netpd-gui-vmenu: configurable vertical menu

Download as applications

v2.3.1

01 Feb 20:45
Compare
Choose a tag to compare

Features and changes:

  • get rid of some dependencies
    • binfile
    • else
    • zexy
  • new vanilla-based [netpd-fifo]
  • detect missing dependencies and print warning
  • improve latency compesation (add utility
    for latency measurement)
  • add samplerate check (warn on non-standard samplerate)
  • various bug fixes
  • update instrument template. New template shows examples
    of all available [netpd_*] abstractions.

Download as applications

v2.3.0

25 Mar 15:59
Compare
Choose a tag to compare

This release features also stand-alone applications for macOS and Windows.

Features and changes:

  • give chat and unpatch a facelift
  • load instruments from scroll list instead of openpanel
  • support unlimited nesting of dynamic loading with new abstraction
    [netpd-bus-order]. This allows effects to load other effects into
    themselves
  • restore support for loading from old text-based preset file format
  • broadcast loading from preset file to all clients for improved consistency
  • add debug message printing facility (prints incoming and/or outgoing OSC
    messages)
  • add support for IRC style /commands in chat (check with '/help')
  • add protected mode for unpatch. Protects from interactions with
    peers while developing instruments
  • refactor lots of internal stuff:
    • use $1.NETPD bus for everything in netpd_* abstractions
    • remove second number argument to [netpd-dump]. Use new [netpd-bus-order]
      to enforce order of state dumps.
    • only initialize instrument when necessary (e.g. not when receiving
      state from peer or from preset file)
    • only search for sync peer when necessary