1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-09-19 09:30:52 +02:00

869 Commits

Author SHA1 Message Date
Leland Lucius
a7bd7331ac Bug 625 - Track Pan / Gain sliders don't show tool tip on hover 2020-03-09 11:06:07 -05:00
James Crook
efc8f216b1 Clearer code for TimeTrack ruler
(Thanks to pi1024e)
2020-03-09 12:00:20 +00:00
James Crook
836bc36536 Bug 2248 - Multi-view: can get numbers overflowing the Vertical Scale 2020-02-25 13:09:48 +00:00
Paul Licameli
2e314b9dd2 ScrubForwarder pushes and pops itself on the window handler stack...
... Fixing crashes on close of project window seen in some Linux builds of
2.3.3.  The bug began at commit a3b434be1cd42ff7c99821de4ea52c0945cb0baa
2020-02-21 14:15:14 -05:00
Paul Licameli
d06625ba60 Revert "Fix unbalanced event handler push/pop"
This reverts commit 8ac5699fcd625c102eacc3058ab748d3c5860006.
2020-02-21 12:42:24 -05:00
Leland Lucius
8ac5699fcd Fix unbalanced event handler push/pop
Fix was provided by Hans Petter Selasky with the following comment:

   This is a regression issue after:

   Move the scrub mouse event handler into ScrubUI...

   Where:
      if (mWindow)
           mWindow->PushEventHandler(&mForwarder);

   was removed from the Scrubber() constructor function and
   not from the ~Scrubber().
2020-02-21 10:57:30 -06:00
Paul Licameli
adb46093fa Show drag cursor to rearrange tracks only when there is more than one 2020-02-20 13:41:18 -05:00
Paul Licameli
e4d5eefee0 A tooltip for the sub-view rearranging cursor 2020-02-20 13:25:03 -05:00
Paul Licameli
38bf4f558b Better cursors for open and closed hands 2020-02-20 13:16:13 -05:00
James Crook
0fcb965b15 Revert 72f20d91; Pointer for TCP cursor.
- The TCP cursor is indicating both selection and dragability, so we use the arrow (as UI for tabs does, which are selectable and draggable).
- When actually dragging, we use the clenched fist icon, not the new clenched fist with the fingers cut off icon (aka snowball icon).
2020-02-17 19:17:36 +00:00
Paul Licameli
3b9b0eb5f2 Register Wave Color, Spectrogram Settings popup menu items 2020-02-15 15:58:02 -05:00
Paul Licameli
4d7a9f00a1 Popup menu table for wave track has member function to get the track 2020-02-15 13:52:41 -05:00
Paul Licameli
46f958f376 Use computed registry items for conditionally shown popup menu items 2020-02-14 21:38:07 -05:00
Paul Licameli
ab4751d092 Remove some unused things 2020-02-14 09:43:55 -05:00
David Bailes
d28c2417db Minor fix to my commit e030225
Forgot that the initial speed can be negative.
2020-02-12 14:06:58 +00:00
David Bailes
e0302257c5 Keyboard scrubbing and Play-at-speed: remove initial silence
Currently AudioIoCallback::ScrubState::Get(), inserts a period of silence the first time it's called because at this time Scrubber::ContinueScrubbingPoll() has not been called, and so message.end has not been set to an appropriate value.
In the case of keyboard scrubbing and play-at-speed, the initial speed is already known, so message.end can be set to this value, removing the need for an initial silence.
The start of keyboard scrubbing and play-at-speed are now faster (the latter very much faster).
2020-02-11 15:56:12 +00:00
Paul Licameli
db3543500c Each popup menu item can carry a callback to check or disable it 2020-02-09 23:48:40 -05:00
Paul Licameli
e1e0869e26 Replace some macros for popup menus with function calls 2020-02-09 23:48:40 -05:00
Paul Licameli
8f88aa106e Bug2312: don't crash using Wave Color, Format, Rate sub-menus of TCP 2020-02-08 13:20:18 -05:00
Paul Licameli
d631697321 Reorganize "Wave Color" and "Spectrogram Settings" in TCP menu...
... Now they are treated more alike:

Each is shown or hidden (not enabled or disabled) as the corresponding sub-view
of the wave track is shown or not.

Each has separator lines above and below.

They are shown (one or the other or both) after the choices for sub-views, and
not near the bottom of the menu.

This makes the TCP menu one item shorter in the default case that you view only
waveform.
2020-02-06 17:52:58 -05:00
Paul Licameli
99e3dd5d3f Require an identifier for each popup menu item 2020-02-06 00:52:54 -05:00
Paul Licameli
f68da05c1d PopupMenuTable ctor requires an identifier 2020-02-06 00:52:54 -05:00
Paul Licameli
08b1be5514 Macros describe popup menus' sections, not their separators 2020-02-06 00:52:54 -05:00
Paul Licameli
3517b900b1 PopupMenuTable need not publicize its wxMenu subclass 2020-02-06 00:52:54 -05:00
Paul Licameli
9435e97fb8 Store popup sub-menu caption with its item table 2020-02-06 00:52:53 -05:00
Paul Licameli
1e37172e6d Popup sub-menus don't require ids 2020-02-06 00:52:53 -05:00
Paul Licameli
127eb56d4e EnumValueSymbols for scale names 2020-02-03 15:34:48 -05:00
Paul Licameli
6e57428e47 PopupMenuTable does not need TranslatableArray...
... because the strings in it are TranslatableString, not translated
2020-02-02 17:32:23 -05:00
Paul Licameli
4d43967add Restore commit c1d129ec9863a877cdd678695fff54a5dab5a191 2020-01-31 23:51:12 -05:00
Paul Licameli
2c25a37994 Revert to a465ce0046e1726b3d2d926091b91714e154a91e 2020-01-31 22:34:25 -05:00
Paul Licameli
ffe101f9a2 TransportMenus not link dependent on SelectMenus or Scrubbing 2020-01-31 21:22:47 -05:00
Paul Licameli
9639ba84f4 Reimplement commit 512c27d, fixing menus & shortcut keys on Windows 2020-01-29 13:39:19 -05:00
Paul Licameli
ef41b8f2ee Fix static initialization order problem for more ReservedCommandFlags 2020-01-29 11:24:25 -05:00
Paul Licameli
9093364b8c Fix other problems since commit f6e5696...
... Problem with static initialization order of ReservedCommandFlags, caused
wrong enablement of menu items (at least on Mac), such as Plot Spectrum or
Contrast enabled when there was no selection
2020-01-28 17:49:07 -05:00
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
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
21306d6186 Remove indirection storing number scale in Ruler 2020-01-23 13:27:05 -05: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
0ca5775234 Eliminate one of the ## macro hacks in LoadCommands 2020-01-19 19:21:12 -05:00
Paul Licameli
2ec2ad378d Break dependency cycle introduced at a69fba9 2020-01-19 14:36:28 -05:00
Paul Licameli
7cff170cf7 Sub-view objects report their complete type, not just an enum value 2020-01-18 20:28:53 -05:00
Paul Licameli
36aad4d1c6 Don't hard-code the exhaustive list of sub-view types...
... in Wave track context menu and SetTrackVisualsCommand

Instead, discover them through a registry.

This eliminates some duplication of string constants and prepares for
non-intrusive generalization to more kinds of sub-views.

This makes the command agnostic about which subview types are known, but the
context menu still has special case treatment for Spectrogram Settings and
Wave Colors.
2020-01-18 20:26:12 -05:00
Paul Licameli
fb8ba0ce43 Some briefer type aliases for wave track display type 2020-01-18 19:35:17 -05:00
Paul Licameli
96f29e0cd0 Don't forget to modify undo state when toggling a sub-view 2020-01-18 14:40:24 -05:00
Paul Licameli
6eb0f3aca1 Move SpectrumAnalyst into its own files...
... It's the pure calculation common to the Plot Spectrum window and
to spectral editing

This removes some dependencies on FreqWindow
2020-01-18 13:38:19 -05:00
Paul Licameli
72f20d9129 Change cursors for rearranging of tracks...
... To be consistent with the rearranging of sub-views, and with general UI
guidelines.

The hover cursor is an open hand, and the dragging cursor is the closed hand.
2020-01-18 13:03:11 -05:00
Paul Licameli
000d63c95e Widen the hot zone for sub-view rearrangement...
... so it's wider than the close button
2020-01-17 16:14:23 -05:00
Paul Licameli
f10b303279 A close box button for sub-views 2020-01-17 16:10:46 -05:00