Now includes 2 'outlier' analysis effects, and has simpler code.
The tricky capture cases are now first in the list.
Vocorder and Chirp are now included. Comma was missing between them.
Now gives error report for an unknown command.
... Formerly it was outside of the yellow focus at the right side. Now it
follows the yellow consistently on four sides.
The constant dx in TrackPanelAx::GetLocation might be adjusted.
No change of behavior is intended at other uses of FindTrackRect
Only available if you define EXPERIMENTAL_DOCS_AUTOMATION.
This code is still a bit ropey and not suited for prime time, but fine for our own (careful) use in preparing the manual.
It captures most of the effects, generator and analyze built ins and nyquist dialogs. Use it by creating a track, making a selection and then clicking the 'All Effects' button in the screenshot tools. The dialogs will be captured to your user directory.
Somewhere along the line, GetEffectIdentifier got changed to GetEffectByIdentifier, leading to abuse of an iterator when attempting to invoke an effect by name.
The layout of SelectionToolbar and SpectralSelction Tollbar now match, and they can be placed nicely side by side.
The borders around controls have been tweaked.
Extra vertical spacer lines have been added into the title row.
I've deliberately not given the choice a title, and deliberately put the word 'selection' at the end, so as to be better/faster for Screen Reader users.
The look of Selection Toolbar and Spectral Selection Toolbar is now consistent. In dark themes both could have better looking choice boxes.
Add Alt+P and Alt+N Previous/Next Clip shortcuts
Shoorter naming of Default options. Now just 'Standard' and 'Full'.
No longer even attempt to remove (Option)+Command+M
* envelope-fixes:
Bug835(cut-then-paste should be no-op): Rewrite Envelope::Paste...
Envelope::Paste takes a time tolerance argument
Define consistency check for Envelope, to be used in Paste
Rewrite Envelope::InsertSpace
Simplify InsertOrReplaceRelative, always trim when to domain...
... Simplify. Don't assume e->mOffset is zero. Check consistency afterward.
Do not leave responsibility for simplification of discontinuities to higher
level code.
Allow real discontinuities at the end of the insertion; no more readjustment of
times of points.
... Comment in it says that it does not check for discontinuities if it
replaces!
This will not matter in the uses of it internal to the Envelope class, which
will in fact always be proper insertions, having checked first for the presence
of a point.
... And more generally, Envelope::CollapseRegion, should it be reused more
widely, is responsible for removing the points; WaveTrack code is relieved of
that.
Change the drawing of wave track envelope at high zoom...
Change evaluation of envelope near discontinuities...
Prefer "sampleDur" to "sampleTime" for some variable names
... The function defined by the envelope is evaluated exactly at the times of
samples, but not between samples -- instead there is a simple interpolation.
Therefore the curve might not go through the control points when they are not at
sample times.
The exact value of the function defined by the envelope has no influence on
rendering of the sound in between samples. So this can make it clear that
the middle point has no influence at all in case three points are very close.
Drawing of other envelopes (Time track, Equalization curves) is not changed.
... So that even if the time is "slightly" (less than 1/2 sample interval) left
of the discontinuity, the right-hand limit is always used.
Thus this compensates for some roundoff errors when pasting one clip with
an envelope into another.
This overcomes the objections that were in a comment in Envelope::Paste
to making control points with exactly equal times.
And therefore Paste can be rewritten to do so, but that has not happened yet.
Envelope points at exactly equal time coordinates can already be made by
dragging points in the envelope editor.
We now don't sort the list until a view is selected. Also we create it with nodes open, rather than creating with nodes closed and then separately opening them. Instead of 3 sorts at initialisation only one happens now. AX info is only updated after a sort, so this may be 3x faster for screen reader users too.