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 3797a5227a
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 e815949535
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 6a3613e8e9
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
Paul Licameli
4633f4f9d4
Move drawing code for background below tracks
2019-06-26 23:39:42 -04:00
Paul Licameli
f84d92f0a8
Move drawing code for zoom guidelines
2019-06-26 23:39:42 -04:00
Paul Licameli
488cb466c3
Move drawing code for track controls
2019-06-26 23:39:42 -04:00
Paul Licameli
b45d1387dc
Move drawing (and updating) code for vertical rulers
2019-06-26 23:39:42 -04:00
Paul Licameli
363f6f8b7b
Move drawing code for background of vertical rulers
2019-06-26 23:39:42 -04:00
Paul Licameli
e7c1f7424d
Move drawing code for background of track control panel
2019-06-26 23:39:42 -04:00
Paul Licameli
b881a6e918
Move drawing code for tracks, free EnvelopeEditor from cycles
2019-06-26 23:39:42 -04:00
Paul Licameli
868481b686
GetSceenEndTime out of TrackPanel
2019-06-26 21:25:15 -04:00
Paul Licameli
d29d10d712
GetTracksUsableArea() out of TrackPanel
2019-06-26 21:25:15 -04:00
Paul Licameli
f87dfd43c1
GetVRulerWidth, GetLabelWidth, GetLeftOffset out of TrackPanel.h...
...
... And some things demoted from ViewInfo to ZoomInfo, related to x coordinates
only
2019-06-26 21:25:15 -04:00
Paul Licameli
25f4d6cf8b
TrackPanelAx does not depend on TrackPanel...
...
... TrackPanelAx now sends an event to the project when track focus changes,
and TrackPanel listens for it.
TrackPanel also initializes TrackPanelAx with a callback to do the details of
rectangle calculation.
2019-06-25 11:24:40 -04:00
Paul Licameli
7fc3c5e7a7
Move namespace TransportMenus into ProjectAudioManager.cpp ...
...
... not the best thing for the long term, but hidden dependencies on
TransportMenus.cpp are eliminated
Tying CommonCommandFlags again into the big component, which is now 26
2019-06-25 00:14:53 -04:00
Paul Licameli
d2f386a329
Move functions into new file TrackUtilities.cpp ...
...
... so that other files do not have link dependency on TrackMenus.cpp
The new project enlargest the big s.c.c. by 1, to 25
2019-06-24 23:13:22 -04:00
Paul Licameli
02e620d35f
Move functions into new file SelectUtilities.cpp ...
...
... so that other files do not have link dependency on SelectMenus.cpp
The new file enlarges the big s.c.c. to 24
2019-06-24 23:06:44 -04:00