Paul Licameli
d6317ae6af
Merge LinkingHtmlWindow into HelpSystem...
...
... they cooperated closely in a cycle of two not worth breaking
2019-07-10 10:34:04 -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
6ccca16a75
Move display type from WaveTrack to WaveTrackView
2019-07-09 20:09:59 -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
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
02075d5b43
Remove some fetches of TrackPanel
2019-07-03 18:42:33 -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
2c840a75c5
Remove short functions from namespace TransportActions
2019-07-03 16:52:19 -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
977b46cda2
Move CanStopAudioStream into ProjectAudioManager
2019-07-03 16:34:47 -04:00
Paul Licameli
a470ba00b0
ProjectAudioManager does not depend directly on AdornedRulerPanel
2019-07-03 16:34:46 -04:00
Paul Licameli
52ff705b0d
ScrollIntoView out of TrackPanel, into ProjectWindow
2019-07-03 13:32:32 -04:00
Paul Licameli
e2362bc25a
Move project status string management to new attached object class
2019-07-02 21:01:34 -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
5ab3986261
Pop up the Stop button in idle time...
...
... This also causes a momentary push-down of the stop button, which happens
in ControlToolBar::StopPlaying, really to be visible, as was apparently the
intent.
For instance, when playing, then clicking in the quick-play ruler to restart
the play elsewhere.
2019-07-01 22:51:13 -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
8b549ea07f
Another overload of ControlToolBar::OnRecord taking bool...
...
... so that it's called directly where needed without the roundabout of
SetInt in an event, and there is no checking of the state of a button first
2019-07-01 19:48:52 -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
97f48c4326
Bug2133: Trim and Silence commands should not affect Note tracks
2019-06-28 10:51:41 -04:00
Paul Licameli
af791d3d0b
Redo previous commit's fix...
...
... the bug was introduced at e581fa60d9
I think it is better to make TrackPanel::OnTrackMenu crash-proof when
called with the default argument
2019-06-28 10:50:51 -04:00
David Bailes
af74ff626e
Track menu: opening track menu by pressing shift+M causes crash
...
Fix:
Call TrackPanel::OnTrackMenu(Track *t) with a track pointer.
Query:
Is there any reason why this function's parameter has a default value of NULL?
2019-06-28 10:09:11 +01: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
2257fa642a
Remove TrackPanel::EnsureVisible; TrackList sends an event instead
2019-06-25 10:54:55 -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
c6478f43af
Lower ViewActions as member functions of ProjectWindow
2019-06-25 00:14:53 -04:00
Paul Licameli
b6077fd3cd
Lower DoReloadPreferences into PrefsDialog.cpp
2019-06-25 00:14:53 -04:00
Paul Licameli
8db51416bc
Lower DoEditMetadata into Exporter
2019-06-25 00:14:53 -04:00
Paul Licameli
684a948fd2
Don't reuse EditActions::DoUndo...
...
... instead, when timer recording is cancelled, don't push state and pop it
at once, but just roll it back.
2019-06-25 00:14:52 -04:00
Paul Licameli
f8c40dc8e7
Move DoHelpWelcome out of HelpMenus
2019-06-25 00:14:52 -04:00
Paul Licameli
2d11e6bda9
Move DoImportMidi out of FileMenus
2019-06-25 00:14:52 -04:00
Paul Licameli
8eca219d57
Separate versions of DoImportMIDI that do and don't assume a project
2019-06-25 00:14:52 -04:00
Paul Licameli
ff2cf496cd
Move DoEffect out of PluginMenus
2019-06-25 00:14:52 -04:00
Paul Licameli
691eee681c
Move DoAudacityCommand out of PluginMenus
2019-06-25 00:14:52 -04:00
Paul Licameli
1c588fa014
Move enum into EffectManager...
...
... tying Effect into a cycle of 3 with EffectManager and EffectRack, which is
only revealing the true dependencies
2019-06-25 00:12:45 -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
Paul Licameli
f1dcc156a0
Remove unnecessary inclusions of Menus.h
2019-06-24 22:45:33 -04:00
Paul Licameli
ab5a98003a
Free EffectManager and EffectRack from the big s.c.c. ...
...
... though in a small cycle with each other, by moving RealtimeEffectManager to
new files, which remain in the big component.
Net loss of 1, the big component now has 27 files
2019-06-24 00:49:12 -04:00
Paul Licameli
04a3ed9d04
Separate class RealtimeEffectManager
2019-06-24 00:37:02 -04:00
Paul Licameli
4339c0df68
Move height calculation utilities to class TrackView
2019-06-22 21:46:32 -04:00
Paul Licameli
a6e2ca0aa8
Move some enums into new files WaveTrackViewConstants.* ...
...
... freeing TracksPrefs from the second largest s.c.c. which is now only 20
2019-06-22 21:46:32 -04:00
Paul Licameli
5240c42cb6
No more LabelTrack::HasSelection...
...
... eliminating the last dependency of LabelTrack.cpp on LabelTrackView.h
2019-06-20 11:47:55 -04:00
Paul Licameli
e3efd52026
Move many declarations into LabelTrackView & define its Copy()
2019-06-20 10:47:25 -04:00
Paul Licameli
aa5f9550bd
LabelTrackView, not LabelTrack, handles focus changes when adding
2019-06-20 10:47:25 -04:00
Paul Licameli
6a03e7c84a
Global slider instances for control panels out of TrackPanel.cpp...
...
... and updating of them is accomplished privately in implementation files,
reducing intrusions into TrackPanel and ProjectWindow
This removes #include-s from TrackInfo.cpp, leaving dependency cycles better
than previously
2019-06-19 18:34:47 -04:00
Paul Licameli
23b584b529
Move code to TrackInfo.cpp
2019-06-19 12:59:08 -04:00
Paul Licameli
66e32ca35d
Move Y position, height, and minimized state into TrackView...
...
... and eliminate some unnecessary calls to SubstitutePendingChangedTrack,
because the track and the substitute store Y and height in their shared
TrackView object.
Also make GetMinimizedHeight() virtual to avoid inclusion of TrackPanel.h in
TrackView.cpp.
2019-06-18 16:01:06 -04:00
Paul Licameli
3797a5227a
Minimized state moved into TrackView
2019-06-18 16:01:06 -04:00