Audacity 3.2.0
LyricsWindow.h
Go to the documentation of this file.
1/**********************************************************************
2
3 Audacity: A Digital Audio Editor
4
5 LyricsWindow.h
6
7 Vaughan Johnson
8 Dominic Mazzoni
9
10**********************************************************************/
11
12#ifndef __AUDACITY_LYRICS_WINDOW__
13#define __AUDACITY_LYRICS_WINDOW__
14
15#include <wx/frame.h> // to inherit
16#include <memory>
17
18#include "Observer.h"
19#include "Prefs.h"
20
21class AudacityProject;
22class LyricsPanel;
23
24class LyricsWindow final : public wxFrame,
25 public PrefsListener
26{
27
28 public:
30
32
33 private:
34 void OnCloseWindow(wxCloseEvent & WXUNUSED(event));
35
36 void OnStyle_BouncingBall(wxCommandEvent &evt);
37 void OnStyle_Highlight(wxCommandEvent &evt);
39
40 void SetWindowTitle();
41
42 // PrefsListener implementation
43 void UpdatePrefs() override;
44
45 std::weak_ptr<AudacityProject> mProject;
49
50 public:
51 DECLARE_EVENT_TABLE()
52};
53
54#endif
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
Definition: Project.h:90
LyricsPanel is a panel that paints the bouncing ball and the lyrics text.
Definition: Lyrics.h:79
void UpdatePrefs() override
void OnStyle_BouncingBall(wxCommandEvent &evt)
void OnStyle_Highlight(wxCommandEvent &evt)
Observer::Subscription mTimerSubscription
Definition: LyricsWindow.h:47
LyricsWindow(AudacityProject *parent)
void OnCloseWindow(wxCloseEvent &WXUNUSED(event))
LyricsPanel * GetLyricsPanel()
Definition: LyricsWindow.h:31
void SetWindowTitle()
std::weak_ptr< AudacityProject > mProject
Definition: LyricsWindow.h:45
LyricsPanel * mLyricsPanel
Definition: LyricsWindow.h:46
Observer::Subscription mTitleChangeSubscription
Definition: LyricsWindow.h:48
void OnTimer(Observer::Message)
A move-only handle representing a connection to a Publisher.
Definition: Observer.h:70
A listener notified of changes in preferences.
Definition: Prefs.h:556
Default message type for Publisher.
Definition: Observer.h:26