Commit Graph

16 Commits

Author SHA1 Message Date
Paul Licameli d92a68f076 ViewInfo does not depend on AudioIOBase...
... ViewInfo should only be concerned with screen geometry.

(And so it won't depend on AudioIO (even higher level) after stream time moves
there.)

PlaybackScroller receives the timer event directly (not from ViewInfo) and
caches playback position instead.  Then, as before, it propagates the event
to PlayIndicatorOverlay.
2021-05-14 16:25:14 -04:00
Paul Licameli 406b23cae7 More uses of AUDACITY_DLL_API...
... in many places where the function call will later need to be between
modules (or libraries, or the executable) and the annotation will be a necessity
to keep the linkage working on Windows.

That's all that this sweeping commit does.
2021-05-10 10:46:55 -04:00
Paul Licameli 973f15c5ac Move ProjectWindowBase to new files...
... So that you can use GetProject without other linkage dependencies
2020-01-03 17:58:21 -05:00
Paul Licameli be24e6b5a1 Separate class ProjectWindowBase...
... which adds a project association to wxFrame, and nothing else
2020-01-03 17:54:44 -05: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 d0c4677ab1 Move most of ProjectWindow initialization into nonmember function 2019-07-03 13:34:44 -04:00
Paul Licameli 52ff705b0d ScrollIntoView out of TrackPanel, into ProjectWindow 2019-07-03 13:32:32 -04:00
Paul Licameli 312911645e Update status bar field widths in case of language change 2019-07-02 21:02:13 -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 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 c6478f43af Lower ViewActions as member functions of ProjectWindow 2019-06-25 00:14:53 -04:00
Paul Licameli c506536912 Menus.cpp does not depend directly on ProjectWindow 2019-06-16 01:24:29 -04:00
Paul Licameli 5eaf0a649b ProjectWindow listens for undo events, intrudes less in other code 2019-06-12 11:08:50 -04:00
Paul Licameli b7386c2db1 Use idle events to update TrackPanel cursor...
... As when recording starts or stops, or the Tools button has changed, or
scrolling has changed the results of hit-test.

This reduces TrackPanel's intrusions into other code, including ProjectHistory.

Also for AdornedRulerPanel, which shares the base class CellularPanel
2019-06-12 11:05:55 -04:00
Paul Licameli 236b188d6b ProjectWindow does not depend on ProjectFileIO 2019-06-05 07:24:01 -04:00
Paul Licameli 4f940c855d New files for ProjectWindow 2019-06-03 01:43:26 -04:00