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
Paul Licameli
9faa746d4d
Scrubber holds preference, AdornedRulerPanel updates in idle time...
...
... removing two uses of AdornedRulerPanel in Scrubbing
2019-07-04 08:59:57 -04:00
Paul Licameli
3c858dd343
Remove unnecessary button update of ruler from Scrubbing...
...
... this is a remnant of the abandoned experiment that put other buttons in
the ruler besides the pinned play head
See commit 6a3613e8e97da5164da881a179f1b64ac098d472
2019-07-04 08:58:36 -04:00
Paul Licameli
eb4eba6325
AdornedRulerPanel updates its play region in idle time...
...
... Eliminating TP_DisplaySelection and making ProjectWindow independent of
AdornedRulerPanel
2019-07-03 23:38:33 -04:00
Paul Licameli
500ccb60b3
Free ControlToolBar from cycles. That's all the toolbars now!
2019-07-03 21:38:06 -04:00
Paul Licameli
acfd2b7010
TrackFocus is a new attached object...
...
... removing the need to use TrackPanel to get and set the focused track
ProjectAudioManager loses its direct dependency on TrackPanel
2019-07-03 19:10:21 -04:00
Paul Licameli
b6cd9a2b36
DoPlayStopSelect into ProjectAudioManager; remove button push-down...
...
... which was redundant with what happens in the yield to idle events in
ProjectAudioManager::Stop.
This removes direct dependency of ProjectAudioManager on ControlToolBar.
And remove another #include we don't need
2019-07-03 17:21:55 -04:00
Paul Licameli
ca8740b510
StopIfPaused is now a member function of ProjectAudioManager
2019-07-03 17:00:08 -04:00
Paul Licameli
13c2e4de0f
Move members from ControlToolBar into class ProjectAudioManager...
...
... and ControlToolBar is included in fewer places
2019-07-03 16:52:16 -04:00
Paul Licameli
1e4812f470
GetProjectPanel analogous to GetProjectFrame breaks dependencies...
...
... in places that need the TrackPanel but only to invoke common wxWindow
methods on it.
This eliminates direct use of TrackPanel by Scrubbing and ProjectWindow
2019-07-03 13:53:07 -04:00
Paul Licameli
52ff705b0d
ScrollIntoView out of TrackPanel, into ProjectWindow
2019-07-03 13:32:32 -04:00
Paul Licameli
68999934e0
ProjectAudioManager doesn't use ProjectWindow, which doesn't use...
...
ControlToolBar, after we make a system to register functions that calculate
necessary minimum widths for status bar fields.
Also let Scrubbing.cpp register its own strings.
Also be sure to size the status field sufficiently for "Playing at Speed".
2019-07-02 21:01:54 -04:00
Paul Licameli
2a06b10884
Make objects attached to AudacityProject non-copyable...
...
... except for Tags; also some uses of final and explicit
This caught a mistake in Scrubbing.cpp
2019-07-02 19:51:24 -04:00
Paul Licameli
a5364119eb
Eliminate many calls to RedrawProject & TrackPanel::Refresh()...
...
... Let the window respond to an undo manager event instead, whenever there
is a push or modify
Maybe this makes a few unnecessary redraws that did not happen before. If
that is important, then we should figure out how to put the logic for eliding
the redraw into ProjectWindow, and the extra information needed for the
decision into the events, but not make intrusions in other code all over the
place.
2019-07-02 08:17:01 -04:00
Paul Licameli
830f772625
Update Play button appearance in idle time...
...
... so most calls to ControlToolBar::SetPlay are removed. One remains in
TransportMenus, which will not be problematic for untangling dependencies,
and one remains where the toolbar remakes its own buttons.
But the routines that start and stop the streams, importantly, don't use it.
2019-07-01 21:25:50 -04:00
Paul Licameli
923128731d
Do not store pause state in ControlToolBar...
...
... Move that into ProjectAudioManager instead, and update the button, only to
reflect it, in idle time.
However, AudioIO also has its mPaused member variable, and it is not obvious
that it was always kept the same as the button state. No attempt was made
here to identify and fix any bugs, but only to preserve behavior.
2019-07-01 19:48:52 -04:00
Paul Licameli
7d504ba015
ControlToolBar uses idle events to update status message for itself
2019-07-01 19:48:51 -04:00
Paul Licameli
192530d8a5
Free ScrubbingToolBar from cycles...
...
... by having it update itself in idle time, not needing a push from Scrubber
Shrinking that remnant of the big strongly connected component to 6
2019-07-01 08:43:27 -04:00
Paul Licameli
3e3cf24c01
Scrub & seek toolbar buttons disable during recording, as was intended
2019-07-01 08:42:57 -04:00
Pokechu22
22ce129f8d
Misc. cleanup
2019-06-29 23:32:19 -04:00
Pokechu22
87bf94e811
Fix bug 2140
2019-06-29 23:32:19 -04:00
Paul Licameli
37f75d8049
Bug2141: Tabbing should work in focused label track, selected or not
2019-06-28 18:12:48 -04:00
Paul Licameli
f77ddc43d9
Smuggle AudacityProject into LabelTrackView::GetSelectedIndex() ...
...
... and eliminate some more calls to GetActiveProject
2019-06-28 18:09:29 -04:00
Paul Licameli
30715e4fe2
Pass AudacityProject as context into TrackPanelCell key handlers...
...
... as was done for mouse events.
This eliminates some need for GetActiveProject(), which is good, and prepares
for the fix for bug 2141
2019-06-28 13:18:07 -04:00
Paul Licameli
c50acea328
Bug2127: Record, Pause, Record, Pause, Close button: shouldn't crash
2019-06-28 10:51:41 -04:00
Paul Licameli
b05acc32da
Move drawing code for track names
2019-06-27 00:10:53 -04:00
Paul Licameli
dc216d669b
Move drawing code for snap guidelines
2019-06-26 23:39:42 -04:00