1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-08-02 17:09:26 +02:00

65 Commits

Author SHA1 Message Date
Paul Licameli
5ebc13be93 Bug2167 residual...
... See comment 9 of bug report

See commit 0192af2e97339f90853a76a9eaaed4f6e780f995

The stopping before restart just needed to be delayed a little further
2019-08-01 07:12:57 -04:00
Paul Licameli
0192af2e97 Bug2167: Pick twice on ruler should restart play from same place...
... bug began at 7969b5a9e99a3fa63cdd13c78e48f02c4169a6b6
2019-07-31 16:37:06 -04:00
Paul Licameli
960fe47412 Bugs2151,2156: playhead ruler overlay was leaving black marks behind 2019-07-26 11:57:30 -04:00
Paul Licameli
582f662404 Bug2172: ruler pin button background should update for theme change...
... It stopped doing so at 1c1aca5

Because the recreating of the ruler's button now happened earlier than for
the several toolbars, not later, but there was a side-effect on the theme
that the toolbar updates did, that the ruler relied on, namely the updating
of button background images.

Now ruler also invokes that step.

(But wouldn't it be better to do that update in just one place?  I am not
sure what that place should be.  ThemeBase::LoadPreferredTheme?)
2019-07-23 02:07:00 -04:00
Paul Licameli
3e7388b408 Bug2168: Theme preference change should update toolbars...
... bug was introduced at 1c1aca521dfe5bc6bb8552af7f29ff966f527d24
2019-07-22 15:27:02 -04:00
Paul Licameli
7c17c158fd Bug2159 re-fixed after ed33fde: see first fix at 7969b5a 2019-07-18 12:57:35 -04:00
Paul Licameli
ed33fdebc9 AdornedRulerPanel updates the play region in selection event handler 2019-07-17 12:43:39 -04:00
Paul Licameli
a07b165307 Fix ruler idle handler again 2019-07-16 11:04:54 -04:00
Paul Licameli
2d6e8f3964 Bug2155: Deleting last track should reset play region to [0,0] 2019-07-16 10:40:22 -04:00
Paul Licameli
7969b5a9e9 Bug2159: Ruler play region should update when play/record stops 2019-07-15 23:28:25 -04:00
Paul Licameli
3dc4216dcc Rewrite bff30b6 delaying the effect...
... otherwise some stack overflows might happen in Refresh of TrackPanel or
AdornedRulerPanel
2019-07-08 09:39:48 -04:00
Paul Licameli
bff30b6ae9 Eliminate idle event handler of CellularPanel...
... achieving the intent of b7386c2db1a136c4684f1e52e53d2f21262032dd by other
means
2019-07-07 13:48:27 -04:00
Paul Licameli
274331cc26 AdornedRulerPanel eats less idle time after eb4eba6 and 9faa746d 2019-07-05 18:29:32 -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
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
1c1aca521d AdornedRulerPanel updates itself in response to theme change event 2019-07-03 23:11:10 -04:00
Paul Licameli
c742199d47 AdornedRulerPanel does not depend on TrackPanel...
... but it does assume that GetProjectPanel returns a CellularPanel
2019-07-03 23:08:49 -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
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
a470ba00b0 ProjectAudioManager does not depend directly on AdornedRulerPanel 2019-07-03 16:34:46 -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
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
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
e581fa60d9 Move responsibilities from Track to TrackView classes...
... And Track no longer inherits TrackPanelCell, so be careful to rewrite
some dynamic_casts too to check instead for TrackView.  Those casts won't fail
to recompile if not rewritten.
2019-06-18 16:01:06 -04:00
Paul Licameli
c6f24d864b Construct all toolbars with back-reference to the project...
... and eliminate many uses of GetActiveProject
2019-06-12 20:52:36 -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
42a4f55ffe Prepare to split AudioIOBase from AudioIO...
... New files, but (almost) empty; don't use the global variable gAudioIO,
but use one of two accessor function names (which are the same function for
now).

AudioIOBase will have fewer dependencies than AudioIO -- in particular, no
dependency on tracks.

It won't include StartStream.  It will contain functions to query the
present state of streams, and device capabilities.
2019-06-10 20:48:38 -04:00
Paul Licameli
46bf5a82fc Don't pass whole TimeTrack to Ruler or Mixer...
... they need only the information in a (Bounded)Envelope.
2019-06-10 20:48:38 -04:00
Paul Licameli
d979a8959b New files for ProjectAudioManager...
... This eliminates some inclusions of ProjectManager, helping to free it from
cycles into a higher level
2019-06-09 12:10:47 -04:00
Paul Licameli
63b93fd2d1 Play region and its lock are stored together in ViewInfo 2019-06-03 01:43:27 -04:00
Paul Licameli
4f940c855d New files for ProjectWindow 2019-06-03 01:43:26 -04:00
Paul Licameli
fee5582826 New files for ProjectManager 2019-06-03 01:21:12 -04:00
Paul Licameli
e5cf2165d1 New files for ProjectAudioIO 2019-06-03 01:18:08 -04:00
Paul Licameli
1f4202c878 New attached structure ProjectAudioIO handles tokens and meters 2019-06-03 01:15:47 -04:00
Paul Licameli
82663892dc Accessors to get the project window...
... as a preparation for splitting up class AudacityProject.

Use ProjectWindow as an alias for AudacityProject, and fetch it from the
project with a static member function, where certain of its services are used;
pretending they are not the same class.

Use global accessor functions to get wxFrame from the project where only
wxFrame's member functions are needed, so there will be less dependency on
ProjectWindow when it becomes a distinct class.
2019-05-28 23:18:13 -04:00
Paul Licameli
02afcbca8c Redo TP_UpdateStatusMessage...
... Rename it as SetStatus; make it part of AudacityProject not
TrackPanelListener; and use a roundabout event signalling to cause the timer
restart.

Because SetStatus will be one of very few things left in AudacityProject, but
the timer handling will be part of another class decoupled from it.

And TrackPanelListener won't really be needed: TrackPanel will not need to
pretend it doesn't know what an AudacityProject is.
2019-05-28 19:36:47 -04:00
Paul Licameli
ae18f2f220 Construction of default play options moved out of AudacityProject 2019-05-28 19:33:21 -04:00
Paul Licameli
3416b5bad6 Toolbars accessed by static Get() functions, not through AudacityProject 2019-05-24 16:08:29 -04:00
Paul Licameli
7bb71257ed static AdornedRulerPanel::Get()...
... not member functions of AudacityProject
2019-05-24 15:48:16 -04:00
Paul Licameli
d1ad8f55e0 static TrackPanel::Get()...
... not member functions of AudacityProject
2019-05-24 15:46:30 -04:00
Paul Licameli
2f0a76ed10 static Scrubber::Get()...
... not member functions of AudacityProject
2019-05-23 16:01:10 -04:00
Paul Licameli
b5a57682b6 static ViewInfo::Get() and ZoomInfo::Get()...
... not member functions of AudacityProject
2019-05-23 12:58:47 -04:00
Paul Licameli
14ab93a01f static TrackList::Get()...
... not member function of AudacityProject
2019-05-23 12:58:47 -04:00
Paul Licameli
62899a32f4 All things with an UpdatePrefs() message listen for an event...
... Still to do, improve the handling of updates of only subsets of the prefs
2019-05-20 21:38:13 -04:00
Paul Licameli
dccb716f39 enum PlayMode tells whether there's cut preview; out of Project.h 2019-05-20 21:38:12 -04:00
Paul Licameli
24259413be Move UpdatePrefs() later in ctor of AudacityProject...
... and assume non-null for certain sub-windows
2019-05-20 21:38:11 -04:00
Paul Licameli
227fb315ea Drawing sequence for overlays independent of insertion call sequence 2019-05-20 21:38:08 -04:00
Paul Licameli
08c16b6eb7 Remove wx/{html/htmlwin,fileconf,dragimag,debug,dcclient}.h from *.h 2019-03-30 10:53:22 -04:00