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
Get Evaluator
Evaluator
generate sound from very small programs
Status | Released |
Category | Tool |
Author | Dami Quartz |
Tags | bytebeat, generative-audio, MIDI, Procedural Generation, programming, VST, vst3 |
More posts
- Version 1.0.1: Bug Fixes and Visual ImprovementsFeb 27, 2018
- Evaluator Walkthrough VideoJan 25, 2018
- Evaluator 1.0.0 ReleasedJan 09, 2018
Leave a comment
Log in with itch.io to leave a comment.