mirror of
https://github.com/cookiengineer/audacity
synced 2025-07-19 14:17:41 +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_spectro.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.OptionalN( bHasChannelIndex ).Define( mChannelIndex, wxT("Channel"), 0, 0, 100 );
|
||||
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 );
|
||||
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 ){
|
||||
wxArrayString colours( nColours, kColourStrings );
|
||||
wxArrayString displays( nDisplayTypes, kDisplayTypeStrings );
|
||||
wxArrayString scales( nScaleTypes, kScaleTypeStrings );
|
||||
wxArrayString vzooms( nZoomTypes, kZoomTypeStrings );
|
||||
|
||||
S.OptionalY( bHasTrackIndex ).Define( mTrackIndex, wxT("Track"), 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( bHasScaleType ).DefineEnum( mScaleType, wxT("Scale"), kLinear, scales );
|
||||
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( bHasGrayScale ).Define( bGrayScale, wxT("GrayScale"), false );
|
||||
// There is also a select command. This is an alternative.
|
||||
@ -106,6 +124,7 @@ void SetTrackCommand::PopulateOrExchange(ShuttleGui & S)
|
||||
wxArrayString colours( nColours, kColourStrings );
|
||||
wxArrayString displays( nDisplayTypes, kDisplayTypeStrings );
|
||||
wxArrayString scales( nScaleTypes, kScaleTypeStrings );
|
||||
wxArrayString vzooms( nZoomTypes, kZoomTypeStrings );
|
||||
|
||||
S.AddSpace(0, 5);
|
||||
|
||||
@ -120,6 +139,7 @@ void SetTrackCommand::PopulateOrExchange(ShuttleGui & S)
|
||||
S.Optional( bHasColour ).TieChoice( _("Colour:"), mColour, &colours );
|
||||
S.Optional( bHasDisplayType ).TieChoice( _("Display:"), mDisplayType, &displays );
|
||||
S.Optional( bHasScaleType ).TieChoice( _("Scale:"), mScaleType, &scales );
|
||||
S.Optional( bHasVZoom ).TieChoice( _("VZoom:"), mVZoom, &vzooms );
|
||||
}
|
||||
S.EndMultiColumn();
|
||||
S.StartMultiColumn(2, wxALIGN_CENTER);
|
||||
@ -181,6 +201,14 @@ bool SetTrackCommand::Apply(const CommandContext & context)
|
||||
wt->GetSpectrogramSettings().spectralSelection = bSpectralSelect;
|
||||
if( wt && bHasGrayScale )
|
||||
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.
|
||||
if( !bIsSecondChannel ){
|
||||
|
@ -47,6 +47,7 @@ public:
|
||||
int mHeight;
|
||||
int mDisplayType;
|
||||
int mScaleType;
|
||||
int mVZoom;
|
||||
bool bSpectralSelect;
|
||||
bool bGrayScale;
|
||||
bool bSelected;
|
||||
@ -64,6 +65,7 @@ public:
|
||||
bool bHasHeight;
|
||||
bool bHasDisplayType;
|
||||
bool bHasScaleType;
|
||||
bool bHasVZoom;
|
||||
bool bHasSpectralSelect;
|
||||
bool bHasGrayScale;
|
||||
bool bHasSelected;
|
||||
|
Loading…
x
Reference in New Issue
Block a user