Paul Licameli
56a05cc646
Avoid Win startup crash...
...
... Because of different ordering of file-scope static initializations, visiting
TrackInfo.cpp before wxApp is initialized. (This didn't happen on Mac.)
This requires other changes to PrefsListener so that safe unbinding is
guaranteed by destructors, even if the PrefsListener is destroyed after the
global wxApp object.
2019-06-27 09:26:43 -04:00
Paul Licameli
38f3ee95c0
TrackInfo doesn't need TrackPanel to push preference changes to it...
...
... This frees six more files from cycles, leaving that no-longer biggest s.c.c.
at just seven files now!
2019-06-27 00:10:56 -04:00
Paul Licameli
9585f32be5
Remove TrackArtist::leftOffset
2019-06-27 00:10:55 -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
e6dae33038
Move drawing code for focus border
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
fccb832e2d
Move drawing code for track borders and shadows
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
1ca079b503
Move drawing code for margins and separators
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
ec69a58e0a
Invoke CellularPanel::Draw for TrackPanel, no steps moved into it yet
2019-06-26 23:39:42 -04:00
Paul Licameli
cb2ea25afc
Define drawing function of CellularPanel, which visits nodes
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
baf31dd72e
TrackPanel copies its size, stores VRuler width in ViewInfo
2019-06-26 21:25:15 -04:00
Paul Licameli
5cd77187ef
Fix TrackPanel rectangle calculations...
...
... There was an incorrect click-to-resize area active when the last track was
partly scrolled off the bottom
This big predated 2.3.3. development
2019-06-26 21:24:31 -04:00
Paul Licameli
349b882911
Fix failures to repaint track focus border caused by 25f4d6c
2019-06-26 10:03:07 -04:00
Paul Licameli
ef7068f46a
Fix some failures to update the vertical scrollbar...
...
... Problem involves sequence in which event handlers are done, and started at
commit 278509a
which updated track Y coordinates in a handler.
Solution is to delay the updating of scrollbars further, using CallAfter.
Also remove one unnecessary call to ProjectWindow::FixScrollbars() because
ProjectWindow::HandleResize follows it and includes scrollbar update already.
2019-06-25 17:41:29 -04:00
Henric Jungheim
01c1b0b0a9
Avoid warning about forward declaration not matching definition.
2019-06-25 11:53:49 -07:00
Henric Jungheim
3b4250c3ae
Base classes of AUDACITY_DLL_API classes also need AUDACITY_DLL_API.
2019-06-25 11:53:49 -07: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
2257fa642a
Remove TrackPanel::EnsureVisible; TrackList sends an event instead
2019-06-25 10:54:55 -04:00
Paul Licameli
d236507682
Free CommonCommandFlags from cycles again, big s.c.c. is 25
2019-06-25 09:41:11 -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
fab648e475
New files SelectUtilities, TrackUtilities
2019-06-24 22:50:35 -04:00
Paul Licameli
f1dcc156a0
Remove unnecessary inclusions of Menus.h
2019-06-24 22:45:33 -04:00
Steve Daulton
7485d88bcd
Fix bug 2136 updated
...
As described by David Bailes, it should be std::locale nolocale("C");
2019-06-24 20:34:54 +01:00
Paul Licameli
3d5eec7929
CommonCommandFlags is free of cycles, 23 left in the big s.c.c. ...
...
... That was easy. An #include in a new file just wasn't needed.
2019-06-24 14:48:08 -04:00
Paul Licameli
84e8d4b629
Rewrite AttachedVirtualFunction so MS compiler accepts it
2019-06-24 14:12:50 -04:00
Paul Licameli
e08a942ab8
Fix other cause of intermittent timing-dependent crash at shutdown...
...
... AudioIO holds a weak pointer to its listener so there is no dangling
pointer
2019-06-24 13:32:08 -04:00
Paul Licameli
5627620b78
Remove dependency of AudioIO on Scrubbing.cpp ...
...
... though the demotion of the constant into AudioIO.h isn't wholly satisfactory
and there is still the scrubbing queue in AudioIO
2019-06-24 12:52:54 -04:00
Paul Licameli
d9b780b067
AudioIO does not depend directly on ControlToolBar ...
...
... use one more callback in the listener to change the ControlToolBar pause
state.
2019-06-24 12:43:08 -04:00