Audacity 3.2.0
RealtimeEffectPanel.h
Go to the documentation of this file.
1/*!********************************************************************
2
3 Audacity: A Digital Audio Editor
4
5 @file RealtimeEffectPanel.cpp
6
7 @author Vitaly Sverchinsky
8
9**********************************************************************/
10
11#pragma once
12
13#include <memory>
14#include <wx/scrolwin.h>
15#include <wx/weakref.h>
16
17#include "ThemedWrappers.h"
18#include "Observer.h"
19
20class Track;
21
22class wxButton;
23class wxStaticText;
24class wxBitmapButton;
25
27class AudacityProject;
28
34class RealtimeEffectPanel : public wxPanel
35{
37 wxStaticText* mTrackTitle {nullptr};
39 wxWindow* mHeader{nullptr};
41
42 std::weak_ptr<Track> mCurrentTrack;
43
46
47 std::vector<std::shared_ptr<Track>> mPotentiallyRemovedTracks;
48
49 // RealtimeEffectPanel is wrapped using ThemedWindowWrapper,
50 // so we cannot subscribe to Prefs directly
52 std::unique_ptr<PrefsListenerHelper> mPrefsListenerHelper;
53
54public:
56 AudacityProject& project, wxWindow* parent,
57 wxWindowID id,
58 const wxPoint& pos = wxDefaultPosition,
59 const wxSize& size = wxDefaultSize,
60 long style = 0,
61 const wxString& name = wxPanelNameStr);
62
63 ~RealtimeEffectPanel() override;
64
69 void SetTrack(const std::shared_ptr<Track>& track);
70 void ResetTrack();
71
72 bool IsTopNavigationDomain(NavigationKind) const override { return true; }
73
74 void SetFocus() override;
75
76private:
77 void OnCharHook(wxKeyEvent& evt);
78};
const TranslatableString name
Definition: Distortion.cpp:82
A wxButton with mouse-over behaviour.
Definition: AButton.h:26
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
Definition: Project.h:89
A move-only handle representing a connection to a Publisher.
Definition: Observer.h:70
UI Panel that displays realtime effects from the effect stack of an individual track,...
std::weak_ptr< Track > mCurrentTrack
Observer::Subscription mUndoSubscription
std::vector< std::shared_ptr< Track > > mPotentiallyRemovedTracks
bool IsTopNavigationDomain(NavigationKind) const override
wxStaticText * mTrackTitle
void SetTrack(const std::shared_ptr< Track > &track)
Shows effects from the effect stack of the track.
RealtimeEffectListWindow * mEffectList
void OnCharHook(wxKeyEvent &evt)
std::unique_ptr< PrefsListenerHelper > mPrefsListenerHelper
RealtimeEffectPanel(AudacityProject &project, wxWindow *parent, wxWindowID id, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxString &name=wxPanelNameStr)
AudacityProject & mProject
Observer::Subscription mTrackListChanged
Abstract base class for an object holding data associated with points on a time axis.
Definition: Track.h:225