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

6811 Commits

Author SHA1 Message Date
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
Paul Licameli
181c137129 More envelope fixes, avoiding some unnecessary insertions of points 2017-05-25 08:38:02 -04:00
Paul Licameli
bcc0bed29a Envelope::SetTrackLen adds a point only when none was present...
... And if points were present, keeps only the leftmost.
2017-05-25 08:15:45 -04:00
Paul Licameli
6c2c2733f9 More Envelope::GetValueRelative; add point for join only as needed 2017-05-25 08:15:45 -04:00
Paul Licameli
250a2ea12a Merge branch 'master' into HEAD 2017-05-25 08:15:20 -04:00
Paul Licameli
a8ac80eda9 Bug1651: NoteTrack sync-lock and crash fixes...
Simplify the logic of duplication of NoteTrack.  Duplicates are always in
serialized state.  Un-serialization can happen on demand in any of the
NoteTrack operations that require a defined sequence.

Changing the duration of the sequence after paste is needed,
as it was also needed, when I fixed Stretch at commit
90eb4ec142f7d575d0870dd9c755589bff520cbe.  I don't know if this should be
considered a bug in Allegro that we are compensating.
2017-05-25 08:08:31 -04:00
James Crook
b3a70b5993 Add hyphen between fields and tooltips.
Tooltips tell users what the abbreviated names in the radio button group mean.  The hyphen helps a little in relating the title , which has a hyphen in it, to the two fields.
2017-05-25 11:39:30 +01:00
James Crook
8afeed5f78 Faster opening of preferences.
The slow opening was caused by sorting lists of commands.  The comparison function was slow because it created new strings, entailing malloc/free and used translation in the function.  Comparison function was being called about 4,000 times.
2017-05-24 22:08:43 +01:00
James Crook
01356f9e3e Add i18n hints for selection toolbar 2017-05-24 19:37:29 +01:00
James Crook
59a9539ba0 Fix Radio Buttons on SelectionToolbar for Dark Theme
The workaround for Dark Theme can require static text boxes for the radio labels to be able to colour the text.  These have been added back.
2017-05-24 19:26:59 +01:00
James Crook
3761ae3fe5 Replace dummy checkbox by vertical line.
Fortunately a vertical line works just as well as a checkbox in working around the bug where radio buttons change to the first field.  It is better for screen readers too as it is not included in the tab order.
2017-05-24 18:55:20 +01:00
James Crook
552a69df72 Add radio buttons for Start-End, Start-Length e.t.c.
The checkbox on the selection toolbar is a temporary work around for a bug in windows with tabbing.  Tabbing into a radio button will set the first item of the radio button group without it.  Still looking for a better workaround.
2017-05-24 16:56:49 +01:00
Paul Licameli
d210b18aad Limit consolidation of undo items by other means 2017-05-24 00:23:25 -04:00
Steve Daulton
0303d281cc Fix for bug 1650
Don't attempt to read plug-in file when spawned from Nyquist Prompt
because there isn't one.
2017-05-23 23:38:55 +01:00
Paul Licameli
4b2b0d9b91 Fix Windows warning: inconsistent DLL linkage between base & derived 2017-05-23 13:06:50 -04:00
Steve Daulton
f0040b09f1 Bug 1210, alternative fix for unfriendly message 2017-05-23 15:43:53 +01:00
David Bailes
cd6c9834f6 Clip move commands - minor fix.
Forgot that the name of data members should begin with the letter m. Fixed this.
2017-05-23 12:56:11 +01:00
David Bailes
f46ac268f4 Update commands for moving clips using the keyboard
Second attempt at getting the commands to update history, so that they can be undone (previous attempt at b911607, which didn't call the undo manager for each keydown).

Both a single keypress (keydown, then keyup), and holding down a key (multiple keydowns followed by a keyup) result in a single entry in Audacity's history dialog. Note that this code relies on a change to the undo mananger in commit 63ae687.
2017-05-23 10:29:49 +01:00
Paul Licameli
646c285913 Bug1646: Fix many defects in the Note Track stretching tool 2017-05-22 23:25:57 -04:00