David Bailes
664452b1a8
Bug 2183 - Characters in labels cannot be deleted
...
Fix: update the actual label (labelStruct is a copy).
2019-08-03 09:13:53 +01:00
Paul Licameli
05997dc267
Bug2180: complete the fix...
...
... Don't forget the unbinding of the event handler
See previous commit, e589ed8ecfdc99bdb00e0d011b2fc40318cb43ed
2019-08-01 06:33:52 -04:00
Paul Licameli
e589ed8ecf
Bug2180: Type-to-create labels twice should work...
...
Bug began at 0750f62e88ee96cd4804c19ba54e3ac1d2ff1b73
Track::SetSelected is virtual, after all, but then LabelTrack informs
LabelTrackView of selection changes by events, so that LabelTrack remains
independent of LabelTrackView.
This might make much of the rest of the guily commit unnecessary (the resetting
of selected index to -1 only lazily), but it is harmless.
2019-07-31 16:40:16 -04:00
Paul Licameli
a87748b123
spelling
2019-07-29 15:41:07 -04:00
David Bailes
ee46155d82
Bug 2176 - Crash when attempting to time shift multiple tracks
...
Steps to reproduce:
1. create a new project in Audacity
2. add several tracks.
3. turn on Sync-Lock (Tracks, Sync-Lock Tracks checked)
4. Click on the Time Shift Tool.
5. Attempt to move tracks to the right (for example), clicking in the bottom track
6. It crashes.
In the function: void TimeShiftHandle::CreateListOfCapturedClips(), the problem was the first occurrence of the line:
auto &trackClip = state.capturedClipArray[i];
The subsequent call to AddClipsToCaptured(), can reallocate the array and so invalidate the reference.
Fix: Don't use a reference. (TrackClip is not a large object.)
2019-07-27 13:16:15 +01:00
Paul Licameli
960fe47412
Bugs2151,2156: playhead ruler overlay was leaving black marks behind
2019-07-26 11:57:30 -04:00
Paul Licameli
93bb862aa2
Remove unnecessary #include
2019-07-18 15:05:37 -04:00
James Crook
13348841c0
Bug 1780 - Sample Rate dialog does not appear when track has custom sample rate
...
With radio items there is no change event, if radio button was already chosen.
2019-07-17 20:14:01 +01:00
Paul Licameli
33f3d4b82d
Heavyweight version of SelectedRegion stored in ViewInfo emits events
2019-07-17 12:43:39 -04:00
James Crook
2852d07a1e
Fix build on Ubuntu
2019-07-16 08:09:33 +01:00
Paul Licameli
e4d6e8569f
Bug2144: track name should overpaint channel separator of minimized track
2019-07-14 07:15:26 -04:00
Paul Licameli
beb378f61a
Revert the change of radio items to check items at fa6b5de
2019-07-11 12:54:36 -04:00
Paul Licameli
633153c91f
Delegate DoDetailedHitTest through base class WaveTrackSubView
2019-07-11 10:37:30 -04:00
Paul Licameli
dd369da6a0
Define WaveTrackView::GetAllSubViews
2019-07-10 11:35:57 -04:00
Paul Licameli
fa6b5dea88
Generalize WaveTrackView::GetDisplay to return multiple values...
...
... something better might be done in Nyquist Lisp, where we still pass a
single value
2019-07-10 10:19:04 -04:00
Paul Licameli
2f544bda7a
Reimplement WaveTrackView::SetDisplay, eliminating mDisplay...
...
... and much generality for the future in reporting the sub-view division to
TrackPanel.
SetDisplay will have the effect of making one of possibly multiple views take
up all the height. Where we need to save and restore or otherwise copy the
sub-views, there is more information now than just one enum value.
2019-07-10 10:10:41 -04:00
Paul Licameli
6ccca16a75
Move display type from WaveTrack to WaveTrackView
2019-07-09 20:09:59 -04:00
Paul Licameli
c28e47bd38
Define static Get functions for WaveTrackView
2019-07-09 20:09:59 -04:00
Paul Licameli
99a1e5a11d
Remove some unnecessary tests of WaveTrack::GetDisplay()...
...
... trust the hit-tests of the views to guarantee these conditions
2019-07-09 20:09:59 -04:00
Paul Licameli
3715c079b4
Test view class, not track display type, for spectral selection
2019-07-09 20:09:59 -04:00
Paul Licameli
bac841f497
TrackView wasn't using TrackControls
2019-07-09 14:55:33 -04:00
Paul Licameli
db16150366
Break cycle: TrackPanelResizerCell, TrackPanelResizeHandle, TrackView
2019-07-09 14:55:31 -04:00
Paul Licameli
7d75f1bfc4
Remove unnecessary #include
2019-07-09 10:55:18 -04:00
Paul Licameli
d7a0fa72db
WaveTrackView does not depend on SpectrumView, WaveformView
2019-07-09 10:23:49 -04:00
Paul Licameli
22dbe69f5c
Remove friends
2019-07-09 09:51:37 -04:00
Paul Licameli
2bec03ac08
TrackView subclasses do not depend on corresponding TrackControls...
...
... use an AttachedVirtualFunction to compute the default view height from
the controls.
This frees LabelTrackControls from cycles.
Also made Track::DoSetHeight non-virtual
2019-07-09 00:05:01 -04:00
Paul Licameli
9ca295c9f7
Remove some unnecessary #include-s
2019-07-08 23:53:41 -04:00
Paul Licameli
51e0c2221f
Remove duplicate call to DrawItems introduced at 488cb46
2019-07-08 22:13:51 -04:00
Paul Licameli
fd7e06e458
Undo the temporary rewrites of WaveTrackView draw and hit-test...
...
... switching on display type and replicating what the sub-view classes did;
now these methods of WaveTrackView should not be reached
2019-07-08 11:44:44 -04:00
Paul Licameli
8d29746af9
Classes no more instantiated after previous commit become namespaces
2019-07-08 10:56:17 -04:00
Paul Licameli
c7b888b903
WaveTrackView now delegates to the proper sub-view...
...
... by a redefined area subdivision policy in TrackPanel
So the SpectrumView, WaveformView, and associated ruler and handle classes
find real use, while WaveTrackView is really used only for its height and to
supply the delegate, and WaveTrackVRulerControls and WaveTrackVZoomHandle
are not used
There is also some anticipation of multiple track views
2019-07-08 10:27:43 -04:00
Paul Licameli
ecbbf7afe8
Cut and paste spectrum and waveform views to new files
2019-07-08 10:27:41 -04:00
Paul Licameli
96e5525646
Fill in the methods for Spectrum & Waveform views...
...
... Keeping WaveTrackView functioning
2019-07-08 10:18:15 -04:00
Paul Licameli
d36ce45381
Declare pointers to WaveTrack sub-views, with stub methods for now
2019-07-08 09:46:00 -04:00
Paul Licameli
28dcf45bbe
Cut and paste spectrum and waveform vruler controls into new files
2019-07-08 09:46:00 -04:00
Paul Licameli
32ae2e718f
Fill in the methods for Spectrum & Waveform VRuler controls...
...
... Keeping WaveTrackVRulerControls functioning
2019-07-08 09:46:00 -04:00
Paul Licameli
cffbf6f401
Separate classes for waveform, spectrum VRulers, stub methods for now
2019-07-08 09:46:00 -04:00
Paul Licameli
bc823294f2
Cut and paste waveform and spectrum vzoom handle functions
2019-07-08 09:46:00 -04:00
Paul Licameli
d991295efb
Implement classes SpectrumVZoomHandle, WaveformVZoomHandle
2019-07-08 09:46:00 -04:00
Paul Licameli
f7dc21436d
Separate functions for vertical zooming of spectrum and waveform
2019-07-08 09:46:00 -04:00
Paul Licameli
fa7de8ce3a
Remove always true third argument of WaveTrackVZoomHandle::DoZoom
2019-07-08 09:46:00 -04:00
Paul Licameli
cbdf5f24fe
New files to separate spectrum/waveform views and VRulers
2019-07-08 09:45:59 -04:00
Steve Daulton
7857769f96
Workaround for kDevelop crash
...
Thanks to PRL for the fix.
2019-07-08 00:38:19 +01:00
Paul Licameli
30be658b00
Remove some unnecessary #include directives
2019-07-07 15:16:19 -04:00
Paul Licameli
e03c9cdee3
Two dependency cycles of two easily broken...
...
... WaveTrackVRulerControls and WaveTrackVZoomHandle;
NoteTrackVRulerControls and NoteTrackVZoomHandle
2019-07-06 13:47:11 -04:00
Paul Licameli
4a19a3625b
Remove WaveTrackVRulerControls::DoZoomPreset...
...
... it became unused at 3797a5227ac4d26e6139b194554fb3543fa62949
2019-07-04 13:48:33 -04:00
Paul Licameli
a3b434be1c
Move the scrub mouse event handler into ScrubUI...
...
... Making Scrubbing independent of AdornedRulerPanel.cpp
2019-07-04 09:52:34 -04:00
Paul Licameli
8414ebffa5
ScrubbingOverlay declared and defined entirely within ScrubUI.cpp
2019-07-04 09:22:20 -04:00
Paul Licameli
24bd7cf571
New files for ScrubUI
2019-07-04 09:13:59 -04:00
Paul Licameli
8c59b6f1cf
This call isn't needed to hide the quick play line at end of scrub...
...
see also commit e815949535d73e46d048c79f706024ee6669df11
2019-07-04 09:00:09 -04:00