1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-22 15:20:15 +02:00

334 Commits

Author SHA1 Message Date
Paul Licameli
197700967f pop-up menus for vertical ruler 2015-07-28 09:36:58 -04:00
Paul Licameli
43b7df701b Use class NumberScale in TrackArtist and spectral selection, abstracting...
... the details of mapping to and from pixel height
2015-07-27 23:01:11 -04:00
Paul Licameli
1f6f43bba7 Track control "View Settings..." makes alternative SpectrumPrefs accessible 2015-07-26 21:33:14 -04:00
Paul Licameli
1dffeace93 Access SpectrogramSettings via WaveTrack, which may be nondefault (no UI yet)...
... and add accessors to SpectrogramSettings, and remove TrackArtist functions
for getting and setting the globals.
2015-07-26 21:10:16 -04:00
Paul-Licameli
5418ce377b Move PositionToTime, TimeToPosition into class ZoomInfo ...
... and use them in many more places in TrackPanel.cpp, so there are fewer
direct uses of ZoomInfo::zoom.

Also use then in horizontal scrolling code
2015-07-19 11:44:04 -04:00
Paul-Licameli
ab21f75c77 ViewInfo is becoming a smart class, not a dumb struct
Now it has:
A constructor
XML attribute serializer functions (but no XML tag of its own)

Also removed unused lastZoom
2015-07-19 11:43:59 -04:00
Paul Licameli
0bed89419f More for bug 1014: stop scrubbing when switching out of select tool...
... Verified that this works for presses on tool buttons, and keys A, D, F1,
..., F6.

Also fix conditional compilation with EXPERIMENTAL_SCRUBBING_BASIC not defined.
2015-06-08 09:56:17 -04:00
Paul Licameli
f332df1f36 Pulled repeated code into a function; share some calcs with Envelope editor 2015-06-03 02:37:42 -04:00
Paul Licameli
85a533be79 Remove unused variables; fewer casts 2015-06-03 02:37:41 -04:00
Paul Licameli
4f5483b4af Scroll-seek improvements 2015-05-30 14:28:33 -04:00
Paul Licameli
6ae8a656ab Rewrote escape key handling, more like other Track Panel key handlers
... and removed some abandoned spectral editing code
2015-05-29 21:13:59 -04:00
Leland Lucius
0ef7ccb1d1 Fix permissions...not sure why this was happening though 2015-05-29 19:49:28 -05:00
Paul Licameli
8d2a29d376 Bug989, and scrub UI uses left button to seek, not Shift key
Updated mouse preferences and status bar message accordingly

Also, use the term "Scroll-scrub" in status bar and mouse preferences
2015-05-29 20:29:44 -04:00
Paul Licameli
9f2dfbc70b Revert "Bug990 (seek key reponsiveness), and, change Scrub UI again, so Ctrl key seeks."
This reverts commit 841bca36ea321e6ea92578dd6668bc4011f1d30b.
2015-05-29 19:45:43 -04:00
Paul Licameli
841bca36ea Bug990 (seek key reponsiveness), and, change Scrub UI again, so Ctrl key seeks.
Includes changes to Mouse Preferences and status bar messages.
2015-05-29 17:30:19 -04:00
Paul Licameli
6810095509 Removed some functions never called, code never reached, fields never used 2015-05-29 00:13:50 -04:00
Paul Licameli
e60057fd85 Bug924, addendum: pause scrubbing when Audacity loses focus...
... And it resumes if Audacity regains focus.

Actually this fix causes pausing and resuming depending on whether Track Panel
has focus, so clicks in other parts of the Audacity window may also pause the
scrubbing.  I hope that is acceptable.
2015-05-27 20:14:32 -04:00
Paul Licameli
f07a487e47 Bug977: Enable new scrolling limits as a Tracks preference, default off. 2015-05-27 18:47:03 -04:00
Leland Lucius
8f77334286 Fix for bug #949
This removes the TrackInfo's slider "cache".

Originally, the cache would build to the maximum number of tracks you
had created in an Audacity session.  So, if you created 128 tracks
and then reduced that to 1, you'd still have 256 sliders, 1 gain and
1 pan per track.

But, the only real thing the cache did was prevent continuous allocations
of sliders since the allocated sliders position and values wer still
being updated nearly with ever interaction since they were redrawn each
time.

In April 2010, the slider cache was changed to reduce its size by
creating a sort of ring buffer based on how many tracks were displayed
and how many tracks were in the project (I guess).  Unfortunately, it
didn't really handle large number of tracks and this bug was born.

While trying to find the proper fix for this, I realized that the
cache really wasn't saving anything.  Maybe a little when dragging
the thumb, but during normal track redraws and interaction, it really
didn't serve a purpose, other than use additional memory.

So, I've removed the cache and have allocated a single gain and a
single pan slider.  As before, their position and value are changed
as needed when drawn and manipulated.
2015-05-24 22:54:10 -05:00
Paul Licameli
35ac843baf Scrub with ctrl-left clicks, not middle drags; also fix bug 937
Bug 937 was a consequence of mouse capture for drag, which no longer happens.

Scrubbing starts with ctrl- (or cmd-) left- (double-) click, after which mouse
movement and shift key and scroll wheel (undepressed) govern scrubbing.  No
buttons need be held.  Another ctrl/cmd-left click can stop scrubbing, and so
can SPACE or Stop button or other commands that stop normal playback.
2015-05-19 12:03:04 -05:00
David Bailes
593197c2db add commands for moving focused track up, down, to top, and to bottom 2015-04-24 16:19:28 +01:00
Leland Lucius
ed79e13fbf Merge pull request #36 from DanWin/performance
Performance improvements
2015-04-24 07:52:38 -05:00
David Bailes
0b2d5729c5 added two commands to move to first or last track 2015-04-24 11:38:55 +01:00
James Crook
593cc6ee5e Bug 855 - Data loss sample editing (Do/Undo)
I've added code that now treats sample editing as another kind of mouse capturing activity (IsAdjustingSample).  We will now not undo or redo whilst mouse is captured.  Does not depend on what key binding is used for redo/undo.
2015-04-24 09:55:03 +01:00
Daniel Winzen
92d522132e Variable cleanup 2015-04-23 18:30:38 +02:00
Daniel Winzen
759ff8cd0d Performance improvements 2015-04-23 16:07:25 +02:00
Steve Daulton
e45afbaa76 A few minor fixes to Quick-Play (now hyphenated for consistency). 2015-04-21 20:46:52 +01:00
Paul-Licameli
10e35bb6bb Add user interface for scrubbing and Experimental.h switches
EXPERIMENTAL_SCRUBBING_BASIC enables middle-click-drag to scrub, or to seek
when shift is down.

EXPERIMENTAL_SCRUBBING_SMOOTH_SCROLL adds middle-double-click-drag to
scrub or (with SHIFT down) to seek while keeping the playhead at the midline
of the track display.

EXPERIMENTAL_SCRUBBING_SCROLL_WHEEL allows control wheel to vary the speed
limit, while scrubbing (not seeking).

All three are enabled in this commit.

Also notice the changes to status bar messages and the Mouse Preferences dialog.

Scrubbing works only in Select and Multi tools.
2015-04-17 14:09:35 -04:00
Steve Daulton
702d9d75e5 Timeline Quick Play bug fixes and enhancements 2015-04-17 17:52:13 +01:00
Paul-Licameli
21fd4ab374 Remove the unsuccessful scrubbing experiment of 2.0.6. 2015-04-17 02:25:26 -04:00
Paul-Licameli
69729c2960 ESC key aborts selection drag, restores time, frequency selection, selected tracks 2015-04-12 12:39:11 -04:00
Paul-Licameli
db1cb406e0 ESC key aborts resizing of mono track, stereo track, or channels of stereo track
Resizing may un-minimize a track; I was careful to be sure ESC restores
minimized state too and then that un-minimizing restores correct height
2015-04-11 23:53:34 -04:00
Paul-Licameli
903fcb1fc2 ESC key can abort certain dragging actions
For now, let it abort vertical scale zoom
(any mouse button in any tool, in the vertical ruler)
and horizontal zoom
(any mouse button in the zoom tool or right mouse button in the multi tool,
in the wave display)

Should any other drags be escapable too?
Time shifting?  That would need some more work to restore initial state.
2015-04-09 15:50:04 -04:00
Leland Lucius
2457579091 Bug 765 - Delays using Edit commands and Draw Tool in long projects
A 4hr track used to take about 20s to cut a few samples. This is now significantly improved, to around 3s. Leland did this by

(a) moving the size calculation to when we examine the undo history, so it isn't slowing down the edits.
(b) in size calculation, using sizes that are cached rather than going to disk to find the sizes.
(c) writing the autosave file which is to an FFIle to a string first, i.e. using XMLStringWriter as a buffer for XMLFileWriter.

Step (c) may also make autosave marginally safer, as the risk of a partially updated autosave file is reduced.
2015-04-07 12:20:50 +01:00
lllucius
2c6401b564 Committing Paul's spectral nagivation commands patch
From:

http://audacity.238276.n2.nabble.com/Patch-spectral-peak-snapping-navigation-commands-td7565648.html
2014-12-22 08:03:41 +00:00
james.k.crook@gmail.com
c71397beae Changes to seeking and scrubbing from Paul Licameli.
These are mostly under an EXPERIMENTAL_ #ifdef.  Also has a change for the prompt string for preferences so the displayed keybinding is adjusted when in multitool mode.
2014-11-29 22:09:57 +00:00
james.k.crook@gmail.com
30500b2e85 Fix for http://bugzilla.audacityteam.org/show_bug.cgi?id=792 "Right end of selection cannot be adjusted with a mouse when left end is behind zero" by Paul Licameli. 2014-11-29 17:10:56 +00:00
james.k.crook@gmail.com
2131568876 Spectral Selection Toggle (using q key) by Paul Licameli. 2014-11-29 16:53:28 +00:00
martynshaw99
bc6583b62d Paul L's patch to remove the 'PlaybackCursor' that he introduced, along with a ststus bar message about it. Also fixes L/R cursors with a point selection. 2014-11-25 23:37:40 +00:00
james.k.crook@gmail.com
1933070f0d Tweak to spectral selection behavior when one edge is tied.
Idea by Martin.  Implemtation by Paul Licameli.
2014-11-11 15:24:22 +00:00
james.k.crook@gmail.com
67d2b274e2 Frequency Selection toolbar from Paul Licameli.
Linux/Mac will need new files adding to project, SpectralSelectionBar.cpp, NumericTextCtrl.cpp.
2014-11-08 15:18:43 +00:00
james.k.crook@gmail.com
6112a2a8c1 Spectral selection cursor and mode selection changes from Paul Licameli.
This also now shows a new green 'play cursor' when ctrl is held down on wave track, and shift being held down is signalled by a cursor change to finger-pointer too.

I also accidentally enabled EXPERIMENTAL_MIDI_OUT.  We may disable that in December for release.  Leaving it in for now.
2014-11-08 14:30:19 +00:00
james.k.crook@gmail.com
31fa2be749 Clean up of some spectral selection code making it shorter, clearer and easier to check.
Also added non-shift behaviour for shift and drag center line, that previously asserted.
2014-10-26 10:11:35 +00:00
james.k.crook@gmail.com
290a0107c9 Patch from Paul Licameli Improving Spectral Selection
ESC Key toggles snapping of center frequency to peaks (no visual indication of snap to yet)
Description added to mouse prefs - fix later.

Shift now required to keep top/bottom frequency pinned whilst (re)dragging the other one.

Code for status bar messages simplified and made more consistent, and no longer hard codes assumption that preferences is Ctrl-P when prompting user about it.
2014-10-25 22:05:45 +00:00
james.k.crook@gmail.com
bffa710ce4 Removed TrackPanel:: prefix so can compile under Linux. 2014-10-18 18:36:34 +00:00
james.k.crook@gmail.com
a6f9f6bc58 Spectral Editing: Using subroutines to shorten code, and more comments in the code. 2014-10-18 16:01:50 +00:00
james.k.crook@gmail.com
37608c2290 Paul Licameli's Spectral Editing Patch.
This relies on three new nyquist scripts to actually do the editing.  The peak-snapping code in FrequencyWindow has been extracted into a new class, SpectrumAnalyst, to provide peak-snapping in spectrogram too.
2014-10-18 14:19:38 +00:00
james.k.crook@gmail.com
f5e593cc4c Paul L's new SelectedRegion class replacing use of t0 and t1. Also LabelTrack.h no longer in TrackPanel.h includes.
This change is believed to be a direct refactoring that does not change functionality.  It paves the way for more complex kinds of selection, such as selections involving frequency as well as time.  It also reduces risk of left and right edges being swapped in future code using SelectedRegion, as the default is to swap on assignment if needed.
2014-10-05 17:10:09 +00:00
lllucius
96324b5520 Add "Delete Label" to right click when editing labels. 2014-07-12 14:26:07 +00:00
benjamin.drung@gmail.com
277932dccb Remove trailing spaces. 2014-06-03 20:30:19 +00:00