1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-20 06:10:06 +02:00

314 Commits

Author SHA1 Message Date
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