Paul Licameli
9b1901c971
A convenience function in LabelTrackShifter eliminates repetition
2020-09-21 17:31:48 +01:00
Paul Licameli
3fcda6fc3c
Fix sync-lock behavior of time shift, don't move too many other tracks
2020-09-21 11:32:19 -04:00
James Crook
e3bd5cfa61
Add: Help button for "Copying stereo audio into a mono track error"
2020-09-21 15:32:56 +01:00
James Crook
ec48a3b5a9
Fix export URL
2020-09-21 15:17:52 +01:00
James Crook
6149b57dc0
Bug 2515 - Exporting to a disk with insufficient space gives messages that are not user-friendly or helpful
2020-09-21 15:11:39 +01:00
James Crook
0b633c564a
Bug 2515 - (FFmpeg) Exporting to a disk with insufficient space gives messages that are not user-friendly or helpful
...
FFmpeg now gives the correct message.
Bug not quite closed yet, as other exports are only part done.
2020-09-21 13:05:11 +01:00
James Crook
6d1b3854e9
Bug 2515 - Help buttons for 'Unable to export'
...
These now all have help buttons to page Error:_Unable_to_export
And they have an error code such as OGG:355 so that (later) on that page
we can describe them better - if they ever happen.
2020-09-21 12:45:43 +01:00
James Crook
6a237d67f1
Bug 2539 - Residual wording changes to warning messages.
...
QA asked for these improved wordings so that it is clearer to users what is going on.
2020-09-21 10:47:06 +01:00
Paul Licameli
c48b813795
Bug2464: Shifting a label should shift wave clips too...
...
... Implemented non-invasively just with overrides in LabelTrackShifter
Exceeding the bug description: it's also possible to drag just the subset of
labels that fall partly or wholly in the selected region.
I expect details of the new behavior may be debated.
2020-09-20 01:01:17 -04:00
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
3b903ee77d
TimeShiftHandle doesn't need Track subclasses
2020-09-20 00:26:48 -04:00
Paul Licameli
9d52100f5c
Remove TimeShiftHandle members no longer used (an much setup)
2020-09-20 00:26:48 -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
d3ab8b7f76
Compatibility sanity check for inserting clips into a WaveTrack...
...
... And don't move from the shared pointer argument
2020-09-19 19:16:47 -04:00
Paul Licameli
1a11b81deb
Simplify dragging clip when mouse is over other track...
...
... than the one clicked in; and the clip can't fit into the new track, but it
can still slide horizontally within its track.
This eliminates a redundant use of WaveClip::Offset().
2020-09-19 19:16:46 -04:00
Paul Licameli
2b06115b32
Clip Left/Right general enough for note tracks: one less TypeSwitch!
2020-09-19 19:16:46 -04:00
Paul Licameli
5591e1da0a
Eliminate some uses of ClipMoveState::capturedClip
2020-09-19 19:16:46 -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
bc7f527a3b
Lower mCapturedTrack into ClipMoveState, simplify one member function
2020-09-19 19:16:45 -04:00
Paul Licameli
329221b392
Lower more into Init(); ClipMenus uses ClipMoveState opaquely
2020-09-19 19:16:45 -04:00
Paul Licameli
00f761eb5e
TrackShifters responsible for snapping; remove a TrackList::Visit...
...
... Also dependency of TimeShiftHandle on LabelTrack, lately added, is removed
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
1501f09bf1
An argument of AddClipsToCaptured overload always true, so simplify
2020-09-19 13:23:47 -04:00
Paul Licameli
4653b5ed3d
TrackClip moved to TimeShiftHandle; Snap doesn't use Track subclasses
2020-09-19 13:23:46 -04:00
Paul Licameli
dc9eaf6a3a
One less delegating ctor of SnapManager, move code to TimeShiftHandle
2020-09-19 13:23:46 -04:00
Paul Licameli
aa4b808714
More constructors for SnapManager...
...
one taking candidate list directly, the others delegating to it.
Some members removed, some in-class initializers.
The special constructor for TimeShift only has extra arguments. It will go
away.
2020-09-19 13:23:46 -04:00
Paul Licameli
6337e1ccf4
Reordered SnapManager ctor arguments, added AudacityProject &
2020-09-19 13:23:46 -04:00
Paul Licameli
6510b859f3
Define new virtual functions Track::GetIntervals (const and non-const)
2020-09-19 13:23:45 -04:00
Leland Lucius
c60bf1c994
Fix build
2020-09-18 09:55:49 -05:00
Leland Lucius
6749d5b6fa
Bug 1215 - Incorrect splits produced by Change Tempo with leading whitespace
2020-09-18 09:24:45 -05:00
Leland Lucius
3605d73d12
Bug 2534 - Change Speed merges selected clip with adjacent clips
2020-09-18 09:00:50 -05:00
Leland Lucius
5bca69ca31
Fixes for bugs 2534 and 1215
2020-09-17 23:22:00 -05:00
Paul Licameli
9e41e8fa7d
Delay closing of databse at close some more...
...
... So that you don't get an error message, when you close a project without
saving changes, with the mixer board open
2020-09-17 22:26:25 -04:00
Paul Licameli
1d8cbf2798
Now cure the error dialogs alluded to in past commit
2020-09-14 15:16:54 -04:00
Paul Licameli
cbd21c5fff
Fix crash on exit, which could be seen at least on Mac, if you...
...
... Start Audacity; generate some noise; shift clip with Time-Shift tool;
command+Q to exit; say No to save changes.
The scope of a GuardedCall needs to be expanded, because Conn() can throw,
so that no exceptions escape the destructor of SqliteSampleBlock.
But now there is an error dialog on exit instead of a crash.
2020-09-14 15:14:19 -04:00
Paul Licameli
c5c7a6d08a
Fix Mac build
2020-09-14 15:05:42 -04:00
James Crook
b0e931bdd4
Fix compile error on Linux
...
(pointer to on-stack temporary).
2020-09-14 19:43:58 +01:00
James Crook
13c5fe476f
Remove test code which generated a disk full warning.
2020-09-14 19:00:25 +01:00
James Crook
5407f92c0c
Fix Mac Build.
...
Brackets for XO were in the wrong place.
2020-09-14 18:56:57 +01:00