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:
@@ -25,6 +25,7 @@
|
|||||||
#include "../WaveTrack.h"
|
#include "../WaveTrack.h"
|
||||||
#include "../ShuttleGui.h"
|
#include "../ShuttleGui.h"
|
||||||
#include "CommandContext.h"
|
#include "CommandContext.h"
|
||||||
|
#include "toolbars/SelectionBar.h"
|
||||||
|
|
||||||
SetProjectCommand::SetProjectCommand()
|
SetProjectCommand::SetProjectCommand()
|
||||||
{
|
{
|
||||||
@@ -33,6 +34,7 @@ SetProjectCommand::SetProjectCommand()
|
|||||||
|
|
||||||
bool SetProjectCommand::DefineParams( ShuttleParams & S ){
|
bool SetProjectCommand::DefineParams( ShuttleParams & S ){
|
||||||
S.OptionalN( bHasName ).Define( mName, wxT("Name"), _("Project") );
|
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( 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( mPosY, wxT("Y"), 10.0, 0.0, 2000.0);
|
||||||
S.OptionalY( bHasSizing ).Define( mWidth, wxT("Width"), 1000.0, 200.0, 4000.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.StartMultiColumn(3, wxALIGN_CENTER);
|
||||||
{
|
{
|
||||||
S.Optional( bHasName ).TieTextBox( _("Name:"), mName );
|
S.Optional( bHasName ).TieTextBox( _("Name:"), mName );
|
||||||
|
S.Optional( bHasName ).TieTextBox( _("Rate:"), mRate );
|
||||||
S.TieCheckBox( _("Resize:"), bHasSizing );
|
S.TieCheckBox( _("Resize:"), bHasSizing );
|
||||||
|
S.AddSpace(0,0);
|
||||||
}
|
}
|
||||||
S.EndMultiColumn();
|
S.EndMultiColumn();
|
||||||
S.StartMultiColumn(2, wxALIGN_CENTER);
|
S.StartMultiColumn(2, wxALIGN_CENTER);
|
||||||
@@ -64,6 +68,15 @@ bool SetProjectCommand::Apply(const CommandContext & context)
|
|||||||
AudacityProject * pProj = context.GetProject();
|
AudacityProject * pProj = context.GetProject();
|
||||||
if( bHasName )
|
if( bHasName )
|
||||||
pProj->SetLabel(mName);
|
pProj->SetLabel(mName);
|
||||||
|
|
||||||
|
if( bHasRate && mRate >= 1 && mRate <= 1000000 )
|
||||||
|
{
|
||||||
|
auto *bar = pProj->GetSelectionBar();
|
||||||
|
if( bar ){
|
||||||
|
bar->SetRate( mRate );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if( bHasSizing )
|
if( bHasSizing )
|
||||||
{
|
{
|
||||||
pProj->SetPosition( wxPoint( mPosX, mPosY));
|
pProj->SetPosition( wxPoint( mPosX, mPosY));
|
||||||
|
@@ -44,10 +44,12 @@ public:
|
|||||||
int mPosY;
|
int mPosY;
|
||||||
int mWidth;
|
int mWidth;
|
||||||
int mHeight;
|
int mHeight;
|
||||||
|
double mRate;
|
||||||
|
|
||||||
// For tracking optional parameters.
|
// For tracking optional parameters.
|
||||||
bool bHasName;
|
bool bHasName;
|
||||||
bool bHasSizing;
|
bool bHasSizing;
|
||||||
|
bool bHasRate;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user