1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-07-31 16:09:28 +02:00

303 Commits

Author SHA1 Message Date
Paul Licameli
185d5e132d Avoid some wxString copies 2016-04-17 13:58:21 -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
70bd46b8ad travis 2016-04-09 22:55:15 -04:00
Paul Licameli
fd8fa69c62 Singleton CommandDirectory used to leak! 2016-04-06 16:06:32 -04: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
Paul Licameli
f4441d7476 Command validator cloners return smart pointers, and...
... defined DefaultValidator so Validator can be abstract, as the comment for
Clone() stongly implies it should be.

But this is virtual is unused except in comments.
2016-04-06 16:05:21 -04:00
Paul Licameli
83e9e7de97 Clone functions required by wxWidgets base classes can use safenew 2016-04-06 14:08:43 -04:00
Paul Licameli
de75a00c10 Define movable_ptr and make_movable, use __AUDACITY_OLD_STD__ in fewer places 2016-03-25 20:27:25 -04:00
Leland Lucius
9dc9348127 Fixes bug #1344 (mac build)
In addition, the Xcode project can now build against the 10.6
or 10.7 SDKs.  All that is needed is to change the SDK version
and the other settings will change automatically.
2016-03-07 00:29:26 -06:00
Paul Licameli
057ec565de Fix #includes 2016-03-04 14:32:24 -05:00
Paul Licameli
0c9deb398c Fix mac build. No standard headers in Audacity.h. 2016-03-01 12:22:37 -05:00
Paul Licameli
60bcd7aea2 Fix warnings for unused variables and functions 2016-02-26 14:56:26 -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
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
923a6ce4af Sweep unnecessary wxString copies: commands 2016-02-23 01:40:21 -05:00
Paul Licameli
cf3daebff6 Reviewed allocations of wxMenuBar items. 2016-02-20 20:23:54 -05:00
Paul Licameli
00db530c9b Don't eliminate indirection for CommandListEntry. Explain why. Use unique_ptr 2016-02-19 10:49:50 -05:00
Paul Licameli
d9c2ff6dc2 fix compilation 2016-02-19 01:39:44 -05:00
Paul Licameli
e0c88b1e53 Remove needless indirection for more little structures, in CommandManager...
... Also use std::shared_ptr for functors to simplify resource management
2016-02-18 20:19:27 -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
12a2d066ba Bug1306: Kestroke shortcuts for sub-menu entries now work again...
... for instance, Align sub-menu of Tracks.
2016-01-27 16:10:46 -05:00
Paul Licameli
9c483e2e86 Add (redundant) #include "Experimental.h" in all .cpp files using the symbols 2015-08-31 17:56:10 -04:00
Paul Licameli
ca9928d533 Add missing critical inclusions of Experimental.h to other headers 2015-08-31 17:21:50 -04:00
David Bailes
e8a07c61e2 Fix for problem with the handling of default keystrokes.
In the class CommandListEntry, the default key was being set to an empty string, rather than the correct key.
This resulted in bugs such as: pressing default in keyboard preferences clearing all the shortcuts, entries
being created in audacity.cfg for all commands with keystrokes, and ending up with commands with the same shortcut.
2015-08-26 11:44:50 +01:00
Leland Lucius
d8be1ea3e0 Allow Unicode characters to be used in accelerators 2015-08-24 09:33:54 -05:00
Leland Lucius
7757297d82 Fix OSX special menu items (About, Preferences, Quit)
And convert a few more command manager arguments to const
2015-08-16 06:18:41 -05:00
Leland Lucius
b2b23f1250 Hopefully the last round of keyboard handling changes 2015-08-15 21:52:30 -05:00
Leland Lucius
8504603e8a Should fix keyboard problem on Linux...
...where accelerators were still being recognized when entering
a track name or rate.
2015-08-14 18:40:56 -05:00
Leland Lucius
1b2923e8f4 One more try to get this darn keyboard handling right 2015-08-14 16:37:37 -05:00
Leland Lucius
fdd725fc68 Fit double execution of meta commands 2015-08-13 23:24:58 -05:00
Leland Lucius
e119ffcd78 Do NOT generate keyup, use the system one
David has been trying to beat it into my thick skull that the
command manager should use the system created key up event rather
than generating it, but I just wasn't getting it.

Actually, the documentation for the OSX method I needed to use
to get at the key event before the menus did said that a key up
event couldn't be captured on 10.6 (the oldest we support).  But,
testing showed that it can be, so I was able to do what David was
suggesting.
2015-08-12 18:05:50 -05:00
Leland Lucius
15b4cf2bfa Fix excessive cursor movement 2015-08-11 12:17:25 -05:00
Leland Lucius
04d026e5bc Further fixes for keyboard handling
I'm pretty sure this gets all of the currently known issues, including
the SHIFT+M not working, the Play buttons responding to SHIFT and CTRL,
the ESC key canceling drags, and I'm pretty sure it even fixes
but #784.
2015-08-10 13:15:15 -05:00
Leland Lucius
59b4c9d64b Fix for bug #1126 2015-08-09 23:49:57 -05:00
Leland Lucius
f08c5245f6 Fix bug #1114 2015-08-09 18:49:23 -05:00
Leland Lucius
2a0f9da32d Fix keyboard handling in Lyrics and MixerBoard windows
Apparently, this hasn't worked for a while.  At least back to 2.0.6
anyway.
2015-08-09 18:23:32 -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
4cd7757cf4 Batting 1000 tonight...make sure navigation works on Windows. 2015-08-04 22:41:52 -05:00
Leland Lucius
1e195ecea6 Fix many wx3.1.0 assertions now to prevent double testing 2015-07-30 02:05:23 -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
d39eaa4e65 Remove WaveTrack.h from other headers 2015-07-28 10:02:05 -04:00
Paul Licameli
b89c2a130c Remove Track.h from other headers 2015-07-28 10:02:03 -04:00
Paul Licameli
162418ff07 Fix compilation warnings 2015-06-10 02:04:07 -04:00
David Bailes
a4cc294158 state field in status bar. Previous commit caused linux build to fail. Included a file to hopefully fix. 2015-06-02 15:50:08 +01: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
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