1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-08-14 15:11:13 +02:00

348 Commits

Author SHA1 Message Date
Paul Licameli
6e0b5b690a More control over HitTest behavior moved into the Track Shifter classes 2020-09-20 00:31:39 -04:00
Paul Licameli
f204ee3192 Always pass ViewInfo to TrackShiftHandle::HitTest 2020-09-20 00:30:07 -04:00
Paul Licameli
637ce894c1 Pass project to TrackShifter factory, which LabelTrackShifter will need 2020-09-20 00:30:06 -04:00
Paul Licameli
14dc5af223 Pass optional extra information into TrackShifter::HitTest ...
... Because LabelTrack, unlike the others, will also need a mouse y coordinate.

The extra information is present when using the time-shift tool but not when
using the items in ClipMenus.
2020-09-20 00:30:01 -04:00
Paul Licameli
3009bdde2c Another TrackShifter method eliminates a use of capturedClipArray 2020-09-20 00:26:48 -04:00
Paul Licameli
c98285c544 New method of TrackShifter, simplify ClipMoveState::DoSlideHorizontal...
... Also the clips to shift within a WaveTrack are tested all at once, more
simply
2020-09-20 00:26:47 -04:00
Paul Licameli
764773479e Another method of TrackShifter removes a TypeSwitch in Time Shift 2020-09-20 00:26:47 -04:00
Paul Licameli
32c0d462b7 Another method of TrackShifter to test before attachment of intervals 2020-09-20 00:26:47 -04:00
Paul Licameli
716008e293 TrackShifter handles removal and reinsertion of clips 2020-09-20 00:26:47 -04:00
Paul Licameli
633b2e28bc Different procedure, same results, to find corresponding tracks...
... for shifting of clips among tracks

But this (temporarily) breaks the behavior of dragging back to the original
clip without first releasing the mouse
2020-09-20 00:24:30 -04:00
Paul Licameli
4f159a7629 New method of TrackShifter moves a calculation out of ClipMenus 2020-09-19 19:16:45 -04:00
Paul Licameli
eb22892064 TrackShifters decide what parts move or stay fixed...
... for now redundantly with the older logic.

Also shorten a function name to Init
2020-09-19 19:16:43 -04:00
Paul Licameli
c279fb6588 Choose track or clip shifting behavior without a TypeSwitch...
... Preserving existing behavior, but maybe these cases should be reconsidered
and made more uniform.  (e.g. should hit test on NoteTrack sometimes miss, as
with WaveTrack?)

Also made details of WaveTrack hit testing consistent with what ClipMenus does
2020-09-19 13:23:47 -04:00
Paul Licameli
8f8c20ac80 TrackShifters can classify track intervals as fixed or not 2020-09-19 13:23:47 -04:00
Paul Licameli
d8a894b95b Define TrackShifter, subclasses, factory method; collect them...
... in TimeShiftHandle.  They do nothing useful yet, but responsibilities
will shift into them.

TypeSwitch is avoided and the subclasses are defined in appropriate places
for dependency management, thanks to AttachedVirtualFunction.
2020-09-19 13:23:47 -04:00
Paul Licameli
c7896a3656 Bug2493, Enh2460: Multi-view option in Tracks preferences & macros...
... Implemented giving the Multi-view choice the special implementation that it
needs.

The "multi" choice is always last in the preference and in the command editing
drop-down menus, but that could be changed.

Multi-view should not be treated as another registered kind of sub-view on par
with others.  This would complicate the implementation in worse ways.
2020-09-10 15:28:28 -04:00
Paul Licameli
42d99db8b8 Revert "Bug 2493 - No command for setting multi-view"
This reverts commit 7e573b9b2ffa4dd013bf965bc79755a314db258a.
2020-09-10 13:51:38 -04:00
James Crook
7e573b9b2f Bug 2493 - No command for setting multi-view
Bug 2460 - Enh: Can't select "Multi-view" as default view mode in Tracks preferences

This fixes both.
2020-09-09 17:35:39 +01:00
binarywisdom
a10a1b81aa fixed bug/enh 266 2020-09-04 11:39:11 -04:00
Paul Licameli
06f22e942b More exception-safety for recording...
... Do not call Autosave (which might fail) when recovering from exceptions in
recording, but rely on the last good Autosave that happened during recording.

If dropout labels are needed, then immediately modify the undo history item, but
we can accept it if that modification fails.

Also, be sure NOT to skip Autosave in all other places that push the undo
history.  Make Autosave the default unless otherwise specified.

Finally removed one unnecessary call to Autosave.
2020-07-10 13:46:21 -04:00
Paul Licameli
70ab645647 Let ESC key in pencil tool reclaim abandoned sample blocks sooner 2020-07-09 16:30:37 -04:00
Leland Lucius
cbf1bb558e AUP3: Removes OD code related to project file handling
This removes all of the OnDemand code embedded throughout
    the main codebase. Individual files related specifically
    to OD have been left in place, but removed from the build.
2020-07-01 01:14:05 -05:00
Paul Licameli
3feda9e189 Remove CommonTrackPanelCell.h from Track.h 2020-06-17 14:54:36 -04:00
Paul Licameli
3869a8f460 Remove allegro.h from other headers 2020-06-14 10:32:16 -04:00
Paul Licameli
fa4d35296e AllThemeResources.h has a .cpp & doesnt include Theme.h...
... (it used to, via MacroMagic)

This splits a cycle of 8 into 6 + 1 + 1
2020-05-28 05:50:24 -04:00
Paul Licameli
ae9aca8177 Implement member functions of classes in corresponding .cpp files...
... in four cases; not in some other .cpp file.

This is another move that causes the generated graph to reflect dependencies
correctly.

This fixes other large, hidden cycles that involved PrefsDialog.cpp: there was
link dependency on that when PrefsPanel.h was used for the base class.  No
longer.

Also cycles involving TrackPanel.cpp, which contained the default
implementations for TrackPanelCell and related abstract base classes.
2020-05-28 05:50:22 -04:00
Paul Licameli
b81c03c194 Change the menu labels in vertical rulers...
... and recompute popup menu tables that depend on preferences.

The code for labels in the rulers was unsatisfactory because

(1) rescanning and editing the post-translation strings is a hack to avoid, and
(2) separating the hints like "Shift-Left-Click" with a tab character made them
invisible on Mac.  So instead, append strings like " (Shift-Left-Click)"
2020-05-23 13:58:22 -04:00
Paul Licameli
4d09705a73 Change XO to XXO in many more places, with no effects at all...
... because the two macros have the same expansion, and are both checked for
in the --keyword arguments passed to msgfmt by locale/update_po_files.sh.

This commit makes ONLY such changes, and comments in Internat.h.  It is big
but quite harmless.

The intention is to introduce a type distinction in a later release, by defining
XXO differently.  XXO is used where & characters in strings (for hotkeys of menu
items or control prompts) are permitted, XO where not.
2020-05-22 13:07:50 -04:00
James Crook
20ba353038 Bug 2389 - Residual. Spectrogram needs minimal selection line too. 2020-04-21 17:27:23 +01:00
James Crook
9ad06aeeb1 Bug 2389 - At some zoom levels the light-blue/white selection visual cue disappears 2020-04-21 14:00:46 +01:00
Yuri Chornoivan
d1ada5f08c Fix minor typos 2020-04-11 10:06:24 +01:00
Paul Licameli
61abb87a77 Reviewed all i18n-hint comments...
... Moved many misplaced ones, which msgfmt would not have extracted into
audacity.pot.

Duplicated some of them, to appear with related but distinct msgids.

Added a few new comments.

Deleted one that was no longer needed in ProjectManager.cpp.
2020-04-05 09:00:00 -04:00
Paul Licameli
6cf635fdc1 Keep EXPERIMENTAL_FIND_NOTES compilable 2020-03-14 15:53:51 -04:00
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
836bc36536 Bug 2248 - Multi-view: can get numbers overflowing the Vertical Scale 2020-02-25 13:09:48 +00:00
Paul Licameli
e4d5eefee0 A tooltip for the sub-view rearranging cursor 2020-02-20 13:25:03 -05: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
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