[NEW] Part 2: Complete audio automation graphs redesign

MusE is a DAW for Linux with both MIDI and Audio editing. https://muse-sequencer.github.io

Moderators: khz, MattKingUSA, spamatica

Post Reply
Tim E. Real
Established Member
Posts: 460
Joined: Sat Sep 15, 2012 12:36 am
Has thanked: 1 time
Been thanked: 25 times

[NEW] Part 2: Complete audio automation graphs redesign

Post by Tim E. Real »

Hi all. Regarding my last changes:
see viewtopic.php?f=61&t=24439&sid=3c97b1c2 ... 560b3a3962

I noticed that it was now more difficult to draw square edges since points can now easily
move past other points. Not to mention you must draw two points for a square edge. Awkward.

So I made a whole bunch of changes.
Chiefly, you can now draw discrete and interpolated points.
The role of interpolated points has been greatly reduced to just manual drawing.
All audio automation recording from either GUI controls or external midi assignment is now
recorded as discrete points. Previously it used interpolated points. That was rather incorrect.
Don't worry, you can switch any selected points to/from discrete/interpolated via the context menu.

Here's a log. Then, some screenshots below.
Look closely, there's something for everyone who wants to use audio automation graphs:

* New: Audio automation graphs: Choice of DISCRETE or INTERPOLATED points.
Buttons on toolbar select which mode to draw new points. Works per-point!
A context menu item allows to change mode of all selected points.
Role of 'interpolated' has been greatly reduced to that of just drawing,
and all control recording, including external midi, is DISCRETE now.
DISCRETE points are drawn as squares. INTERPOLATED points are drawn as circles.
Note, INTERPOLATED mode only works for controllers that support it, such as
non-integer or logarithmic. TODO: Make an integer interpolator so that
INTERPOLATED works even on DISCRETE graphs!
* New: LATCH automation mode, in addition to OFF, READ, TOUCH, WRITE modes.
* New: Audio automation graphs: "Align all selected to point" context menu item.
Vertically aligns selected points to the clicked point.
* New: Adjustable graph point size. In Global Settings > GUI tab.
* New: Buttons on toolbar turn the graph points on and off !
Allows to see the graphs more clearly.
* New: Toolbar button avoids redundant recorded straight line automation points.
- Reworked graph point hit detection and drawing. Precisely accurate now.
- Midi controller graphs: Controllers popup menu: Midi controllers that are
mapped to (synthesizer) audio control ports have their own heading now,
to make it much clearer that they exist and what they do.
- Fixed old bug in Audio::processMidi(): When a midi controller
was assigned to an audio controller, operating the midi control would
suddenly leave the audio controls inoperative. Likely happened years
ago when time-stamp mechanism changed, this area was neglected.
- Fixed Midi-to-Audio controller assignment not recording properly.
Recorded frames were way off. Likely same reason as above.
- Fixed audio automation 'WRITE' mode not storing initial value and not
disabling the controller streams, when going from stop to play.
Seems to have been broken for many years (since first github checkin?)
- Eliminated old ugly HACK in class CtrlList: Removed _guiUpdatePending and support.
Replaced (integrated) with an IPC mechanism.
- Switched all code from muse_val2dbr (rounded) to new muse_val2db (unrounded).
- Fixed some memory leaks in class UndoList when clearing the list. Allocated items
were not being deleted.
- As requested: Uncluttered the Arranger popup context menu by moving audio
automation items into a sub-menu.
- Bumped up songfile version number to ensure toolbars are updated correctly.

Here's a shot of the new point size Global Setting:
automation point radius.png
automation point radius.png (13.84 KiB) Viewed 231 times
Here's a shot of exaggerated point size for demonstration.
Notice the new automation toolbar.
Notice that some points are discrete (square) and some points are interpolated (round).
Notice the new automation LATCH mode on the mixer strip.
automation graphs new.png
automation graphs new.png (52.86 KiB) Viewed 231 times
User avatar
oscillator
Established Member
Posts: 963
Joined: Sat Jan 17, 2015 6:07 pm
Location: SWEDEN
Has thanked: 540 times
Been thanked: 229 times
Contact:

Re: [NEW] Part 2: Complete audio automation graphs redesign

Post by oscillator »

@Tim E. Real, this sounds AWESOME! Going to check it out tomorrow! Will certainly improve workflow and make for more dynamics, easily!

Thanks a lot!!! :)
MusE DAW running on Debian 11 Stable/XFCE4.
https://oscillator.se/musik
User avatar
oscillator
Established Member
Posts: 963
Joined: Sat Jan 17, 2015 6:07 pm
Location: SWEDEN
Has thanked: 540 times
Been thanked: 229 times
Contact:

Re: [NEW] Part 2: Complete audio automation graphs redesign

Post by oscillator »

Now I've had to time to play with the new feature(s) and I must say it is awesome! Amazing work, @Tim E. Real, that facilitates a lot of new ways to work with both audio and Midi. The automation column, excellent. Moving and drawing graphs works great too, as does copying. Ctrl-Drag to select, is that new? Great!

The two different kinds of points makes a lot of sense, and the DISCRETE one will speed up a lot of my previous work.

Thank you very much for this huge update! :)
MusE DAW running on Debian 11 Stable/XFCE4.
https://oscillator.se/musik
Post Reply