Paul Licameli
c707edad7a
Don't lose split view after undo & redo, or an effect
2019-11-26 04:49:15 -05:00
Lars Wendler
b280253e60
build: Fix bad include path
...
tracks/labeltrack/ui/LabelTextHandle.cpp:25:10: fatal error: ../../../images/Cursors.h: No such file or directory
25 | #include "../../../images/Cursors.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org >
2019-11-24 21:04:10 +00:00
Paul Licameli
54e0df5660
Implement a dragging handle to adjust wave track sub-view heights
2019-11-23 16:44:42 -05:00
Paul Licameli
d26b55ee3c
WaveTrackSubView has a back-pointer to the WaveTrackView
2019-11-23 15:27:04 -05:00
Paul Licameli
af9959dc98
Rewrite WaveTrackView::GetSubViews to cache last computed heights
2019-11-23 15:02:09 -05:00
Paul Licameli
125b8ad0da
Wave track context menu has non-exclusive check items for display type
2019-11-23 14:57:29 -05:00
Alexander Tsoy
7a91b6c5e9
Fix compilation without USE_MIDI
2019-08-28 00:17:39 +03:00
James Crook
06af0c6296
Bug 803 - Incorrect pointer (cursor) when rearranging tracks
...
There is no wxCURSOR_REARRANGE so made a custom cursor instead.
2019-08-18 14:47:17 +01:00
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, e589ed8ecf
2019-08-01 06:33:52 -04:00
Paul Licameli
e589ed8ecf
Bug2180: Type-to-create labels twice should work...
...
Bug began at 0750f62e88
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