1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-07-27 06:07:59 +02:00

6005 Commits

Author SHA1 Message Date
Paul Licameli
79a9f3f599 Simplify sorting of effects 2018-02-21 21:43:02 -05:00
Paul Licameli
097764d94c Distinguish Effect Family Id from Effect Family Name...
... and the distinction makes a difference only for built-in effects.

"Id" is meant to persist in pluginregistry.cfg, and is constrained by how
previous versions of Audacity were written.

"Name" is not persistent, so we have the liberty to change it, as done here
for the built-ins.
2018-02-21 21:43:01 -05:00
Paul Licameli
3b32d39b54 Remove wxArrays of pointers 2018-02-21 19:33:32 -05:00
Paul Licameli
8be1e8fdad Remove wxArray(Int|Long|Double) except where wxWidgets fns need it 2018-02-21 19:33:31 -05:00
Paul Licameli
080dd34e61 Get rid of wx object arrays, use std::vector 2018-02-21 19:33:27 -05:00
Paul Licameli
2fbe04eda0 Replace more Connect with Bind; needed redeclaration of custom events 2018-02-21 19:30:40 -05:00
Paul Licameli
e6e8e3251c Rewrite more Connect() with Bind(), which were type incorrect...
... though harmlessly so.  They called to nonstatic member functions of classes
with improper this pointers; though the functions did not use this.

Bind events to nonmember funtions instead.  Sometimes just to empty lambdas to
consume the event and ignore it, blocking other handlers.
2018-02-21 19:28:12 -05:00
Paul Licameli
2f3604bdea Rewrite many calls to Connect() with Bind()...
... it's the more modern way, and does better type checking, without the
dubious casts of pointers-to-member-functions.
2018-02-21 19:28:11 -05:00
Paul Licameli
bf5228267a Calls to Disconnect or Unbind in destructors are not needed, if...
... it's either the source of the connection that is being destroyed, or other
object (such as an ancestor window) transitively owning it and so causing it to
be destroyed too;

or, the sink is being destroyed, and that sink is a wxEvtHandler (which is
always so for Disconnect, though not for Unbind in case Bind was passed a
member function of a non-wxEvtHandler).

wxWidgets takes care of erasing the connection in such cases.

This removes most calls to Disconnect and Unbind.  Many destructors shrank to
nothing.

Notably, in case of popup menu handling, the call to Disconnect is not removable
because the object being destroyed is neither the source nor the sink.
2018-02-21 19:28:06 -05:00
Paul Licameli
12983e1685 Use wxWeakRef to avoid dangling pointer 2018-02-21 19:25:04 -05:00
Paul Licameli
6e7d7447c1 Use an enum class for numeric validator styles 2018-02-21 19:21:08 -05:00
Paul Licameli
cad632b9b0 Allow specification of range in the constructor arguments for brevity 2018-02-21 19:21:08 -05:00
Paul Licameli
97a8cf52d4 More constructor arguments for EffectScienFilter 2018-02-21 19:21:06 -05:00
Paul Licameli
aa72cae61b Follow wxWidgets argument conventions for other window factories 2018-02-21 19:21:05 -05:00
Paul Licameli
5e10ec0def Options for constructing ASlider, and can specify scroll increments 2018-02-21 19:21:05 -05:00
Paul Licameli
228388a63c Follow wxWidgets argument conventions for PrefsPanel factories 2018-02-21 19:21:04 -05:00
Paul Licameli
151cbb1305 Follow wxWidgets argument conventions for other ctors 2018-02-21 19:21:03 -05:00
Paul Licameli
ab5ff9060b More constructor arguments for RulerPanel 2018-02-21 19:21:03 -05:00
Paul Licameli
8625df6814 More NumericTextCtrl constructor options 2018-02-21 19:21:02 -05:00
Paul Licameli
5724780be9 NumericTextControl ctor arguments...
... follow wxWidgets conventions for first two arguments; add Options
2018-02-21 19:21:02 -05:00
Paul Licameli
e0d826a542 Prohibit copy of TrackList, no longer needed; allow swap and move 2018-02-21 19:21:01 -05:00
Paul Licameli
c0f2782695 Fix interaction of recording and undo...
... in case you also do things, concurrent with the recording, that affect the
undo stack, either by pushing it (such as by changing the gain on one of the
playing tracks, or making a label) or by "Modifying state" without a new undo
item (such as when you change its size or mute or solo).
2018-02-21 19:21:00 -05:00
Paul Licameli
b2c69cb0f6 Define WaveTrack::Reinit() 2018-02-21 19:21:00 -05:00
Paul Licameli
28eeca5fa7 Iterate over the pending tracks for drawing and sizing the scrollbars 2018-02-21 19:20:58 -05:00
Paul Licameli
d08ae18ca4 Change details of focusing of tracks in presence of pending ones...
... Don't focus a pending changed track but remap it to the original.

You can focus a pending added track.
2018-02-21 19:20:58 -05:00
Paul Licameli
fa0fb7d8e5 Disable Undo and Redo while there are pending changes in TrackList...
... But perhaps we are developing the means to relax even this ban safely.

For instance, why not undo a mistaken AddLabelPlaying command (Ctrl+M) without
stopping the recording?
2018-02-21 19:20:57 -05:00
Paul Licameli
43776f5263 Don't push vacuous undo items...
... Vacuous pushes should not happen yet, but may happen after the machinery
for pending track changes is added and used.

This will only detect the case of one new recording track being modified. It
will not detect it if that track is modified, but other tracks exist that are
not modified.
2018-02-21 19:20:57 -05:00
Paul Licameli
539e870302 Add machinery to TrackList for pending changes to tracks 2018-02-21 19:20:56 -05:00
Paul Licameli
33cfd92c0a Define TrackId to identify tracks across undo states 2018-02-21 19:20:56 -05:00
Paul Licameli
3f05063681 Split "Do" functions out of the "Set" functions for some Track settings 2018-02-21 19:20:55 -05:00
Paul Licameli
242e9a5668 Some reimplementation of track iterators and GetLink() ...
... avoiding direct usage of the inherited end() and of the increment and
decrement of the std::list iterators
2018-02-21 19:20:55 -05:00
Paul Licameli
9dd5b521ea Make the experimental effects rack window compilable and usable...
... though there remain crash bugs to figure out, turning it on and off
during play.
2018-02-21 19:20:54 -05:00
Paul Licameli
586542bfe2 Remove post-translation substitutions 2018-02-21 19:20:54 -05:00
Paul Licameli
0aad028c9b Simplify calls to Effect::Delegate 2018-02-21 19:20:53 -05:00
Paul Licameli
a3be011bf6 inclusions of Audacity.h 2018-02-21 19:20:53 -05:00
Paul Licameli
574a20f95f Rename SpecPowerMeter as SpecPowerCalculation 2018-02-21 17:50:29 -05:00
Paul Licameli
57ce726a25 Rename Meter as MeterPanel, and some DOxygen 2018-02-21 17:50:28 -05:00
Paul Licameli
ee4f35f288 Rename Lyrics as LyricsPanel, and some DOxygen 2018-02-21 17:32:08 -05:00
Paul Licameli
e57afb3729 Fix many unused argument warnings in Menus.cpp 2018-02-21 15:18:38 -05:00
Paul Licameli
803022db11 Open 2.3.0 alpha development 2018-02-21 15:18:09 -05:00
Matt Whitlock
e1f0e974d0
Fix --without-midi build
See downstream bug: https://bugs.gentoo.org/637110
2018-02-21 12:19:19 +01:00
Paul Licameli
423908e668 Release build 2018-02-11 22:00:50 -05:00
Paul Licameli
c9c5421e49 Properly hide non-Full keyboard defaults containing Command+ on Mac 2018-02-08 17:19:18 -05:00
Paul Licameli
2b3be3208e Fix repaint of Mixer board after change of track name...
... Problem was introduced in 2.2.0 at commit dc05b94

Also, in MixerBoard, change name whenever changing the label, which might
matter to screen readers.
2018-02-07 05:16:29 -05:00
Paul Licameli
1498958562 Hold safer shared_ptrs to tracks in MixerBoard 2018-02-05 20:33:54 -05:00
Paul Licameli
a663fefb8c Up to date credit link for vorbis 2018-02-05 09:00:58 -05:00
Paul Licameli
4a24e2c089 Splash: make a big one 2018-02-05 08:56:16 -05:00
Paul Licameli
007fa9eca2 http -> https in user-visible strings...
... Some in wxT can be edited directly, some in _() are not really used now
so they can be edited directly, others require a post-translation substitution.

Not all links to libraries from Credits work with https: so update only those
that do.
2018-02-05 08:52:13 -05:00
Paul Licameli
298f3111b4 Update copyright date in About window 2018-02-04 21:01:50 -05:00
Paul Licameli
1ced86fce1 Beta build 2018-01-28 21:33:49 -05:00