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
Leland Lucius
f6cbc5e6db
Merged a couple of patches from Debian, one of which should fix bug #1147
2015-08-25 23:08:12 -05:00
Leland Lucius
6a9dae20f5
Appearance on OSX is now back to normal or better
...
Some additional wx3 cleanup as well.
2015-08-23 20:25:01 -05:00
Paul Licameli
1b8f44d053
ViewInfo does not redundantly (or inconsistently!) store the screen width
2015-08-21 22:39:18 -04:00
Leland Lucius
300f0f05a0
Move TrackPanel keyboard handling out of AudacityProject...
...
...and into TrackPanel where it should be.
2015-08-09 18:26:29 -05:00
Leland Lucius
f36fe29f96
Fixes for bugs 1122 and 1113
...
Several other issues were also fixed (hopefully ;-)).
This is a major change to accelerator handling and keyboard
capturing. Menu shortcuts, non-menu commands, label editing,
navigation, and basically anything else were you might use
the keyboard should be thoroughly tested.
2015-08-08 00:01:24 -05:00
Leland Lucius
37168ebbf6
Merge remote-tracking branch 'upstream/master' into wx3
2015-07-28 15:06:25 -05:00
Leland Lucius
5bdfcff97d
Menu shortcut hiding has been removed
...
It had been causing problems in Unity for a while now and they
were missing on OSX as well in wx3. So, the old menu Open/Close
method of hiding has been removed and replaced with an event
filter/monitor which looks for wxEVT_CHAR_HOOK events to pass
key events to the handler that has the keyboard captured.
2015-07-28 14:35:09 -05:00
Paul Licameli
4a4918a3f8
More uses if IsUnsafe() or IsAudioActive()
2015-07-28 11:49:53 -04:00
Paul Licameli
f35d519c21
Define AudacityProject::RollbackState() for reuse elsewhere
2015-07-28 11:49:52 -04:00
Paul Licameli
d39eaa4e65
Remove WaveTrack.h from other headers
2015-07-28 10:02:05 -04:00
Paul Licameli
6b9e7506dd
Ruler-drawing does not assume uniform zoom, ...
...
... and AdornedRulerPanel exposes an invalidation function for later use
2015-07-19 11:44:18 -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
5a6d5d1443
Add and use some ZoomInfo and ViewInfo member functions, so we can eliminate...
...
... miscellaneous direct uses of ZoomInfo::zoom to test and set zoom level.
This includes all the remaining assignments to it.
But moving TrackInfo::PositionToTime and TrackInfo::TimeToPosition into
ZoomInfo and using them is needed to eliminate many more uses.
Also #if'd out the unused AudacityProject::OnZoomToggle().
2015-07-19 11:44:02 -04:00
Paul Licameli
79305db179
Project.h does not need Meter.h
2015-06-10 00:29:47 -04:00
David Bailes
391bd1691c
status bar state field. When you move to the menubar, the state field is no longer cleared. This was achieved by introducing a dummy field of width 0. When you first open a new audacity project, the state is stopped - previously the state only appeared after the first play/pause/etc command.
2015-06-02 15:18:46 +01:00
Leland Lucius
0ef7ccb1d1
Fix permissions...not sure why this was happening though
2015-05-29 19:49:28 -05:00
David Bailes
5c67bc38b3
Add a field to the status bar to show the state of Audacity, eg play/record/play pause. This is useful so that screen readers can easily read audacitys state.
2015-05-29 17:47:43 +01:00