1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-04 17:49:45 +02:00

6829 Commits

Author SHA1 Message Date
Paul Licameli
71b63843a7 some const 2017-06-04 14:04:14 -04:00
Steve Daulton
9816cc8c7b Reinstate FileNames::PlugInDir() for Linux
Reverting its removal in commit 1dd6b848c28.
Path added to Nyquist *SYSTEM-DIR* PLUG-IN property.
2017-06-04 18:01:49 +01:00
James Crook
ee9649eeb5 Simplify and extend automatic screenshotting
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.
2017-06-04 16:54:53 +01:00
Paul Licameli
c38efc1fcd FindTrackRect omits all margins; better screen reader focus rects...
... 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
2017-06-04 11:31:46 -04:00
Paul Licameli
134c1ff47a Gather duplicated rectangle calculations in one place...
... and don't use unexplained integer constants
2017-06-04 11:31:44 -04:00
Paul Licameli
7f079262e2 Rectangle reported for vertical ruler cell omits top inset and border 2017-06-04 09:06:37 -04:00
Paul Licameli
afd3b0ba19 Remove some uses of Track::GetHeight()...
Pass top-left point, not a rectangle, to places that did not use width or
height.
2017-06-04 08:29:32 -04:00
Paul Licameli
5395f253bf Reviewed use of Track::GetY; don't use in NoteTrack; fix off-by-1's 2017-06-04 00:15:29 -04:00
James Crook
acd55e95db Capture screenshots of effects.
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.
2017-06-03 15:59:51 +01:00
James Crook
7e691ddf38 Fix crash bug (regression) in Automation
Somewhere along the line, GetEffectIdentifier got changed to GetEffectByIdentifier, leading to abuse of an iterator when attempting to invoke an effect by name.
2017-06-03 15:59:50 +01:00
Paul Licameli
beab669f42 Update mixer board for name change of MIDI track...
... as well as for WaveTrack, if EXPERIMENTAL_MIDI_OUT
2017-06-02 18:35:29 -04:00
Paul Licameli
721faf89c6 Avoid possible dangling pointer problems with EVT_TRACKLIST_UPDATED 2017-06-01 14:40:05 -04:00
Paul Licameli
f807f7fd6d Removed a disabled piece of track list selection...
... that interferes with track panel refactor
2017-06-01 12:06:28 -04:00
Paul Licameli
8da228748b Delete this start of time shift on double-click (it never completed) 2017-06-01 11:55:10 -04:00
James Crook
f418de2f60 Rearrange Selection Toolbar fields, and fix spacings.
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.
2017-06-01 16:48:28 +01:00
James Crook
c43a6408d9 Lose hyphen on selection toolbar 2017-06-01 15:03:47 +01:00
James Crook
c48310c519 Fix 'Disallowed' message when using up-arrow.
This happened when transcription toolbar had focus, with and without tracks.
2017-05-31 23:19:43 +01:00
James Crook
1c6c608c13 Use same format for choice in Selection Toolbar as in SpectralSelection Toolbar
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.
2017-05-31 19:48:46 +01:00
Darrell Walisser
29df7e1ce3 Speccache performance improvments
Resolve #191 issues

- Disable reassignment cache
- Free memory when reasonable
- Add assertion
- Remove unused variables
- Add some comments
2017-05-30 20:39:00 -04:00
Steve Daulton
b6a1ca916b Fix for bug 376
Documentation required.
2017-05-30 20:43:50 +01:00
Steve Daulton
73d2478d0b Rename Nyquist plug-in debug button header 2017-05-30 20:43:50 +01:00
Paul Licameli
2ef243fe60 Revert the change in display of WaveTrack envelope at high zoom 2017-05-30 12:45:55 -04:00
James Crook
7122877269 Fix crash from bad SelectionToolbarMode
When out of range, it was indexing outside an array.  Now forced to be in range.
2017-05-30 12:38:25 +01:00
James Crook
545dbaf1cd Bug 68 - Vertical scale only has zeros when displaying Waveform (dB) view at -48 dB 2017-05-29 22:40:49 +01:00
James Crook
c7a911c265 More shortcut tweaks.
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
2017-05-29 20:26:31 +01:00
Paul Licameli
ab1c62c9d6 Conclude Envelope rewrite for better handling of discontinuities
* 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...
2017-05-29 13:54:15 -04:00
Paul Licameli
4c80a074d3 Bug835(cut-then-paste should be no-op): Rewrite Envelope::Paste...
... 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.
2017-05-29 13:53:25 -04:00
Paul Licameli
58e7a94264 Envelope::Paste takes a time tolerance argument 2017-05-29 13:53:25 -04:00
Paul Licameli
02fe963d23 Define consistency check for Envelope, to be used in Paste 2017-05-29 13:53:25 -04:00
Paul Licameli
bd4d2dc31d Rewrite Envelope::InsertSpace 2017-05-29 13:53:25 -04:00
Paul Licameli
0126918fb5 Simplify InsertOrReplaceRelative, always trim when to domain...
... 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.
2017-05-29 13:53:25 -04:00
Paul Licameli
6dd826a771 Merge branch 'master' into HEAD 2017-05-29 13:53:08 -04:00
James Crook
a09fceefb6 Tweak shortcut list 2017-05-28 20:28:10 +01:00
James Crook
ed9744e556 Fewer shortcuts in default shortcut list. 2017-05-28 19:49:06 +01:00
James Crook
534cf87265 FIx so NVDA reads 'Categories' rather than 'trreCtrl'.
Fix by Robert Hänggi.
2017-05-28 16:07:02 +01:00
Paul Licameli
515ec64a36 More fixes for envelope, specifically Time Track cut and paste
Cut from flat TimeTrack does not leave unnecessary points...
  Don't push time track points right of paste point off to infinity
  Fix envelope editor
2017-05-28 00:51:52 -04:00
Paul Licameli
5ff09c2a59 Cut from flat TimeTrack does not leave unnecessary points...
... And more generally, Envelope::CollapseRegion, should it be reused more
widely, is responsible for removing the points; WaveTrack code is relieved of
that.
2017-05-28 00:50:35 -04:00
Paul Licameli
5886bd8eb2 Don't push time track points right of paste point off to infinity 2017-05-28 00:50:34 -04:00
Paul Licameli
2985d24656 Fix envelope editor 2017-05-28 00:50:34 -04:00
Paul Licameli
9ee11e94bd Merge branch 'master' into HEAD 2017-05-28 00:50:17 -04:00
James Crook
216ead2214 Provide two choices for defaults in KeyPreferences
This is a step towards reducing the default list of shortcuts.
2017-05-27 20:14:56 +01:00
James Crook
389335d761 Clickable Start - Length and stable position of '<' and '>'
Minor tweaks to Selection Toolbar field chooser.
2017-05-27 19:32:47 +01:00
James Crook
ca01b55d1b Add clickable < and > alternative to RadioButtons for start/length
This is a step towards the intended eventual interface.
It's a temporary step back for VI users.
2017-05-27 18:46:44 +01:00
Paul Licameli
a4cc9a9e3b Improve rendering and drawing of envelope with discontinuity
Change the drawing of wave track envelope at high zoom...
  Change evaluation of envelope near discontinuities...
  Prefer "sampleDur" to "sampleTime" for some variable names
2017-05-26 14:53:32 -04:00
Paul Licameli
e428425c7d Change the drawing of wave track envelope at high zoom...
... 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.
2017-05-26 14:51:50 -04:00
Paul Licameli
537ccfbc4f Change evaluation of envelope near discontinuities...
... 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.
2017-05-26 14:50:43 -04:00
Paul Licameli
9c7e236442 Prefer "sampleDur" to "sampleTime" for some variable names 2017-05-26 14:50:43 -04:00
Paul Licameli
c8f65d821d Merge branch 'master' into HEAD 2017-05-26 14:50:17 -04:00
Steve Daulton
eea55f78ce Make Nyquist debug window resizable
and name window to match the effect.
2017-05-25 23:16:41 +01:00
James Crook
597ddbfa52 Further speed up to showing preferences.
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.
2017-05-25 15:46:55 +01:00