Version 1.1.0 Released


This version addresses a couple bugs and introduces a couple new language features, which are summarized below.

Conditional Branching and Binary Form

The conditional operator (a ? b : c) is now implemented with branching so that only one of the two expressions are evaluated based on the first operand. This means that it can be used as a simple if/else construct with side-effects. For example:

// a increments when q%2 is zero and b increments when q%2 is 1
q%2 ? a = a+1 : b = b+1;

It is also possible to leave off the second branch, like so:

// this is equivalent to q%2 ? a = a+1 : 0;
q%2 ? a = a+1;

More Relational Operators

The language now includes the full set of relational operators from C, adding <=, >=, ==, and !=.

Assigning With a List

An array-like syntax has been added to make assigning values to consecutive memory locations a bit cleaner:

// this sets 10, 9, 8, 7 in @0, @1, @2, and @3 respectively
@0 = { 10, 9, 8, 7 };

Each element of the list in braces can be a full expression. This syntax can also be used when assigning to the output:

// this assigns to the output starting from [0]
// if the list is shorter than the output, 
// the last value in the list is used to fill the extra channels
[*] = { t<<4, t<<8 };
// this assigns to the output starting from the provided index, 
// stopping when the list runs out
// if the value in a is 0 this will set left and right, 
// if the value in a is 1 this will put the first element of the list in [1]
[a] = { t << 4, t << 8 };

Plugins Are Now Instruments

Finally, another important change is that the plugin versions are now Instruments rather than Effects (ie VSTi, AUi, etc). This change was made to accommodate hosts that will not send MIDI to Effect plugins. If you have a project in one of these hosts and it is using the Effect version of the plugin, you will probably need to save out the settings as an fxp file before upgrading to this version. If you are using Reaper (and possibly others) you will not need to do this.


Here's the full list of changes for this update:

  • increased overall output volume of the Standalone version to match the Plugin versions
  • the Plugin is now an Instrument instead of an Effect, so it can be used in DAWs that will only send MIDI to Instruments (eg Fruity)
  • improved conditional operator so it uses branching and can be used without the colon
  • added ==, !=, <=, and >= relational operators
  • improved VOL and V knobs so that hovering over the knob displays the current value above it
  • macOS builds are now only 64-bit (macOS no longer supports building 32-bit)
  • better handling of audio intialization failure
  • fixed handling of line-endings in the Program Window
  • fixed line-spacing on macOS in the Program Window
  • fixed handling of overlapped MIDI notes

Files

Evaluator Standalone App (Windows 32-bit) 1 MB
Version 1.1.0 16 days ago
Evaluator Standalone App (Windows 64-bit) 1 MB
Version 1.1.0 16 days ago
Evaluator Standalone App (OSX 64-bit) 1 MB
Version 1.1.0 16 days ago
Evaluator Installer (Windows) 1 MB
Version 1.1.0 16 days ago
Evaluator Installer (OSX) 3 MB
Version 1.1.0 16 days ago

Get Evaluator

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.