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