mirror of
https://github.com/cookiengineer/audacity
synced 2026-04-01 03:54:47 +02:00
Define static accessor functions for VRulerControls and TrackControls...
... and use std::enable_shared_from_this Temporarily putting TrackControls.cpp back into the big s.c.c, now 59 files Future rewriting might even eliminate all mention of those classes in the definition of the Track classes.
This commit is contained in:
@@ -100,6 +100,7 @@ is time to refresh some aspect of the screen.
|
||||
|
||||
#include "toolbars/ControlToolBar.h"
|
||||
|
||||
#include "tracks/ui/TrackControls.h"
|
||||
#include "tracks/ui/TrackVRulerControls.h" // for inheritance relation
|
||||
|
||||
//This loads the appropriate set of cursors, depending on platform.
|
||||
@@ -339,7 +340,7 @@ TrackPanel::~TrackPanel()
|
||||
|
||||
LWSlider *TrackPanel::GainSlider( const WaveTrack *wt )
|
||||
{
|
||||
auto pControls = wt->GetTrackControl();
|
||||
auto pControls = &TrackControls::Get( *wt );
|
||||
auto rect = FindRect( *pControls );
|
||||
wxRect sliderRect;
|
||||
TrackInfo::GetGainRect( rect.GetTopLeft(), sliderRect );
|
||||
@@ -348,7 +349,7 @@ LWSlider *TrackPanel::GainSlider( const WaveTrack *wt )
|
||||
|
||||
LWSlider *TrackPanel::PanSlider( const WaveTrack *wt )
|
||||
{
|
||||
auto pControls = wt->GetTrackControl();
|
||||
auto pControls = &TrackControls::Get( *wt );
|
||||
auto rect = FindRect( *pControls );
|
||||
wxRect sliderRect;
|
||||
TrackInfo::GetPanRect( rect.GetTopLeft(), sliderRect );
|
||||
@@ -358,7 +359,7 @@ LWSlider *TrackPanel::PanSlider( const WaveTrack *wt )
|
||||
#ifdef EXPERIMENTAL_MIDI_OUT
|
||||
LWSlider *TrackPanel::VelocitySlider( const NoteTrack *nt )
|
||||
{
|
||||
auto pControls = nt->GetTrackControl();
|
||||
auto pControls = &TrackControls::Get( *nt );
|
||||
auto rect = FindRect( *pControls );
|
||||
wxRect sliderRect;
|
||||
TrackInfo::GetVelocityRect( rect.GetTopLeft(), sliderRect );
|
||||
@@ -2194,7 +2195,8 @@ struct VRulerAndChannel final : TrackPanelGroup {
|
||||
Subdivision Children( const wxRect &rect ) override
|
||||
{
|
||||
return { Axis::X, Refinement{
|
||||
{ rect.GetLeft(), mpChannel->GetVRulerControl() },
|
||||
{ rect.GetLeft(),
|
||||
TrackVRulerControls::Get( *mpChannel ).shared_from_this() },
|
||||
{ mLeftOffset, mpChannel }
|
||||
} };
|
||||
}
|
||||
@@ -2240,7 +2242,8 @@ struct LabeledChannelGroup final : TrackPanelGroup {
|
||||
: mpTrack{ pTrack }, mLeftOffset{ leftOffset } {}
|
||||
Subdivision Children( const wxRect &rect ) override
|
||||
{ return { Axis::X, Refinement{
|
||||
{ rect.GetLeft(), mpTrack->GetTrackControl() },
|
||||
{ rect.GetLeft(),
|
||||
TrackControls::Get( *mpTrack ).shared_from_this() },
|
||||
{ rect.GetLeft() + kTrackInfoWidth,
|
||||
std::make_shared< ChannelGroup >( mpTrack, mLeftOffset ) }
|
||||
} }; }
|
||||
|
||||
Reference in New Issue
Block a user