1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-10-21 14:02:57 +02:00

Add Project Rate to SetProjectCommand

This commit is contained in:
Steve Daulton
2018-10-15 21:45:10 +01:00
parent 6ca721b03a
commit cb55164c43
2 changed files with 15 additions and 0 deletions

View File

@@ -25,6 +25,7 @@
#include "../WaveTrack.h"
#include "../ShuttleGui.h"
#include "CommandContext.h"
#include "toolbars/SelectionBar.h"
SetProjectCommand::SetProjectCommand()
{
@@ -33,6 +34,7 @@ SetProjectCommand::SetProjectCommand()
bool SetProjectCommand::DefineParams( ShuttleParams & S ){
S.OptionalN( bHasName ).Define( mName, wxT("Name"), _("Project") );
S.OptionalY( bHasRate ).Define( mRate, wxT("Rate"), 44100.0, 1.0, 1000000.0);
S.OptionalY( bHasSizing ).Define( mPosX, wxT("X"), 10.0, 0.0, 2000.0);
S.OptionalY( bHasSizing ).Define( mPosY, wxT("Y"), 10.0, 0.0, 2000.0);
S.OptionalY( bHasSizing ).Define( mWidth, wxT("Width"), 1000.0, 200.0, 4000.0);
@@ -46,7 +48,9 @@ void SetProjectCommand::PopulateOrExchange(ShuttleGui & S)
S.StartMultiColumn(3, wxALIGN_CENTER);
{
S.Optional( bHasName ).TieTextBox( _("Name:"), mName );
S.Optional( bHasName ).TieTextBox( _("Rate:"), mRate );
S.TieCheckBox( _("Resize:"), bHasSizing );
S.AddSpace(0,0);
}
S.EndMultiColumn();
S.StartMultiColumn(2, wxALIGN_CENTER);
@@ -64,6 +68,15 @@ bool SetProjectCommand::Apply(const CommandContext & context)
AudacityProject * pProj = context.GetProject();
if( bHasName )
pProj->SetLabel(mName);
if( bHasRate && mRate >= 1 && mRate <= 1000000 )
{
auto *bar = pProj->GetSelectionBar();
if( bar ){
bar->SetRate( mRate );
}
}
if( bHasSizing )
{
pProj->SetPosition( wxPoint( mPosX, mPosY));

View File

@@ -44,10 +44,12 @@ public:
int mPosY;
int mWidth;
int mHeight;
double mRate;
// For tracking optional parameters.
bool bHasName;
bool bHasSizing;
bool bHasRate;
};