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
c9b5f6bc37
Fix some display problems in scrolling play: mitigate scrollbar flashing, and...
...
... modified click on the transcription toolbar button leaves the button with
the correct appearance.
2016-05-03 23:37:59 -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
2a257fc9bf
Move a few steps in the construction of TrackPanel and AdornedRulerPanel
2016-04-30 22:48:54 -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
d34715d6ad
Various other drags could crash Mac debug build if you option-W. Fixed too...
...
... And I think this fix is now exhaustive.
2016-04-25 01:49:54 -04:00
Paul Licameli
bc80ffe766
Windows build fixes
2016-04-24 01:12:42 -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
0c6a358666
Bug1236: Fix drag and drop of imported files onto main window, for Mac...
...
... As noted in Bugzilla, it was not broken for dragging onto the toolbar icon.
I believe the bug was introduced at bdcefb4850d2d9ab91c403984edc42a1bc01aa51
2016-04-23 09:41:01 -04:00
Paul Licameli
4fc4f529a0
Bug1053: Meaningful status bar messages for scrubbing
2016-04-18 19:28:56 -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
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
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
Paul Licameli
f00144e9a5
Sweep for filename copying: various
2016-04-10 22:26:28 -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
3481e678ea
Manage the members of CommandOutputTarget with smart pointers
2016-04-06 16:06:12 -04:00
Paul Licameli
e8ad90b3c9
Manage Commands and CommandOutputTarget objects with smart pointers
2016-04-06 16:05:28 -04: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
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
c5a70126eb
TrackList always deletes tracks on destruction or when cleared
2016-03-26 15:41:29 -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
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
f42a953752
Track duplication methods return unique_ptr, although some callers...
...
... simply release() them for now.
2016-03-26 11:50:10 -04:00
Paul Licameli
43790cfa56
std::vector for wave track pointers; remove deprecated TrackList function; ...
...
... and some more uses of const
2016-03-01 20:54:48 -05: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
60bcd7aea2
Fix warnings for unused variables and functions
2016-02-26 14:56:26 -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
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
9bf098c7d9
Sweep unnecessary wxString copies: rest
2016-02-23 02:15:56 -05:00
Paul Licameli
8e995d66d0
Avoid extra indirection in FormatList
2016-02-19 10:59:51 -05:00
Paul Licameli
1c07741d57
Sizers are owned by wxWindow objects when added, so use safenew, or...
...
... use unique_ptr in the interim between building them and adding.
This checks eliminates some naked news, which were not paired with deletes.
2016-02-18 18:58:38 -05:00
Paul Licameli
4d78e353c3
Revert "sizers"
...
This reverts commit 84c0a0b6663a1210be502a76ab9c48dd330b3919.
2016-02-18 14:50:52 -05:00
Paul Licameli
84c0a0b666
sizers
2016-02-18 02:54:50 -05:00
Paul Licameli
dbaa811577
Stack-allocate where possible! ...
...
... Removed many unnecessary naked news and deletes.
2016-02-17 18:15:57 -05:00
Paul Licameli
55d85f1b25
Remove more uses of at(); use a std::vector of bare pointers, not wx array
2016-02-16 09:35:03 -05:00
Paul Licameli
df6a7c5464
More uses of safenew for classes we derive from wxWindow classes...
...
... Also removed some unnecessary deletes of widgets that are managed by parent
windows
2016-02-14 20:39:28 -05:00
Paul Licameli
3f237daddc
Use macro safenew for many allocations of wxWindow subclasses
2016-02-14 20:20:19 -05:00
Paul Licameli
6052b5f9be
Throw by value, catch by reference: don't use pointers...
...
... that's what the better books on C++ recommend.
2016-02-14 19:36:17 -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
51fbc697cf
One less indirection accessing Sequence::mBlock
2016-02-03 22:17:08 -05:00