Release of v3.2.0 - Effect Requirements and Transformations

edited August 3 in News

Like I've promised in the release notes of version v3.1.0, this release addresses general handling of effect extensions in Audectra. The new features, which will be introduced below, should help in keeping effect extensions organized, especially when they come from multiple sources. Furthermore, there have been some general improvements and bug fixes (read full changelog below).

New Features

Recursive Search for Effects

All effects can now finally be neatly organized in sub folders. Audectra will recursively search the effect extensions path for effects. Within this release, all currently officially available effects have been moved into a Audectra/v0/ sub directory.

Effect Transformations (Rotate & Mirror)

From this release onward, you won't ever have to worry about how you can rotate or mirror your effects ever again, because Audectra takes care of that - for all effects. You can simply choose a rotation and/or mirror transformation in the effect wizard after selecting an effect.

If Audectra realizes, that your project only meets an effects requirements after rotating it, Audectra will automatically suggest it in the effect wizard, so you don't have to worry about it at all.

Effects can define their Requirements

This is a very powerful feature, which allows effect designers to specify the requirements for their effects, under which they perform the best. Currently, you can define the following requirements:

  • Minimum Width
  • Minimum Height
  • Maximum Width
  • Maximum Height
  • Minimum Number of Pixels
  • Maximum Number of Pixels
  • Minimum Aspect Ratio
  • Maximum Aspect Ratio

The aspect ratio is defined as Width/Height. All requirements above can be combined as well. If your project does not fulfill an effects requirements (neither in horizontal or vertical rotation), it will not be listed in the effect wizard.

Here is an example of how these requirements can be set, taken from the effect extension "Audectra/v0/Bars.cs".

public override void GenerateRequirements(ILayerRequirementsBuilder reqBuilder)
{
    reqBuilder.AddMinimumWidth(4);
    reqBuilder.AddLandscapeAspectRatio();
}

The example above adds the following requirements:

  • Minimum width of 4 pixels
  • Minimum aspect ratio of 1 (Width/Heigth >= 1)

You can check all effect requirements in the Extension Settings window.

Improved Performance of Effect Settings

The performance of effect settings handling (especially bound ones) has been drastically improved. Apart from that, the usage of the changed setting values in the OnSettingChanged methods on the effect side is now way more intuitive.

Changelog

  • Effects are now loaded recursively.
  • Updated Extension Settings to show extensions in tree view.
  • Updated Effect Wizard to show extensions in tree view.
  • Improved performance of layer setting changed notifications.
  • Simplified consumption of changed layer setting values.
  • Effects can add requirements for projects (like minimum/maximum dimensions or aspect ratio).
  • Effects within the extensions repository have been updated.
  • Effects can now be rotated by 90°, 180° and 270° CCW with the effect wizard.
  • Effects can now be mirrored horizontally and vertically with the effect wizard.
  • If a rotated form of an effect meets its requirements, it can be selected with the effect wizard as well.
  • Added layer transformation details into project file, which has been upgraded to version 3.
  • Added automatic conversion of version 2 project files into version 3 project files.
  • Layer settings loaded from project files are now removed from the project, if they are not addressed by their corresponding effects (due to changes in the effect, for example).
  • Fixed bug in color group layer setting, which caused each color group to have a setting Id of 0.
  • Fixed bug in color group layer setting, which caused the default color to be ignored.
  • Fixed bug in audio stream normalization, which caused wrong scaling while capturing from audio output devices with hardware volume support.
  • Fixed bug in particle emitters, which caused an aggregation of particles when the emission rate is set to zero.
  • Some further small improvements and bug fixes.

What's next?

Effect Documentation

One of my first goals is to finally create the documentation for effects.

New Effects

After that, I will focus on creating neat new effects, not just eventually replacing the old ones, but also adding a whole lot of new neatly designed and customizable effects.

Tutorials & Sample Projects

Every now and then, I will also create a sample project, which will be freely available for everyone. In addition to the sample projects, there will be corresponding tutorials on how I've made them as well.

Sign In or Register to comment.