mirror of
https://github.com/cookiengineer/audacity
synced 2025-07-20 14:47:49 +02:00
Add Envelope script
This commit is contained in:
parent
43da4995a6
commit
ab99b7d6c1
@ -10,3 +10,4 @@ exec( open("docimages_tracks.py" ).read() )
|
|||||||
exec( open("docimages_labels.py" ).read() )
|
exec( open("docimages_labels.py" ).read() )
|
||||||
exec( open("docimages_spectro.py" ).read() )
|
exec( open("docimages_spectro.py" ).read() )
|
||||||
exec( open("docimages_after.py" ).read() )
|
exec( open("docimages_after.py" ).read() )
|
||||||
|
exec( open("docimages_envelopes.py" ).read() )
|
||||||
|
45
scripts/piped-work/docimages_envelopes.py
Normal file
45
scripts/piped-work/docimages_envelopes.py
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
# docimages_envelopes.py
|
||||||
|
# Sends commands to get images for the manual.
|
||||||
|
# Images for envelope manipulation.
|
||||||
|
|
||||||
|
# Make sure Audacity is running first and that mod-script-pipe is enabled
|
||||||
|
# before running this script.
|
||||||
|
|
||||||
|
#load and run the common core.
|
||||||
|
exec( open("docimages_core.py" ).read() )
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def env_images() :
|
||||||
|
loadMonoTracks(1)
|
||||||
|
do( 'Select: Start=0 End=0')
|
||||||
|
# A mono track
|
||||||
|
capture( 'Envelope001.png', 'All_Tracks' )
|
||||||
|
do( 'EnvelopeTool' )
|
||||||
|
# As spectrogram.
|
||||||
|
capture( 'Envelope002.png', 'All_Tracks' )
|
||||||
|
do( 'SetEnvelope: Time=55 Value=0.9');
|
||||||
|
capture( 'Envelope003.png', 'All_Tracks' )
|
||||||
|
do( 'SetEnvelope: Time=120 Value=0.4');
|
||||||
|
capture( 'Envelope004.png', 'All_Tracks' )
|
||||||
|
do( 'SetEnvelope: Time=125 Value=0.9');
|
||||||
|
capture( 'Envelope005.png', 'All_Tracks' )
|
||||||
|
do( 'SetEnvelope: Time=45 Value=0.85');
|
||||||
|
capture( 'Envelope006.png', 'All_Tracks' )
|
||||||
|
do( 'SetEnvelope: Time=25 Value=1.85');
|
||||||
|
capture( 'Envelope007.png', 'All_Tracks' )
|
||||||
|
do( 'SetEnvelope: Time=0 Value=0.85');
|
||||||
|
capture( 'Envelope008.png', 'All_Tracks' )
|
||||||
|
do( 'SetTrack: VZoom=Times2' )
|
||||||
|
capture( 'Envelope009.png', 'All_Tracks' )
|
||||||
|
do( 'SetTrack: VZoom=HalfWave' )
|
||||||
|
capture( 'Envelope010.png', 'All_Tracks' )
|
||||||
|
do( 'SelectTool' )
|
||||||
|
capture( 'Envelope011.png', 'All_Tracks' )
|
||||||
|
do( 'SetTrack: VZoom=Reset' )
|
||||||
|
capture( 'Envelope012.png', 'All_Tracks' )
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
env_images()
|
||||||
|
|
@ -34,7 +34,7 @@ bool SetEnvelopeCommand::DefineParams( ShuttleParams & S ){
|
|||||||
S.OptionalY( bHasTrackIndex ).Define( mTrackIndex, wxT("Track"), 0, 0, 100 );
|
S.OptionalY( bHasTrackIndex ).Define( mTrackIndex, wxT("Track"), 0, 0, 100 );
|
||||||
S.OptionalN( bHasChannelIndex ).Define( mChannelIndex, wxT("Channel"), 0, 0, 100 );
|
S.OptionalN( bHasChannelIndex ).Define( mChannelIndex, wxT("Channel"), 0, 0, 100 );
|
||||||
S.OptionalY( bHasT ).Define( mT, wxT("Time"), 0.0, 0.0, 100000.0);
|
S.OptionalY( bHasT ).Define( mT, wxT("Time"), 0.0, 0.0, 100000.0);
|
||||||
S.OptionalY( bHasV ).Define( mV, wxT("Value"), 0.0, 0.0, 2.0);
|
S.OptionalY( bHasV ).Define( mV, wxT("Value"), 1.0, 0.0, 2.0);
|
||||||
S.OptionalN( bHasDelete ).Define( mbDelete, wxT("Delete"), false );
|
S.OptionalN( bHasDelete ).Define( mbDelete, wxT("Delete"), false );
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
@ -77,10 +77,27 @@ static const wxString kScaleTypeStrings[nScaleTypes] =
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
enum kZoomTypes
|
||||||
|
{
|
||||||
|
kReset,
|
||||||
|
kTimes2,
|
||||||
|
kHalfWave,
|
||||||
|
nZoomTypes
|
||||||
|
};
|
||||||
|
|
||||||
|
static const wxString kZoomTypeStrings[nZoomTypes] =
|
||||||
|
{
|
||||||
|
XO("Reset"),
|
||||||
|
XO("Times2"),
|
||||||
|
XO("HalfWave"),
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
bool SetTrackCommand::DefineParams( ShuttleParams & S ){
|
bool SetTrackCommand::DefineParams( ShuttleParams & S ){
|
||||||
wxArrayString colours( nColours, kColourStrings );
|
wxArrayString colours( nColours, kColourStrings );
|
||||||
wxArrayString displays( nDisplayTypes, kDisplayTypeStrings );
|
wxArrayString displays( nDisplayTypes, kDisplayTypeStrings );
|
||||||
wxArrayString scales( nScaleTypes, kScaleTypeStrings );
|
wxArrayString scales( nScaleTypes, kScaleTypeStrings );
|
||||||
|
wxArrayString vzooms( nZoomTypes, kZoomTypeStrings );
|
||||||
|
|
||||||
S.OptionalY( bHasTrackIndex ).Define( mTrackIndex, wxT("Track"), 0, 0, 100 );
|
S.OptionalY( bHasTrackIndex ).Define( mTrackIndex, wxT("Track"), 0, 0, 100 );
|
||||||
S.OptionalN( bHasChannelIndex ).Define( mChannelIndex, wxT("Channel"), 0, 0, 100 );
|
S.OptionalN( bHasChannelIndex ).Define( mChannelIndex, wxT("Channel"), 0, 0, 100 );
|
||||||
@ -91,6 +108,7 @@ bool SetTrackCommand::DefineParams( ShuttleParams & S ){
|
|||||||
S.OptionalN( bHasDisplayType ).DefineEnum( mDisplayType, wxT("Display"), kWaveform, displays );
|
S.OptionalN( bHasDisplayType ).DefineEnum( mDisplayType, wxT("Display"), kWaveform, displays );
|
||||||
S.OptionalN( bHasScaleType ).DefineEnum( mScaleType, wxT("Scale"), kLinear, scales );
|
S.OptionalN( bHasScaleType ).DefineEnum( mScaleType, wxT("Scale"), kLinear, scales );
|
||||||
S.OptionalN( bHasColour ).DefineEnum( mColour, wxT("Color"), kColour0, colours );
|
S.OptionalN( bHasColour ).DefineEnum( mColour, wxT("Color"), kColour0, colours );
|
||||||
|
S.OptionalN( bHasVZoom ).DefineEnum( mVZoom, wxT("VZoom"), kReset, vzooms );
|
||||||
S.OptionalN( bHasSpectralSelect ).Define( bSpectralSelect, wxT("SpectralSel"),true );
|
S.OptionalN( bHasSpectralSelect ).Define( bSpectralSelect, wxT("SpectralSel"),true );
|
||||||
S.OptionalN( bHasGrayScale ).Define( bGrayScale, wxT("GrayScale"), false );
|
S.OptionalN( bHasGrayScale ).Define( bGrayScale, wxT("GrayScale"), false );
|
||||||
// There is also a select command. This is an alternative.
|
// There is also a select command. This is an alternative.
|
||||||
@ -106,6 +124,7 @@ void SetTrackCommand::PopulateOrExchange(ShuttleGui & S)
|
|||||||
wxArrayString colours( nColours, kColourStrings );
|
wxArrayString colours( nColours, kColourStrings );
|
||||||
wxArrayString displays( nDisplayTypes, kDisplayTypeStrings );
|
wxArrayString displays( nDisplayTypes, kDisplayTypeStrings );
|
||||||
wxArrayString scales( nScaleTypes, kScaleTypeStrings );
|
wxArrayString scales( nScaleTypes, kScaleTypeStrings );
|
||||||
|
wxArrayString vzooms( nZoomTypes, kZoomTypeStrings );
|
||||||
|
|
||||||
S.AddSpace(0, 5);
|
S.AddSpace(0, 5);
|
||||||
|
|
||||||
@ -120,6 +139,7 @@ void SetTrackCommand::PopulateOrExchange(ShuttleGui & S)
|
|||||||
S.Optional( bHasColour ).TieChoice( _("Colour:"), mColour, &colours );
|
S.Optional( bHasColour ).TieChoice( _("Colour:"), mColour, &colours );
|
||||||
S.Optional( bHasDisplayType ).TieChoice( _("Display:"), mDisplayType, &displays );
|
S.Optional( bHasDisplayType ).TieChoice( _("Display:"), mDisplayType, &displays );
|
||||||
S.Optional( bHasScaleType ).TieChoice( _("Scale:"), mScaleType, &scales );
|
S.Optional( bHasScaleType ).TieChoice( _("Scale:"), mScaleType, &scales );
|
||||||
|
S.Optional( bHasVZoom ).TieChoice( _("VZoom:"), mVZoom, &vzooms );
|
||||||
}
|
}
|
||||||
S.EndMultiColumn();
|
S.EndMultiColumn();
|
||||||
S.StartMultiColumn(2, wxALIGN_CENTER);
|
S.StartMultiColumn(2, wxALIGN_CENTER);
|
||||||
@ -181,6 +201,14 @@ bool SetTrackCommand::Apply(const CommandContext & context)
|
|||||||
wt->GetSpectrogramSettings().spectralSelection = bSpectralSelect;
|
wt->GetSpectrogramSettings().spectralSelection = bSpectralSelect;
|
||||||
if( wt && bHasGrayScale )
|
if( wt && bHasGrayScale )
|
||||||
wt->GetSpectrogramSettings().isGrayscale = bGrayScale;
|
wt->GetSpectrogramSettings().isGrayscale = bGrayScale;
|
||||||
|
if( wt && bHasVZoom ){
|
||||||
|
switch( mVZoom ){
|
||||||
|
default:
|
||||||
|
case kReset: wt->SetDisplayBounds(-1,1); break;
|
||||||
|
case kTimes2: wt->SetDisplayBounds(-2,2); break;
|
||||||
|
case kHalfWave: wt->SetDisplayBounds(0,1); break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// These ones don't make sense on the second channel of a stereo track.
|
// These ones don't make sense on the second channel of a stereo track.
|
||||||
if( !bIsSecondChannel ){
|
if( !bIsSecondChannel ){
|
||||||
|
@ -47,6 +47,7 @@ public:
|
|||||||
int mHeight;
|
int mHeight;
|
||||||
int mDisplayType;
|
int mDisplayType;
|
||||||
int mScaleType;
|
int mScaleType;
|
||||||
|
int mVZoom;
|
||||||
bool bSpectralSelect;
|
bool bSpectralSelect;
|
||||||
bool bGrayScale;
|
bool bGrayScale;
|
||||||
bool bSelected;
|
bool bSelected;
|
||||||
@ -64,6 +65,7 @@ public:
|
|||||||
bool bHasHeight;
|
bool bHasHeight;
|
||||||
bool bHasDisplayType;
|
bool bHasDisplayType;
|
||||||
bool bHasScaleType;
|
bool bHasScaleType;
|
||||||
|
bool bHasVZoom;
|
||||||
bool bHasSpectralSelect;
|
bool bHasSpectralSelect;
|
||||||
bool bHasGrayScale;
|
bool bHasGrayScale;
|
||||||
bool bHasSelected;
|
bool bHasSelected;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user