1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-06 23:02:42 +02:00

342 Commits

Author SHA1 Message Date
Paul Licameli
6a3613e8e9 Implement scrub and seek buttons on ruler; redo scrub menu items 2016-06-02 15:55:16 -04:00
Paul Licameli
eafc416d55 Remove double-click and scrolling menu items for scrub/seek...
... Use the toggle button on the ruler instead
2016-06-01 13:30:01 -04:00
Paul Licameli
d424be9a78 Add pin/unpin button to the time ruler 2016-06-01 13:25:02 -04:00
Paul Licameli
e39da0c42b New preference for pinned play head, also in Transport menu 2016-06-01 13:25:01 -04:00
David Bailes
76a53c43b2 Fix bug associated with the Cursor short/long jump left/right commands
Fixes the following bug: if the zoom level is such that the jump does not cause a visible
change in display of the tracks, then the selection in the selection bar, and the play
region are not updated.

The fix simply moves the location of the call to TP_DisplaySelection(), so that it is called
irrespective of whether the tracks are redrawn.
2016-05-14 15:53:11 +01:00
Gale Andrews
5c9469a5e2 Added access key for "Scroll left of zero" 2016-05-13 02:00:07 +01:00
Paul Licameli
737e24e24e Allow pausing and unpausing of scrub. Just treat it differently internally. 2016-05-11 19:59:11 -04:00
Paul Licameli
03ec020085 Revert "Help for debugging of some event handling"
This reverts commit 9bfd66b06ca908efe9bd3adfd7f78cf143d18688.
2016-05-11 13:46:32 -04:00
Paul Licameli
9bfd66b06c Help for debugging of some event handling 2016-05-11 13:25:00 -04:00
Paul Licameli
80e19f2130 Ruler is in the ctrl+f6 cycle instead of reachable by arrows; experimental...
... flag for turning off navigability of the ruler.
2016-05-10 15:16:12 -04:00
Paul Licameli
4394ad1b70 Add a check item to Tracks menu for the scrolling beyond zero preference 2016-05-10 12:47:34 -04:00
Paul Licameli
19ef2f6681 Implement drag-scrub, compatibly with the existing move-scrub...
... Start scrub by click or double click on the scrub head; release button or
not; then move.

If you release before moving, you get scrubbing as before, controlled by
motion.  Click or drag to switch in and out of seeking.  Stop with ESC,
spacebar, etc.  No change of selection.

But now if you drag, then scrubbing contines until you release the mouse or
otherwise stop with a key.

If by release of the mouse, then the selection changes as if by a click at
the last play position.  If you hold shift, then, as if by shift-click.

If drag begins with a double-click, then the play head remains centered and
the track moves.
2016-05-10 09:37:10 -04:00
Paul Licameli
3466e91ed1 Insert calls to DrawOverlays() on the ruler, though they do nothing yet 2016-05-09 11:37:32 -04:00
Paul Licameli
519a2020ff Navigation to and from the ruler using up and down arrow keys...
... This affects those keys (and NUMPAD arrows), also (shift-)ctrl-f6,
ctrl-home, ctrl-end (which are command-left and right on mac)

Those should be tested to ensure correct restoration of the yellow rectangle,
appropriately in the tracks or the ruler.

This should also be tested with and without the Tracks preference for cyclic
movement of the focus.
2016-05-06 16:50:24 -04:00
Paul Licameli
0d9d8a057d Revert "Disable scrubbing when pause button is down."
This reverts commit 97fdce5f85e884cbe6f161963789694015cdf328.
2016-05-06 11:32:56 -04:00
Paul Licameli
97fdce5f85 Disable scrubbing when pause button is down. 2016-05-05 22:48:23 -04:00
Paul Licameli
014d5ab93c Type safety in the use of command flags, and make enum wide, allowing more bits 2016-05-05 20:02:13 -04:00
Paul Licameli
b0d2f38786 ESC leaves scrubbing even when clicked only; disable scrub menu items when...
... another project is playing
2016-04-26 09:02:38 -04:00
Paul Licameli
4fba13bd2a Improved behavior of scrubbing menu items: Checkmarks, and toggling behavior. 2016-04-23 15:07:45 -04:00
Paul Licameli
367b2c1011 Move command functors to a new header file, and generalize with templates...
... so that member functions of other than AudacityProject may be called.

Will use this new generality soon for scrubbing menu items.
2016-04-23 02:05:36 -04:00
Paul Licameli
26771b6db9 Add transport menu items for scrubbing and seeking...
... This includes new always-seeking modes unlike scrubbing which can switch
to seeking and back according to the left mouse button state.

The reason for this is that visually impaired users should not be required to
click with the mouse in the track panel window to signal seeking.  But mouse
movements can still control scrubbing, because we poll the global mouse
position in the timer, not relying on events from any window object.
2016-04-21 12:13:39 -04:00
Paul Licameli
a0290c09d2 Bug1382: Should not make an undo item when exporting with no metadata changes 2016-04-19 18:14:35 -04:00
Paul Licameli
01001fdea9 New alternative appearance for the transport toolbar play button, for scrubbing 2016-04-19 17:34:38 -04:00
Paul Licameli
ce95bce85a Bug991: Pause button and command should be disabled during scrubbing...
... and they will be as soon as ctrl-mouse down.
2016-04-18 21:49:27 -04:00
Paul Licameli
d5915491b3 Bug1342: Loop-play (and other things) before scrub (and other things)...
... should not disable auto-scrolling of the window during playback.
2016-04-18 17:50:17 -04:00
Paul Licameli
5d28a05702 RAII object for pausing and unpausing OD manager 2016-04-13 17:57:10 -04:00
Paul Licameli
1033095696 RAII for locking of WaveTracks 2016-04-12 00:55:59 -04:00
tip2tail
6686d0e314 Introduce further enhancement of the Timer Recording process:
* Disk space warning if the recording potentially will not fit in disk space available.
* ProgressDialog enhancements that allow the Stop/Cancel button to be confirmed and the elapsed time to be hidden.
* Messages enhanced to clearly show the actions being taken.
2016-04-09 14:23:28 +01:00
Paul Licameli
0ebc23e3a9 Another compilation fix in EXPERIMENTAL_SCOREALIGN, and one less delete 2016-04-08 21:50:15 -04:00
Paul Licameli
cea79d5b73 Bug1282: change of enabled state of Stereo To Mono should be persistent 2016-04-05 18:43:43 -04:00
Paul Licameli
8ae361d415 Fix some of the compilation breakage in EXPERIMENTAL_SCOREALIGN...
... But some of the header files and functions just don't exist any more.
2016-04-02 15:46:56 -04:00
James Crook
7429848573 Merge remote-tracking branch 'myoung/FurtherTRImprovements' 2016-04-01 10:26:56 +01:00
tip2tail
4956ce3e68 Changes as per James's advice, allow Timer Recording to be used when project is empty if user has disabled warnings in prefs. Also resolved a further message whitespace issue. 2016-03-31 22:26:26 +01:00
Paul Licameli
13595620cf Fix mac build 2016-03-30 23:24:39 -04:00
tip2tail
aa5ffe99a7 Timer Recording Enhancements to allow Automatic Save and Export after
recording.  Also allows for additional options to be carried out after a
successful timer recording such as Exit, Retsrat and Shutdown.
2016-03-30 20:42:59 +01:00
Steve Daulton
484f23dcc7 Fix for bug 814 2016-03-28 21:07:25 +01:00
Paul Licameli
a6ca36cdab TrackList holds smart pointers to tracks, Add() only takes rvalue refs to such 2016-03-26 15:41:31 -04:00
Paul Licameli
7d1ea7b82e Use a static unique_ptr for the global clipboard 2016-03-26 15:41:30 -04:00
Paul Licameli
824ff647f8 Import functions return containers of smart pointers to new tracks 2016-03-26 15:41:27 -04:00
Paul Licameli
bc5519a0e2 TrackList::Remove and TrackListIterator::RemoveCurrent always delete the track 2016-03-26 15:41:26 -04:00
Paul Licameli
81c2cc950f Rewrite the sorting of tracks 2016-03-26 15:41:24 -04:00
Paul Licameli
c4fc7e2bf0 MixAndRender returns unique_ptr results (in a std::pair) 2016-03-26 11:50:14 -04:00
Paul Licameli
3015a9c8d9 Track cut and copy functions return a unique_ptr argument...
... Because they are factory functions.
2016-03-26 11:50:13 -04:00
Paul Licameli
5ef4dd46a5 TrackFactory functions return std::unique_ptr, although some callers...
... release() them for now.
2016-03-26 11:50:12 -04:00
Paul Licameli
5162ab5c5b Use TrackFactory in more places...
... There should now be no direct allocation of Track subclasses with new,
except in those classes' own methods
2016-03-26 11:50:09 -04:00
Paul Licameli
7ed4c050cb Fix unused argument warning 2016-03-15 00:09:36 -04:00
Paul Licameli
4cf9e0e6d6 Bug1354: Importing MIDI via Import Audio... and list-of-files should undo...
... also fixes a possible memory leak in direct Import MIDI... along the
failure path.
2016-03-14 11:02:09 -04:00
Paul Licameli
48a5f55179 More const qualifiers, for copying of tracks, and replacing in lists of tracks
... (the tracks may be const, not the list, when replacing)
2016-02-27 17:30:30 -05:00
Paul Licameli
60bcd7aea2 Fix warnings for unused variables and functions 2016-02-26 14:56:26 -05:00
Paul Licameli
990080ae7d Replace virtual with override wherever possible; eliminate needless virtual...
... for functions in final classes.

override is like const -- it's not necessary, but it helps the compiler to
catch mistakes.

There may be some overriding functions not explicitly declared virtual and I did
not identify such cases, in which I might also add override.
2016-02-26 12:35:38 -05:00