0.10.3 Update – Timeline Changes, New Log Node

The next major update of AudioNodes focuses heavily on the Timeline, and comes with a large number of QoL improvements, performance optimization, and bugfixes in this area. It also addresses several important outstanding issues all around, and introduces an experimental preview of the new Log Node: a handy new Node in the math category to compute the logarithm of its input.


Priority Fixes

  • Fixed a bug where a longer chain of connected, constant folded Nodes would sometimes cause temporary UI freezing
  • Sampler Node now works correctly if multiple samples use the same audio file
  • Cloning notes on the Piano Roll Node should no longer cause notes to disappear, or otherwise behave weird

New Log Node

This update comes with a new, experimental Log Node. The Log Node computes the natural logarithm of its input, i.e. the most fundamental or “basic” logarithm in math. With this experimental node, various other logarithmic calculations can be constructed, such as the base-2 logarithm, using the formula:

log⁡(x)/log⁡(2)


Timeline Changes

The Timeline receives a large visual and usability improvement pass in this update, to make it more convenient to use all-around:

General Timeline Changes
  • The Timeline is now always visible at the bottom (if the screen is large enough), but takes up less of the screen by default
  • The shortcut to slice clips with the mouse is now Ctrl/Cmd + Shift + Drag (previously, it was Shift + Drag)
    • This change is because the Shift key is now used consistently for disabling snap-to-grid across various actions on the Timeline
  • Moving a clip with the keyboard arrow keys (left, right, up, down) will now make the Timeline auto-scroll to follow the clip
  • Slightly improved UI performance for projects with lots of tracks
  • Snap-to-grid is now on by default
Timeline & Project Duration

The project duration is now more separated from clips on the Timeline, and changing one no longer affects the other automatically. Instead, the Timeline will visually indicate clips beyond the project’s end:

  • Reducing the project duration no longer trims or removes clips automatically
  • Moving clips past the project’s end no longer extends the project automatically
  • Added options, towards the top-right corner of the Timeline, next to the header, to auto-adjust the project duration to the last clip, or to auto-trim overflowing clips
Grid Changes & Snapping
  • Grid lines are now more visible, appear at all times, and indicate each measure with an alternating background tint
  • Clips now only snap to visible grid lines
  • Adding a new marker now automatically snaps its default position on the Timeline
  • Moving or resizing a clip will now show a visual indicator if it’ll snap to the grid
  • Holding the Shift key while dragging will disable all snapping
Header, Ruler & Marker Changes
  • The Timeline ruler at the top received an updated design to more clearly delineate the Timeline from the Patcher visually
  • Markings and numbers now always match visible grid lines
  • The ruler no longer extends past the project’s end — instead, you can drag the right edge of the ruler to extend or shrink your project
Timeline Bugfixes
  • Fixed a bug where duplicating clips would sometimes cause updates to lag behind
  • Clips should no longer appear with a delay in some cases
  • Ctrl/Cmd + Left clicking clips now properly functions as multi-select
    • Ctrl/Cmd + Left dragging still works as repeat select
  • It’s now possible to add a marker at the very start, and the Position field will no longer incorrectly indicate an error
  • Fixed a bug where dragging a marker would sometimes also cause another marker to be moved as well

Envelope & Envelope Editor Changes

The envelope editor and the various envelope-related Nodes also received some QoL changes:

  • Editing an Envelope Node or Velocity Envelope Node on the Timeline will now cause points to snap to the grid on the Timeline (if enabled), following the same general rules as moving & resizing clips
  • Control point dots are no longer shown unless in edit mode, to reduce visual clutter
  • Control points now always show their tooltip below the editor area (or above if there is no room on the screen below), so it no longer covers the editor itself, making it less of a hindrance when editing
  • Moving a control point now hides the cursor, so that adjacent control points are more easily visible on the screen, and shows a visual indicator if it’ll snap to the grid
  • Updated UI to more clearly indicate the minimum and maximum value of an envelope

Constant Folding Changes

  • Constant folded Nodes now output 32-bit floating point values (instead of 64-bit) — this is consistent with the non-constant behavior, which also uses 32-bit floating point values
  • Constant output is now always clamped between the min and max value allowed by 32-bit floating point precision which, again, is consistent with non-constant behavior
    • Note: this is approximately -3.4028235 × 1038 for the min value, and 3.4028235 × 1038 for the max value

Misc Changes & Fixes

  • Tan Node and TanH Node are no longer experimental
  • Opening a snippet via the Open Snippet button on the snippet’s page, and then choosing to replace your current project with the snippet will now close the current project and place the snippet into a new project, instead of just deleting every Node in the current project but keeping the project itself open
  • Reduced visual padding around Comment Node text so that it interferes with the cursor less
  • Fixed a bug where changing the time signature in some ways would cause it to change in an unexpected way
    • Note: the second component of the project time signature doesn’t do much currently — this will be finished in a future update, but it already sees some improvements in this update

Next Up

The above list of changes concludes it for this update. However, there are several other changes currently in the works for future major updates. Among these are:

  • A redesigned MIDI/Melody processing system that will allow controlling their processing with control signals in real time. Most of the groundwork for this is already done, but is still a month or 2 away from being ready.
  • More performance improvements. Most importantly, Nodes should see more optimization for when they are frozen, and free up even more processing load. Currently, some Nodes still take up processing load even when frozen, and future updates will work on fixing this.
  • A new variant of the Poly Subpatch Node for parallel audio effect processing. This Node, currently dubbed Array Subpatch Node internally, will allow you to more easily design audio effects that rely on multiple copies of the same patch, such as chorus, unison and granular effects.
  • Improvements around snippet categorization and documentation for custom Nodes.

Stay tuned for upcoming updates, and thank you for your continued support,
the AudioNodes Team