mirror of
https://github.com/cookiengineer/audacity
synced 2025-10-21 06:01:13 +02:00
Add Project Rate to SetProjectCommand
This commit is contained in:
@@ -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));
|
||||
|
@@ -44,10 +44,12 @@ public:
|
||||
int mPosY;
|
||||
int mWidth;
|
||||
int mHeight;
|
||||
double mRate;
|
||||
|
||||
// For tracking optional parameters.
|
||||
bool bHasName;
|
||||
bool bHasSizing;
|
||||
bool bHasRate;
|
||||
};
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user