1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-09 08:12:40 +02:00

11502 Commits

Author SHA1 Message Date
Paul Licameli
393a098b69 Store a string identifier in each menu item...
... which is not yet used for anything.

It could be used to describe textual paths for attaching plug-in menu items.

Strings are only path local, not necessarily globally unique, and may be
left empty for separators and for groups that should be transparent to
path identification.

It may also be empty for certain sub-menus, such as those that group effects
according to the changeable criteria in Preferences.
2020-01-24 18:05:56 -05:00
Paul Licameli
f6e5696146 Most functions defining menus compute once and cache the result...
... Except a few where project or plugin manager state or preferences are
needed to compute the items, so evaluation is delayed, often inside lambdas

Comment "Delayed evaluation" wherever there are exceptions
2020-01-24 18:05:56 -05:00
Paul Licameli
33b4b409e8 Change class hierarchy of MenuTable::BaseItem...
... There are now four immediate subclasses (SharedItem and Computed Item,
which are final, and SingleItem and GroupItem, which are abstract), which may
serve future purposes more general than menu items.  There are further
subclasses specific to menu management.

The former concrete class GroupItem is renamed TransparentGroupItem.

Also allows direct construction of items in lists from shared pointers.
2020-01-24 18:05:56 -05:00
Paul Licameli
93c2bb9322 Delay evaluation of checkmark states...
... so that more menu item descriptions can be statically constructed once only
2020-01-24 18:05:56 -05:00
Paul Licameli
512c27d422 Simplify the FN macros in src/menus/*.cpp...
... Eliminate repetitious passing of the finder function into each of the
calls to Command and CommandGroup.
2020-01-24 18:05:56 -05:00
Paul Licameli
702b8b1e9d More specific return types for builders of menu descriptions 2020-01-24 18:05:56 -05:00
Max Maisel
17ef5b1c75 Fix two bugs in loudness effect (#410)
* Calculate loudness for short or silent selections as well.

In case of selections shorter than 400ms (one momentary loudness block),
take what we have got and divide only be the actual length.

Abort loudness normalization silently if the selected audio is all
silent.

* Fix loudness effect bug when selection includes a gap.

If the selected audio in a track contained a gap between two clips,
an incorrect amount of samples was processed.
2020-01-24 18:04:19 +00:00
Paul Licameli
921d7f28ef Correct a naked new 2020-01-24 10:25:51 -05:00
Paul Licameli
5ecd090266 EffectUIHost uses ShuttleGui 2020-01-23 19:10:38 -05:00
Paul Licameli
b5b9ab6ecd EffectUIHost::BuildButtonBar uses ShuttleGui 2020-01-23 19:06:23 -05:00
Paul Licameli
c28c170cc0 EffectUIHost::Initialize uses ShuttleGui 2020-01-23 19:06:23 -05:00
Paul Licameli
eb3e5d8f6f Factor EffectUIHost::Initialize 2020-01-23 19:06:23 -05:00
Paul Licameli
1c84932dfa EffectUIClientInterface::PopulateUI takes ShuttleGui & 2020-01-23 19:06:23 -05:00
Paul Licameli
eff5b2ef92 Make Effect::PopulateUI final (no special case for Equalization) 2020-01-23 19:06:23 -05:00
Paul Licameli
358aac3181 Change some behavior of ShuttleGui::AddBitmapButton...
... which is not now used, but soon will be
2020-01-23 19:06:17 -05:00
Paul Licameli
e8855257cc Less user-interface code in Effect.cpp 2020-01-23 15:24:17 -05:00
Paul Licameli
46e99bb038 Move EffectPresetsDialog out of Effect.cpp 2020-01-23 15:23:46 -05:00
Paul Licameli
808d4accfd Remove some friends from Effect 2020-01-23 15:23:46 -05:00
Paul Licameli
e5625bfb89 Move EffectDialog out of Effect.cpp 2020-01-23 15:23:43 -05:00
Paul Licameli
c56a10c5bb More restructuring of Ruler update code 2020-01-23 13:59:17 -05:00
Paul Licameli
68281fe0ee Split up Ruler::Updater::Update 2020-01-23 13:53:54 -05:00
Paul Licameli
580ad8221e Mutable cache for ruler updates, so Draw functions can be const 2020-01-23 13:51:12 -05:00
Paul Licameli
a2babc646f Use the correct font to find lead size for custom fonts 2020-01-23 13:39:22 -05:00
Paul Licameli
99064d6dd5 Mutable cache for Ruler's chosen fonts 2020-01-23 13:35:32 -05:00
Paul Licameli
21306d6186 Remove indirection storing number scale in Ruler 2020-01-23 13:27:05 -05:00
Paul Licameli
fec3b11674 Demote more of the ruler updating procedure into Updater 2020-01-23 13:18:47 -05:00
Paul Licameli
fe4db0dd8e Nix Ruler member vars used only for grid drawing; more const methods 2020-01-23 12:56:11 -05:00
Paul Licameli
ef44143cbf Fix a comment 2020-01-23 12:56:10 -05:00
SteveDaulton
9a0ee24c5c bug 2290: Add error message
See https://bugzilla.audacityteam.org/show_bug.cgi?id=2290#c9
2020-01-23 12:59:53 +00:00
Paul Licameli
10eb5864ac Don't quit update of vertical ruler of short spectrogram views...
... This caused visible anomalies, for instance when dragging the stereo track
separator between channels.  Numbers from one channel used to be drawn over
the ruler of the opposite channel.
2020-01-22 20:21:45 -05:00
Paul Licameli
537ace493e Don't draw 0 at top of spectrogram scale (bug in 8cf7d0b) 2020-01-22 19:58:53 -05:00
Paul Licameli
4a9c14bb38 Some transformation of Ruler update code into something less confusing...
... about where the dependencies of the calculations on Ruler state lie.

This doesn't yet fix the bugs in vertical ruler scales.
2020-01-22 13:42:19 -05:00
Paul Licameli
ec723466ba Invalidate Ruler, whenever anything the Updater uses is reassigned 2020-01-22 13:38:37 -05:00
Paul Licameli
edba1b5b28 Avoid unnecessary update before drawing ruler grid...
... which matters for some displays such as in Equalization, though not for
track vertical rulers
2020-01-22 13:38:36 -05:00
Paul Licameli
b0154f89e0 Move Tick and TickCustom methods to temporary worker structure...
... which forces us to be more explicit about just what parts of the Ruler
state are used in it (when we construct it) and be sure they don't modify it
2020-01-22 13:38:34 -05:00
Paul Licameli
8cf7d0b8e9 Make Ruler::Tick and TickCustom const member functions...
... on the way to making them not (direct) member functions of Ruler.

Hoist the choice of font and destination label array out of them, and
group other outputs into an argument.
2020-01-22 12:51:08 -05:00
Paul Licameli
2c0afdd77a TickSizes::LabelString takes one less argument...
... so that Ruler::Tick uses major in one less place
2020-01-22 12:09:52 -05:00
Paul Licameli
80dd2fbec9 Further factoring of font size setting...
... and fix uninitialized lead size in case of user-supplied fonts (though
this capability isn't yet used anywhere)
2020-01-22 12:09:52 -05:00
Paul Licameli
e08543650b Factor function to choose ruler fonts 2020-01-22 12:09:52 -05:00
Paul Licameli
3876031669 Group ruler fonts and lead into a structure 2020-01-22 12:09:52 -05:00
Paul Licameli
80f884b0b7 Don't need extra indirection handling wxFont, see documentation of it 2020-01-22 12:09:52 -05:00
Paul Licameli
05c80cfb4f narrow scopes of loop indices 2020-01-22 12:09:52 -05:00
Paul Licameli
605a4056c9 Fix bug in 3a64b17...
... which make, for instance, excessive tick marks when in Mel spectrogram
scale
2020-01-22 12:08:37 -05:00
Paul Licameli
a14d5c348a Eliminate Ruler::mDC 2020-01-21 19:58:05 -05:00
Paul Licameli
3a64b172c8 Demote duplicated code in Ruler into a static function 2020-01-21 19:36:02 -05:00
Paul Licameli
8729f3fb8e Simplify Ruler with std::vector members 2020-01-21 16:07:27 -05:00
Paul Licameli
7682961f53 Remove unused members of Ruler 2020-01-21 15:17:51 -05:00
Paul Licameli
a84391b4a2 Eliminate some members from Ruler...
... Move some fields used only during formatting into a temporary structure.

(And fixing a minor problem with uninitialized variables in case of logarithmic
scale, which made it unpredictable how Plot Spectrum with logarithmic
frequencely axis formatted numbers.)
2020-01-21 12:53:33 -05:00
SteveDaulton
32a60103b4 bug 2290: Bail if no DTMF sequence 2020-01-20 21:29:50 +00:00
Paul Licameli
9cd7a5eaf3 Bug2277 partial: in dB ruler, always draw midline value if in range...
... and also draw the zeroes if in range, taking precedence over the extreme
values (which might be positive dB values when zoomed out or scrolled).

See comments 10 and 11 in the bug report.
2020-01-20 12:29:28 -05:00