Authoring a custom VST

To create a custom VST

  1. Install GO for your platform and configure your preferred IDE
  2. Ensure Prelude CLI is installed and updated
  • pip3 install prelude-cli
  • pip3 install prelude-cli --upgrade
  1. Download an existing Prelude created VST via CLI to use as reference, in this example we will use "Colour-Blind Trojan" VST as an example.
  • List existing tests and their IDs: prelude detect tests
  • Download Prelude created test "Colour-Blind Trojan"
    prelude detect download ca9b22be-93d5-4902-95f4-4bc43a817b73
  • Find downloaded folder "ca9b22be-93d5-4902-95f4-4bc43a817b73". Inside will be:
    Source Code ca9b22be-93d5-4902-95f4-4bc43a817b73.go
    Readme file that populates test details in console: README.md
    Attachments referenced in test: colour-blind.py
  1. Create your own test via CLIprelude build create-test "test_name" --unit health
  • Unit can be "health" or "response", the two major VST categories
  • This will generate a new test directory with the template source code inside.
  • You can use the previously downloaded Prelude generated test "Colour-Blind Trojan" as a template
    or download any other Prelude test as reference.
  • update code, add new attachments to the same directory if applicable and update README.md file
    to describe your test
  1. Once you are happy with your test you will need to upload it to your account
  • Upload just the source code: prelude build upload <uuid> .go
  • Upload the entire test directory including README.md, attachments (test samples) and .go source
    code: prelude build upload <UUID>
  1. At this point the test will be visible in the UI or CLI and is available to be scheduled

Note: You can provide a comment in the test code to direct the Platform to only compile a test for a specific Platform (Mac, Windows, Linux). If no comment exists then a binary is compiled for all three.

//go:build windows
// +build windows

//go:build linux
// +build linux

//go:build darwin
// +build darwin

The two comments should go at the top of the .go file before uploading to the Detect Platform.

Example:



Resources:

VST Result Codes

Writing your own VST with Prelude CTO David Hunt