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

131 Commits

Author SHA1 Message Date
Paul Licameli
625584d99a Bug1431: Undocked toolbars should hide when project window minimizes 2016-06-29 15:13:38 -04:00
Paul Licameli
ae14cb0dbc Allow tabbing to the button on the time ruler...
... by making the ruler and the upper tool dock part of one panel
2016-06-25 16:08:38 -04:00
Paul Licameli
1b1b0ba5e7 Remove forward declaration of nonexistent type 2016-06-12 08:24:27 -04:00
Paul Licameli
a610070038 May always scroll before zero during transport when head is pinned...
... regardless of preferences, but if the Tracks preference is not checked,
don't stay scrolled left of zero after stopping.
2016-06-08 18:33:02 -04:00
Paul Licameli
8dab37de01 Scrub menu check items change pushed state of scrub toolbar buttons 2016-06-06 00:48:50 -04:00
Paul Licameli
e4fadf4aaf Improve scrubbing speed control (2 finger swipe) on Mac 2016-05-28 11:59:22 -04:00
Paul Licameli
c66262d790 Double click on Record button pins record head right, not center 2016-05-17 12:25:39 -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
7c2a531486 New base classes of TrackPanel just for the bitmap backing and overlay system...
... to make it reusable by other classes.

Also, don't create a second DC when repainting TrackPanel.
2016-05-09 11:37:32 -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
f48694ef47 Move the code that scrolls during scrub out of Scrubbing.cpp 2016-05-03 22:43:19 -04:00
Paul Licameli
9ab0e42f29 Control scrub with motion, click, drag, wheel almost anywhere in main window...
... if the event is not handled and skipped by sub-windows first, such as for
toolbar button clicks.

(But track panel clicks are skipped even after doing something, so they may
also cause seeking besides other responses.  So click can seek AND set cursor.)

This is meant to make drag to seek and wheel for change of speed easier,
without needing to keep the mouse in the narrow time ruler.

Also lets you click in the ruler, then move in any direction, and not miss the
motion event that should start the scrub playback.

The event handling is a bit of a hack, using propagation.  It does not use
capture.
2016-04-26 12:12:06 -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
8b7ae748a3 Scrub speed as overlay; scrub event handling details out of TrackPanel.cpp 2016-04-18 14:31:36 -04:00
Paul Licameli
1722ee9e32 Define TrackPanelOverlay, use it to reimplement play indicator and cursor...
... but scrub speed display is disabled
2016-04-18 14:31:36 -04:00
Paul Licameli
185d5e132d Avoid some wxString copies 2016-04-17 13:58:21 -04:00
Paul Licameli
1033095696 RAII for locking of WaveTracks 2016-04-12 00:55:59 -04:00
Paul Licameli
cfaf3564a2 travis 2016-04-11 16:00:29 -04:00
Paul Licameli
f9da767cbd Remove a friend declaration from Project, privatize a pointer member...
... and make implementation of that pointer a smart one.
2016-04-11 14:42:57 -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
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
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
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
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
dfc84d030c Fix warnings for out-of-order initializers, with in-class member initializers 2016-02-26 14:56:30 -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
Paul Licameli
7824e94030 Harmlessly qualify classes as final (or explicitly comment not)...
... Should have no effect on generated code, except perhaps some slight faster
virtual function calls.  Mostly useful as documentation of design intent.

Tried to mark every one of our classes that inherits from another, or is a
base for others, or has abstract virtual functions, and a few others besides.
2016-02-24 20:58:30 -05:00
Paul Licameli
e815090139 travis 2016-02-24 20:30:26 -05:00
Paul Licameli
88eeebcb8b Undoing and redoing of Tags...
Use reference counting (in std::shared_ptr) to avoid replicating Tags with each
Undo state.
2016-02-24 19:25:39 -05:00
Paul Licameli
e12a060751 Define UndoState 2016-02-24 19:10:40 -05:00
Paul Licameli
cd9bd79d83 Use an enumeration for UndoManager::PushState 2016-02-24 19:10:35 -05:00
Paul Licameli
73ced7b93f Remove UndoManager.h from other headers 2016-02-24 19:10:34 -05:00
Paul Licameli
0c182c3c0b Shrink the command functor objects by using more subclasses...
... Let virtual function dispatch do the work, don't write our own dispatch!
2016-02-24 15:17:06 -05:00
Paul Licameli
9bf098c7d9 Sweep unnecessary wxString copies: rest 2016-02-23 02:15:56 -05:00
Paul Licameli
7c4c45a0d5 "new"->"NEW" in comments, easier to find remaining naked operator new 2016-02-14 18:52:41 -05:00
Paul Licameli
56e7653343 "delete"->"DELETE" in comments, easier to find remaining naked operator delete 2016-02-14 18:50:45 -05:00
Paul Licameli
c9fa5000fc Merge branch 'bug1197' 2016-01-28 10:38:44 -05:00
Paul Licameli
f47cb3d528 Bug1197, yet again: extreme zoom-in behavior, now Mac specific: ...
...fix differing results on Mac by calculating only in double, so that selection
remains centered at extreme zoom-in for long projects (about 20 min.) and
selection after about 15 min.
2016-01-28 10:36:48 -05:00
Paul Licameli
4b8a413bbb Bug198: Change of selection format or snap-to should affect selection at once 2016-01-22 10:05:35 -05:00
Leland Lucius
49fc3336eb Temporary fix for bug #964 2015-09-04 01:24:28 -05:00
Paul Licameli
62765cb4c5 Put one of those functions back... I will need it in future. 2015-08-30 13:47:12 -04:00
Paul Licameli
05de64e251 Remove unused fns; fix missing & misspelled headers in make & project files 2015-08-30 13:19:08 -04:00
Paul Licameli
ca761893c8 Removed unused method of TrackPanelListener 2015-08-30 12:35:13 -04:00
Paul Licameli
f49dbae9e2 Move minimize and close details out of TrackPanel.cpp 2015-08-29 13:46:26 -04:00
Paul Licameli
45e91f165a Move gain and pan details out of TrackPanel.cpp 2015-08-29 13:46:16 -04:00
Paul Licameli
6bfd3ee54a Move Mute and solo details out of TrackPanel.cpp 2015-08-29 13:45:51 -04:00
Paul Licameli
e7482c74bd Move cursor moving functions out of TrackPanel 2015-08-27 21:22:41 -04:00
Paul Licameli
6c6fc360ca Put the scroll-beyond-zero flag in just one place, ViewInfo 2015-08-26 23:17:20 -04:00