NetVST Wiki

networking for VST/AU plugins

User Tools

Site Tools


This is an old revision of the document!

Change Log

This change log was started June 24, 2017. There were many changes prior to that, during early development, which are not recorded here.

December 24, 2017

Added native Win32 GUIs for NetFilter and NetSynth Windows versions.

December 26, 2017

Removed compression options entirely. These turned out not to be useful, and were just cluttering the code.

December 23, 2017

Added native Cocoa GUIs for NetFilter and NetSynth Macintosh versions.

December 8, 2017

NetFilter and NetSynth plugins on Windows also send large single packets, like their Mac counterparts do. This eliminates crackles when these plugins are used in Cubase. Also, fixed a mistake in NetVSTHost where any network error would cause the work thread to stop, so it was necessary to forcibly restart it (e.g. by opening the Devices/Network dialog and hitting OK again) before the program would accept connections again.

December 6, 2017

Tracked down the reason for messy starts. Logic Pro X starts off with a block size of 1024 until the first MIDI event is sent, then drops to whatever block size user specified in Project Audio Preferences (typically 256 or 512). The Mac plugins were not set up to handle this, now they are.

December 5, 2017

NetVSTHost.exe now sends all returned sample data as one packet, like the Mac AU plugins do. This should help it run more smoothly on the Mac (under Wine/WineBottler). Also fixed a bug where garbage sample data would be sent if no plugins at all had been loaded.

December 3, 2017

Added NetVSTHost executable for Mac OS X (see blog post). No actual code changes were required; this is simply a repackaging of the existing NetVSTHost.exe Windows executable.

November 30, 2017

Changed the way network send/recv operations are overlapped:

  • In earlier releases, client plugins would always send each buffer's worth of data, then wait for response. To improve response time, NetVSTHost would send the previous buffer's output data before starting to process the newer input data, so there was always one buffer's worth of latency.
  • This resulted in high CPU utilization by plugins, because they had to wait for data (despite the latency).
  • In this release, NetVSTHost works more conventionally (receive, process, send) and the overlapping/latency is done by the client plugins. Each client plugin fakes the response to the first buffer's worth of data only. The result is that later recv() operations never block, and CPU usage drops to near-zero.

June 24, 2017

Fixed two issues in Mac AU plugins:

  1. Fixed a bug where removing a plugin could crash AU host (e.g. Logic Pro X)
  2. Made NetFilter's default Quality setting 5.0 = No Compression
appendices/change_log.1514324006.txt.gz · Last modified: 2017/12/26 21:33 by shane