Shorter command names. General tidying.
-More commands now have shorter names for parameters. -New scripts for generating images. -Several old-style commands retired.
This commit is contained in:
parent
62ca1cce26
commit
5d36890cb0
|
@ -66,141 +66,163 @@ def quickTest() :
|
|||
|
||||
def setup() :
|
||||
global path
|
||||
global sample
|
||||
path = '\"C:/Users/James Crook/\"'
|
||||
sample ='\"C:\\Users\\Public\\Music\\Sample Music\\Concerto.mp3\"'
|
||||
do( 'SetProject: X=10 Y=10 Width=850 Height=800' )
|
||||
|
||||
def makeWayForTracks( ) :
|
||||
do( 'SelectTracks: FirstTrack=0 LastTrack=20' )
|
||||
do( 'Select: First=0 Last=20' )
|
||||
do( 'RemoveTracks' )
|
||||
|
||||
|
||||
def capture( what ) :
|
||||
def capture( name, what ) :
|
||||
global path
|
||||
do( 'Screenshot: Path='+path+' CaptureWhat=' + what )
|
||||
do( 'Screenshot: Path='+path+name+' CaptureWhat=' + what )
|
||||
|
||||
def makeMonoTracks( num ) :
|
||||
makeWayForTracks( )
|
||||
for i in range( 0, num ):
|
||||
do( 'NewMonoTrack' )
|
||||
do( 'SetTrack: TrackIndex=0 Name="Foxy Lady"')
|
||||
do( 'SelectTime: StartTime=0 EndTime=30' )
|
||||
do( 'SelectTracks: FirstTrack=0 LastTrack=' + str(num-1) )
|
||||
do( 'SetTrack: Track=0 Name="Foxy Lady"')
|
||||
do( 'Select: Start=0 End=30 First=0 Last=' + str(num-1) )
|
||||
do( 'Chirp: StartAmp=0.5' )
|
||||
do( 'Wahwah' )
|
||||
do( 'FitInWindow' )
|
||||
do( 'SelectTime: StartTime=11 EndTime=14')
|
||||
do( 'Select: Start=11 End=14')
|
||||
|
||||
def loadStereoTrack():
|
||||
global sample
|
||||
makeWayForTracks( )
|
||||
do( 'Import2: Filename='+sample )
|
||||
do( 'Select: Start=0 End=150')
|
||||
do( 'ZoomSel' )
|
||||
do( 'SetTrack: Track=0 Name="The Poodle Podcast"')
|
||||
|
||||
def makeStereoTracks( num ) :
|
||||
makeWayForTracks( )
|
||||
if( num == 1 ):
|
||||
loadStereoTrack()
|
||||
return
|
||||
for i in range( 0, num ):
|
||||
do( 'NewStereoTrack' )
|
||||
do( 'SetTrack: TrackIndex=0 Name="Voodoo Children IN STEREO"')
|
||||
do( 'SelectTime: StartTime=0 EndTime=30' )
|
||||
do( 'SelectTracks: FirstTrack=0 LastTrack=' + str(num*2-1) )
|
||||
do( 'SetTrack: Track=0 Name="Voodoo Children IN STEREO"')
|
||||
do( 'Select: Start=0 End=30 First=0 Last=' + str(num*2-1) )
|
||||
do( 'Chirp: StartAmp=0.5' )
|
||||
do( 'Wahwah' )
|
||||
do( 'FitInWindow' )
|
||||
do( 'SelectTime: StartTime=11 EndTime=14')
|
||||
do( 'Select: Start=55 End=70')
|
||||
|
||||
def addLabels():
|
||||
do( 'SelectTime: StartTime=0 EndTime=1' )
|
||||
do( 'Select: Start=0 End=1' )
|
||||
do( 'AddLabel' )
|
||||
do( 'AddLabel' )
|
||||
do( 'AddLabel' )
|
||||
do( 'AddLabel' )
|
||||
do( 'SetLabel: LabelIndex=0 Text="Homweward Bound" Start=1 End=1 ')
|
||||
do( 'SetLabel: LabelIndex=1 Text="Silver Dagger" Start=7 End=7 ')
|
||||
do( 'SetLabel: LabelIndex=2 Selected=1 Text="NOISE" Start=9 End=12 ')
|
||||
do( 'SetLabel: LabelIndex=3 Text="Blood in These Veins" Start=16 End=16 ')
|
||||
do( 'SelectTime: StartTime=9 EndTime=12' )
|
||||
do( 'SetLabel: Label=0 Text="Homweward Bound" Start=1 End=1 ')
|
||||
do( 'SetLabel: Label=1 Text="Silver Dagger" Start=35 End=35 ')
|
||||
do( 'SetLabel: Label=2 Selected=1 Text="NOISE" Start=45 End=60 ')
|
||||
do( 'SetLabel: Label=3 Text="Blood in These Veins" Start=80 End=80 ')
|
||||
do( 'Select: Start=45 End=60' )
|
||||
|
||||
def addLabels2():
|
||||
do( 'SelectTime: StartTime=0 EndTime=1' )
|
||||
do( 'Select: Start=0 End=1' )
|
||||
do( 'AddLabel' )
|
||||
do( 'AddLabel' )
|
||||
do( 'AddLabel' )
|
||||
do( 'AddLabel' )
|
||||
do( 'AddLabel' )
|
||||
do( 'NewLabelTrack' )
|
||||
#do( 'SelectTracks: FirstTrack=2 LastTrack=2' )
|
||||
do( 'AddLabel' )
|
||||
do( 'AddLabel' )
|
||||
do( 'AddLabel' )
|
||||
do( 'AddLabel' )
|
||||
do( 'AddLabel' )
|
||||
do( 'SetLabel: LabelIndex=0 Selected=0 Text="intro" Start=0.1 End=0.1 ')
|
||||
do( 'SetLabel: LabelIndex=1 Text="thoughtpiece" Start=3 End=3 ')
|
||||
do( 'SetLabel: LabelIndex=2 Text="discussion" Start=12 End=12 ')
|
||||
do( 'SetLabel: LabelIndex=3 Text="summary" Start=20 End=20 ')
|
||||
do( 'SetLabel: LabelIndex=4 Text="credits" Start=25 End=25 ')
|
||||
do( 'SetLabel: LabelIndex=5 Selected=0 Text="Bach" Start=0.1 End=0.1 ')
|
||||
do( 'SetLabel: LabelIndex=6 Text="Vivaldi" Start=6 End=6 ')
|
||||
do( 'SetLabel: LabelIndex=7 Text="Mozart" Start=12 End=12 ')
|
||||
do( 'SetLabel: LabelIndex=8 Text="Satie" Start=18 End=18 ')
|
||||
do( 'SetLabel: LabelIndex=9 Text="Chopin" Start=24 End=24 ')
|
||||
do( 'SelectTracks: FirstTrack=3 LastTrack=3' )
|
||||
do( 'SetLabel: Label=0 Selected=0 Text="intro" Start=0.5 End=0.5 ')
|
||||
do( 'SetLabel: Label=1 Text="thought piece" Start=15 End=15 ')
|
||||
do( 'SetLabel: Label=2 Text="discussion" Start=60 End=60 ')
|
||||
do( 'SetLabel: Label=3 Text="summary" Start=100 End=100 ')
|
||||
do( 'SetLabel: Label=4 Text="credits" Start=125 End=125 ')
|
||||
do( 'SetLabel: Label=5 Selected=0 Text="Bach" Start=0.5 End=0.5 ')
|
||||
do( 'SetLabel: Label=6 Text="Vivaldi" Start=30 End=30 ')
|
||||
do( 'SetLabel: Label=7 Text="Mozart" Start=60 End=60 ')
|
||||
do( 'SetLabel: Label=8 Text="Satie" Start=90 End=90 ')
|
||||
do( 'SetLabel: Label=9 Text="Chopin" Start=120 End=120 ')
|
||||
do( 'Select: First=3 Last=3' )
|
||||
|
||||
|
||||
# A stero track with four labels.
|
||||
def image1() :
|
||||
makeStereoTracks(1)
|
||||
addLabels()
|
||||
capture( 'First_Two_Tracks' )
|
||||
do( "Select: Start=0 End=0" )
|
||||
capture( 'AutoLabels001.png', 'First_Two_Tracks' )
|
||||
|
||||
# Removing a label with delete (fraud - we used split delete)
|
||||
def image2() :
|
||||
makeStereoTracks(1)
|
||||
addLabels()
|
||||
do( "SelectTime: StartTime=8.9 EndTime=12.1" )
|
||||
do( "SelectTracks: FirstTrack=2 LastTrack=2" )
|
||||
do( "Select: Start=44.5 End=60.5 First=2 Last=2" )
|
||||
do( "SplitDelete" )
|
||||
do( "SelectTime: StartTime=0 EndTime=0" )
|
||||
do( "SelectTracks: FirstTrack=0 LastTrack=2" )
|
||||
capture( 'First_Two_Tracks' )
|
||||
do( "Select: Start=0 End=0 First=0 Last=2" )
|
||||
capture( 'AutoLabels002.png','First_Two_Tracks' )
|
||||
|
||||
# Removing a label with split-delete step 1
|
||||
def image3() :
|
||||
makeStereoTracks(1)
|
||||
addLabels()
|
||||
do( "SelectTime: StartTime=8.9 EndTime=12.1" )
|
||||
do( "SelectTracks: FirstTrack=2 LastTrack=2" )
|
||||
capture( 'First_Two_Tracks' )
|
||||
do( "Select: Start=44.5 End=60.5 First=2 Last=2" )
|
||||
capture( 'AutoLabels003.png','First_Two_Tracks' )
|
||||
|
||||
# Removing a label with split-delete step 1
|
||||
def image4() :
|
||||
makeStereoTracks(1)
|
||||
addLabels()
|
||||
do( "SelectTime: StartTime=8.9 EndTime=12.1" )
|
||||
do( "SelectTracks: FirstTrack=2 LastTrack=2" )
|
||||
do( "Select: Start=44.5 End=60.5 First=2 Last=2" )
|
||||
do( "SplitDelete" )
|
||||
capture( 'First_Two_Tracks' )
|
||||
capture( 'AutoLabels004.png','First_Two_Tracks' )
|
||||
|
||||
def image5() :
|
||||
makeStereoTracks(1)
|
||||
addLabels2()
|
||||
do( "SelectTime: StartTime=0 EndTime=0" )
|
||||
capture( 'First_Three_Tracks' )
|
||||
do( "Select: Start=0 End=0" )
|
||||
capture( 'AutoLabels005.png','First_Three_Tracks' )
|
||||
|
||||
def image6() :
|
||||
makeStereoTracks(1)
|
||||
addLabels2()
|
||||
do( "SelectTime: StartTime=5.7 EndTime=11.7" )
|
||||
capture( 'First_Three_Tracks' )
|
||||
do( "Select: Start=28.5 End=58.5" )
|
||||
capture( 'AutoLabels006.png','First_Three_Tracks' )
|
||||
|
||||
def image7() :
|
||||
makeStereoTracks(1)
|
||||
addLabels2()
|
||||
do( "SelectTime: StartTime=5.7 EndTime=11.7" )
|
||||
do( "Select: Start=28.5 End=58.5" )
|
||||
do( "Delete" )
|
||||
do( "SelectTime: StartTime=0 EndTime=0" )
|
||||
capture( 'First_Three_Tracks' )
|
||||
do( "Select: Start=0 End=0" )
|
||||
capture( 'AutoLabels007.png','First_Three_Tracks' )
|
||||
|
||||
def image8to10() :
|
||||
makeStereoTracks(1)
|
||||
addLabels2()
|
||||
do( "Select: First=2 Last=2 Start=100 End=125" )
|
||||
do( "AddLabel" )
|
||||
do( 'SetLabel: Label=9 Text="Clap" selected=0 Start=110 End=118 ')
|
||||
do( 'Select: First=0 Last=3 Start=0 End=0')
|
||||
capture( 'AutoLabels008.png','First_Three_Tracks' )
|
||||
do( 'SetLabel: Label=9 Text="Clap" selected=1 Start=110 End=118 ')
|
||||
do( 'Select: First=0 Last=3 Start=110 End=118')
|
||||
capture( 'AutoLabels009.png','First_Three_Tracks' )
|
||||
do( 'Delete' )
|
||||
capture( 'AutoLabels010.png','First_Three_Tracks' )
|
||||
|
||||
#quickTest()
|
||||
setup()
|
||||
image1()
|
||||
image2()
|
||||
image3()
|
||||
image4()
|
||||
image5()
|
||||
image6()
|
||||
image7()
|
||||
#image1()
|
||||
#image2()
|
||||
#image3()
|
||||
#image4()
|
||||
#image5()
|
||||
#image6()
|
||||
#image7()
|
||||
image8to10()
|
||||
|
|
|
@ -66,119 +66,130 @@ def quickTest() :
|
|||
|
||||
def setup() :
|
||||
global path
|
||||
path = '\"C:/Users/James Crook/\"'
|
||||
global sample
|
||||
path = 'C:\\Users\\James Crook\\'
|
||||
sample ='C:\\Users\\James Crook\\Music\\The Poodle Podcast.wav'
|
||||
do( 'SetProject: X=10 Y=10 Width=850 Height=800' )
|
||||
|
||||
def makeWayForTracks( ) :
|
||||
do( 'SelectTracks: FirstTrack=0 LastTrack=20' )
|
||||
do( 'SelectTracks: First=0 Last=20' )
|
||||
do( 'RemoveTracks' )
|
||||
|
||||
def capture( name, what ) :
|
||||
global path
|
||||
do( 'Screenshot: Path="'+path+name+'" CaptureWhat=' + what )
|
||||
|
||||
def loadMonoTrack():
|
||||
global sample
|
||||
makeWayForTracks( )
|
||||
do( 'Import2: Filename="'+sample+'"' )
|
||||
do( 'Select: First=0 Last=0 Start=0 End=150')
|
||||
do( 'Trim')
|
||||
do( 'ZoomSel' )
|
||||
|
||||
def loadMonoTracks( num ) :
|
||||
makeWayForTracks( )
|
||||
loadMonoTrack()
|
||||
do( 'SetTrack: Track=0 Name="Foxy Lady"')
|
||||
for i in range( 0, num-1 ):
|
||||
do( 'Duplicate' )
|
||||
do( 'FitInWindow' )
|
||||
do( 'Select: Start=55 End=70')
|
||||
|
||||
def makeMonoTracks( num ) :
|
||||
makeWayForTracks( )
|
||||
for i in range( 0, num ):
|
||||
do( 'NewMonoTrack' )
|
||||
do( 'SetTrack: TrackIndex=0 Name="Foxy Lady"')
|
||||
do( 'SelectTime: StartTime=0 EndTime=30' )
|
||||
do( 'SelectTracks: FirstTrack=0 LastTrack=' + str(num-1) )
|
||||
do( 'SetTrack: Track=0 Name="Foxy Lady"')
|
||||
do( 'Select: Start=0 End=150 First=0 Last=' + str(num-1) )
|
||||
do( 'Chirp: StartAmp=0.5' )
|
||||
do( 'Wahwah' )
|
||||
do( 'FitInWindow' )
|
||||
do( 'SelectTime: StartTime=11 EndTime=14')
|
||||
do( 'Select: Start=55 End=70')
|
||||
|
||||
def makeStereoTracks( num ) :
|
||||
makeWayForTracks( )
|
||||
for i in range( 0, num ):
|
||||
do( 'NewStereoTrack' )
|
||||
do( 'SetTrack: TrackIndex=0 Name="Voodoo Children IN STEREO"')
|
||||
do( 'SelectTime: StartTime=0 EndTime=30' )
|
||||
do( 'SelectTracks: FirstTrack=0 LastTrack=' + str(num*2-1) )
|
||||
do( 'SetTrack: Track=0 Name="Voodoo Children IN STEREO"')
|
||||
do( 'Select: Start=0 End=150 First=0 Last=' + str(num*2-1) )
|
||||
do( 'Chirp: StartAmp=0.5' )
|
||||
do( 'Wahwah' )
|
||||
do( 'FitInWindow' )
|
||||
do( 'SelectTime: StartTime=11 EndTime=14')
|
||||
do( 'Select: Start=55 End=70')
|
||||
|
||||
# A mono track complete with ruler
|
||||
def image1() :
|
||||
global path
|
||||
makeMonoTracks(1)
|
||||
do( 'Screenshot: Path='+path+' CaptureWhat=First_Track_Plus' )
|
||||
loadMonoTracks(1)
|
||||
capture( 'AutoTracks001.png', 'First_Track_Plus' )
|
||||
|
||||
# A stereo track, with its name on the track
|
||||
def image2() :
|
||||
global path
|
||||
makeStereoTracks(1)
|
||||
do( 'Screenshot: Path='+path+' CaptureWhat=First_Track' )
|
||||
capture( 'AutoTracks002.png', 'First_Track' )
|
||||
|
||||
# Four colours of track
|
||||
def image3() :
|
||||
global path
|
||||
makeMonoTracks( 4 )
|
||||
do( 'SetTrack: TrackIndex=0 Name="Instrument 1" Height=122 Color=Color0')
|
||||
do( 'SetTrack: TrackIndex=1 Name="Instrument 2" Height=122 Color=Color1')
|
||||
do( 'SetTrack: TrackIndex=2 Name="Instrument 3" Height=122 Color=Color2')
|
||||
do( 'SetTrack: TrackIndex=3 Name="Instrument 4" Height=122 Color=Color3')
|
||||
do( 'Screenshot: Path='+path+' CaptureWhat=First_Four_Tracks' )
|
||||
loadMonoTracks( 4 )
|
||||
do( 'SetTrack: Track=0 Name="Instrument 1" Height=122 Color=Color0')
|
||||
do( 'SetTrack: Track=1 Name="Instrument 2" Height=122 Color=Color1')
|
||||
do( 'SetTrack: Track=2 Name="Instrument 3" Height=122 Color=Color2')
|
||||
do( 'SetTrack: Track=3 Name="Instrument 4" Height=122 Color=Color3')
|
||||
capture( 'AutoTracks003.png', 'First_Four_Tracks' )
|
||||
|
||||
# Two Tracks, ready to make stereo
|
||||
def image4():
|
||||
global path
|
||||
makeMonoTracks(2)
|
||||
do( 'SetTrack: TrackIndex=0 Name="Left Track" Height=80')
|
||||
do( 'SetTrack: TrackIndex=1 Name="Right Track" Height=80')
|
||||
do( 'Screenshot: Path='+path+' CaptureWhat=First_Two_Tracks' )
|
||||
loadMonoTracks(2)
|
||||
do( 'SetTrack: Track=0 Name="Left Track" Height=80')
|
||||
do( 'SetTrack: Track=1 Name="Right Track" Height=80')
|
||||
capture( 'AutoTracks004.png', 'First_Two_Tracks' )
|
||||
|
||||
# Mono tracks made stereo
|
||||
def image5():
|
||||
global path
|
||||
makeMonoTracks(2)
|
||||
do( 'SetTrack: TrackIndex=0 Pan=-1 Height=80')
|
||||
do( 'SetTrack: TrackIndex=1 Pan=1 Height=80')
|
||||
loadMonoTracks(2)
|
||||
do( 'SetTrack: Track=0 Pan=-1 Height=80')
|
||||
do( 'SetTrack: Track=1 Pan=1 Height=80')
|
||||
do( 'MixAndRender' )
|
||||
do( 'SetTrack: TrackIndex=0 Name="Combined" Height=80')
|
||||
do( 'SetTrack: TrackIndex=1 Height=80')
|
||||
do( 'SelectTracks: FirstTrack=0 LastTrack=1' )
|
||||
do( 'Screenshot: Path='+path+' CaptureWhat=First_Track' )
|
||||
do( 'SetTrack: Track=0 Name="Combined" Height=80')
|
||||
do( 'SetTrack: Track=1 Height=80')
|
||||
do( 'Select: First=0 Last=1' )
|
||||
capture( 'AutoTracks005.png', 'First_Track' )
|
||||
|
||||
# A stereo track, with different sized channels
|
||||
def image6() :
|
||||
global path
|
||||
makeStereoTracks(1)
|
||||
do( 'SetTrack: TrackIndex=0 Height=80')
|
||||
do( 'SetTrack: TrackIndex=1 Height=180')
|
||||
do( 'Screenshot: Path='+path+' CaptureWhat=First_Track' )
|
||||
do( 'SetTrack: Track=0 Height=80')
|
||||
do( 'SetTrack: Track=1 Height=180')
|
||||
capture( 'AutoTracks006.png', 'First_Track' )
|
||||
|
||||
# Two mono tracks of different sizes
|
||||
def image7() :
|
||||
global path
|
||||
makeMonoTracks(2)
|
||||
do( 'SetTrack: TrackIndex=0 Height=80')
|
||||
do( 'SetTrack: TrackIndex=1 Height=180')
|
||||
do( 'Screenshot: Path='+path+' CaptureWhat=First_Two_Tracks' )
|
||||
loadMonoTracks(2)
|
||||
do( 'SetTrack: Track=0 Height=180')
|
||||
do( 'SetTrack: Track=1 Height=80')
|
||||
capture( 'AutoTracks007.png', 'First_Two_Tracks' )
|
||||
|
||||
# Mono with arrow at start.
|
||||
def image8() :
|
||||
global path
|
||||
makeMonoTracks(1)
|
||||
do( 'SetClip: ClipIndex=0 Start=-4.0')
|
||||
do( 'Screenshot: Path='+path+' CaptureWhat=First_Track' )
|
||||
loadMonoTracks(1)
|
||||
do( 'SetClip: Clip=0 Start=-4.0')
|
||||
capture( 'AutoTracks008.png', 'First_Track' )
|
||||
|
||||
# Zoomed in to show points stem-plot
|
||||
def image9() :
|
||||
global path
|
||||
#make rather than load. We want an artificial track.
|
||||
makeMonoTracks(1)
|
||||
do( 'SelectTime: StartTime=0 EndTime=0.003' )
|
||||
do( 'Select: Start=0 End=0.003' )
|
||||
do( 'ZoomSel' );
|
||||
do( 'Amplify: Ratio=3.0' )
|
||||
do( 'SetPreference: Name=/GUI/SampleView Value=1 Reload=1')
|
||||
do( 'Screenshot: Path='+path+' CaptureWhat=First_Track' )
|
||||
capture( 'AutoTracks009.png', 'First_Track' )
|
||||
|
||||
# Zoomed in to show points stem-plot and then no stem plot
|
||||
def image9and10() :
|
||||
global path
|
||||
image9()
|
||||
do( 'SetPreference: Name=/GUI/SampleView Value=0 Reload=1')
|
||||
do( 'Screenshot: Path='+path+' CaptureWhat=First_Track' )
|
||||
capture( 'AutoTracks010.png', 'First_Track' )
|
||||
|
||||
#quickTest()
|
||||
setup()
|
||||
|
|
|
@ -1594,22 +1594,27 @@ void AudacityProject::CreateMenusAndCommands()
|
|||
// whereas the short-form used here must not.
|
||||
// (If you did write "CompareAudio" for the PLUGIN_SYMBOL name, then
|
||||
// you would have to use "Compareaudio" here.)
|
||||
c->AddItem(wxT("Demo"), _("Just a Demo..."), FN(OnAudacityCommand),
|
||||
AudioIONotBusyFlag, AudioIONotBusyFlag);
|
||||
// c->AddItem(wxT("Demo"), _("Just a Demo..."), FN(OnAudacityCommand),
|
||||
// AudioIONotBusyFlag, AudioIONotBusyFlag);
|
||||
c->AddItem(wxT("Screenshot"), _("Screenshot (Vanilla)..."), FN(OnAudacityCommand),
|
||||
AudioIONotBusyFlag, AudioIONotBusyFlag);
|
||||
c->AddItem(wxT("Select"), _("Select..."), FN(OnAudacityCommand),
|
||||
AudioIONotBusyFlag, AudioIONotBusyFlag);
|
||||
// Menu items not needed, since they are part of Select,
|
||||
// c->AddItem(wxT("SelectTime"), _("Select Time..."), FN(OnAudacityCommand),
|
||||
// AudioIONotBusyFlag, AudioIONotBusyFlag);
|
||||
// c->AddItem(wxT("SelectTracks"), _("Select Tracks..."), FN(OnAudacityCommand),
|
||||
// AudioIONotBusyFlag, AudioIONotBusyFlag);
|
||||
c->AddItem(wxT("Import2"), _("Import..."), FN(OnAudacityCommand),
|
||||
AudioIONotBusyFlag, AudioIONotBusyFlag);
|
||||
c->AddItem(wxT("Export2"), _("Export..."), FN(OnAudacityCommand),
|
||||
AudioIONotBusyFlag, AudioIONotBusyFlag);
|
||||
c->AddItem(wxT("CompareAudio"), _("Compare Audio..."), FN(OnAudacityCommand),
|
||||
AudioIONotBusyFlag, AudioIONotBusyFlag);
|
||||
c->AddItem(wxT("GetPreference"), _("Get Preference..."), FN(OnAudacityCommand),
|
||||
AudioIONotBusyFlag, AudioIONotBusyFlag);
|
||||
c->AddItem(wxT("GetInfo"), _("Get Info..."), FN(OnAudacityCommand),
|
||||
AudioIONotBusyFlag, AudioIONotBusyFlag);
|
||||
c->AddItem(wxT("SelectTime"), _("Select Time..."), FN(OnAudacityCommand),
|
||||
AudioIONotBusyFlag, AudioIONotBusyFlag);
|
||||
c->AddItem(wxT("SelectTracks"), _("Select Tracks..."), FN(OnAudacityCommand),
|
||||
AudioIONotBusyFlag, AudioIONotBusyFlag);
|
||||
c->AddItem(wxT("Select"), _("Select..."), FN(OnAudacityCommand),
|
||||
AudioIONotBusyFlag, AudioIONotBusyFlag);
|
||||
c->AddItem(wxT("SetPreference"), _("Set Preference..."), FN(OnAudacityCommand),
|
||||
AudioIONotBusyFlag, AudioIONotBusyFlag);
|
||||
c->AddItem(wxT("SetClip"), _("Set Clip..."), FN(OnAudacityCommand),
|
||||
|
@ -1620,8 +1625,9 @@ void AudacityProject::CreateMenusAndCommands()
|
|||
AudioIONotBusyFlag, AudioIONotBusyFlag);
|
||||
c->AddItem(wxT("SetTrack"), _("Set Track..."), FN(OnAudacityCommand),
|
||||
AudioIONotBusyFlag, AudioIONotBusyFlag);
|
||||
c->AddItem(wxT("ReloadPreferences"), _("&Reload Preferences..."), FN(OnReloadPreferences),
|
||||
AudioIONotBusyFlag, AudioIONotBusyFlag);
|
||||
// Menu item not needed, since it is part of SetPreference,
|
||||
// c->AddItem(wxT("ReloadPreferences"), _("&Reload Preferences..."), FN(OnReloadPreferences),
|
||||
// AudioIONotBusyFlag, AudioIONotBusyFlag);
|
||||
|
||||
|
||||
c->EndSubMenu();
|
||||
|
|
|
@ -94,7 +94,7 @@ void LispyCommandMessageTarget::StartArray()
|
|||
{
|
||||
wxString Padding;
|
||||
Padding.Pad( mCounts.GetCount() *2 -2);
|
||||
Update( wxString::Format( "%s%s( ", ( mCounts.Last() > 0 ) ? ",\n" : "\n", Padding ));
|
||||
Update( wxString::Format( "\n%s(", Padding ));
|
||||
mCounts.Last() += 1;
|
||||
mCounts.push_back( 0 );
|
||||
}
|
||||
|
@ -103,12 +103,12 @@ void LispyCommandMessageTarget::EndArray(){
|
|||
if( mCounts.GetCount() > 1 ){
|
||||
mCounts.pop_back();
|
||||
}
|
||||
Update( " )" );
|
||||
Update( ")" );
|
||||
}
|
||||
void LispyCommandMessageTarget::StartStruct(){
|
||||
wxString Padding;
|
||||
Padding.Pad( mCounts.GetCount() *2 -2);
|
||||
Update( wxString::Format( "%s%s( ", ( mCounts.Last() > 0 ) ? ",\n" : "\n", Padding ));
|
||||
Update( wxString::Format( "\n%s(", Padding ));
|
||||
mCounts.Last() += 1;
|
||||
mCounts.push_back( 0 );
|
||||
}
|
||||
|
@ -116,36 +116,33 @@ void LispyCommandMessageTarget::EndStruct(){
|
|||
if( mCounts.GetCount() > 1 ){
|
||||
mCounts.pop_back();
|
||||
}
|
||||
Update( " )" );
|
||||
Update( ")" );
|
||||
}
|
||||
void LispyCommandMessageTarget::AddItem(const wxString &value, const wxString &name){
|
||||
wxString Padding;
|
||||
Padding.Pad( mCounts.GetCount() *2 -2);
|
||||
Padding = (( value.length() < 15 ) || (mCounts.Last()<=0)) ? "" : wxString("\n") + Padding;
|
||||
|
||||
wxString Padding = "";
|
||||
if( name.IsEmpty() )
|
||||
Update( wxString::Format( "%s%s\"%s\"", (mCounts.Last()>0)?", ":"", Padding, value));
|
||||
Update( wxString::Format( "%s%s\"%s\"", (mCounts.Last()>0)?" ":"", Padding, value));
|
||||
else
|
||||
Update( wxString::Format( "%s%s( %s, \"%s\" )", (mCounts.Last()>0)?", ":"", Padding, name, value));
|
||||
Update( wxString::Format( "%s%s(%s \"%s\")", (mCounts.Last()>0)?" ":"", Padding, name, value));
|
||||
mCounts.Last() += 1;
|
||||
}
|
||||
void LispyCommandMessageTarget::AddBool(const bool value, const wxString &name){
|
||||
if( name.IsEmpty() )
|
||||
Update( wxString::Format( "%s%s", (mCounts.Last()>0)?", ":"",value?"True":"False"));
|
||||
Update( wxString::Format( "%s%s", (mCounts.Last()>0)?" ":"",value?"True":"False"));
|
||||
else
|
||||
Update( wxString::Format( "%s( %s, %s )", (mCounts.Last()>0)?", ":"", name,value?"True":"False"));
|
||||
Update( wxString::Format( "%s(%s %s)", (mCounts.Last()>0)?" ":"", name,value?"True":"False"));
|
||||
mCounts.Last() += 1;
|
||||
}
|
||||
void LispyCommandMessageTarget::AddItem(const double value, const wxString &name){
|
||||
if( name.IsEmpty() )
|
||||
Update( wxString::Format( "%s%g", (mCounts.Last()>0)?", ":"", value));
|
||||
Update( wxString::Format( "%s%g", (mCounts.Last()>0)?" ":"", value));
|
||||
else
|
||||
Update( wxString::Format( "%s( %s, %g )", (mCounts.Last()>0)?", ":"", name,value));
|
||||
Update( wxString::Format( "%s(%s %g)", (mCounts.Last()>0)?" ":"", name,value));
|
||||
mCounts.Last() += 1;
|
||||
}
|
||||
|
||||
void LispyCommandMessageTarget::StartField(const wxString &name){
|
||||
Update( wxString::Format( "%s( %s, ", (mCounts.Last()>0)?", ":"", name ));
|
||||
Update( wxString::Format( "%s(%s", (mCounts.Last()>0)?" ":"", name ));
|
||||
mCounts.Last() += 1;
|
||||
mCounts.push_back( 0 );
|
||||
}
|
||||
|
@ -154,7 +151,7 @@ void LispyCommandMessageTarget::EndField(){
|
|||
if( mCounts.GetCount() > 1 ){
|
||||
mCounts.pop_back();
|
||||
}
|
||||
Update( " )" );
|
||||
Update( ")" );
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
// Import
|
||||
|
||||
#define IMPORT_PLUGIN_SYMBOL XO("Import")
|
||||
#define IMPORT_PLUGIN_SYMBOL XO("Import2")
|
||||
|
||||
class ImportCommand : public AudacityCommand
|
||||
{
|
||||
|
@ -40,7 +40,7 @@ public:
|
|||
wxString mFileName;
|
||||
};
|
||||
|
||||
#define EXPORT_PLUGIN_SYMBOL XO("Export")
|
||||
#define EXPORT_PLUGIN_SYMBOL XO("Export2")
|
||||
|
||||
class ExportCommand : public AudacityCommand
|
||||
{
|
||||
|
|
|
@ -49,8 +49,6 @@ modelled on BuiltinEffectsModule
|
|||
COMMAND( SET_LABEL, SetLabelCommand, () ) \
|
||||
COMMAND( SET_PROJECT, SetProjectCommand, () ) \
|
||||
COMMAND( SELECT, SelectCommand, () ) \
|
||||
COMMAND( SELECT_TIME, SelectTimeCommand, () ) \
|
||||
COMMAND( SELECT_TRACKS, SelectTracksCommand, () ) \
|
||||
COMMAND( GET_PREFERENCE, GetPreferenceCommand, () ) \
|
||||
COMMAND( SET_PREFERENCE, SetPreferenceCommand, () ) \
|
||||
COMMAND( GET_INFO, GetInfoCommand, () ) \
|
||||
|
@ -62,6 +60,9 @@ modelled on BuiltinEffectsModule
|
|||
|
||||
// GET_TRACK_INFO subsumed by GET_INFO
|
||||
//COMMAND( GET_TRACK_INFO, GetTrackInfoCommand, () )
|
||||
// SELECT_TIME and SELECT_TRACKS subsumed by SELECT
|
||||
//COMMAND( SELECT_TIME, SelectTimeCommand, () )
|
||||
//COMMAND( SELECT_TRACKS, SelectTracksCommand, () )
|
||||
|
||||
|
||||
//
|
||||
|
|
|
@ -617,6 +617,11 @@ void ScreenshotCommand::CaptureEffects(
|
|||
|
||||
wxString ScreenshotCommand::MakeFileName(const wxString &path, const wxString &basename)
|
||||
{
|
||||
// If the path is a full file name, then use it.
|
||||
if( path.EndsWith( ".png" ) )
|
||||
return path;
|
||||
|
||||
// Otherwise make up a file name that has not been used already.
|
||||
wxFileName prefixPath;
|
||||
prefixPath.AssignDir(path);
|
||||
wxString prefix = prefixPath.GetPath
|
||||
|
|
|
@ -25,6 +25,7 @@ code out of ModuleManager.
|
|||
#include "AppCommandEvent.h"
|
||||
#include "ResponseQueue.h"
|
||||
#include "../Project.h"
|
||||
#include "../AudacityApp.h"
|
||||
#include <wx/string.h>
|
||||
|
||||
// Declare static class members
|
||||
|
|
|
@ -34,8 +34,8 @@
|
|||
#include "CommandContext.h"
|
||||
|
||||
bool SelectTimeCommand::DefineParams( ShuttleParams & S ){
|
||||
S.Define( mT0, wxT("StartTime"), 0.0, 0.0, (double)FLT_MAX);
|
||||
S.Define( mT1, wxT("EndTime"), 0.0, 0.0, (double)FLT_MAX);
|
||||
S.Optional( bHasT0 ).Define( mT0, wxT("Start"), 0.0, 0.0, (double)FLT_MAX);
|
||||
S.Optional( bHasT1 ).Define( mT1, wxT("End"), 0.0, 0.0, (double)FLT_MAX);
|
||||
S.Define( mFromEnd, wxT("FromEnd"), false );
|
||||
return true;
|
||||
}
|
||||
|
@ -44,16 +44,23 @@ void SelectTimeCommand::PopulateOrExchange(ShuttleGui & S)
|
|||
{
|
||||
S.AddSpace(0, 5);
|
||||
|
||||
S.StartMultiColumn(3, wxALIGN_CENTER);
|
||||
{
|
||||
S.Optional( bHasT0 ).TieTextBox(_("Start Time:"), mT0);
|
||||
S.Optional( bHasT1 ).TieTextBox(_("End Time:"), mT1);
|
||||
}
|
||||
S.EndMultiColumn();
|
||||
S.StartMultiColumn(2, wxALIGN_CENTER);
|
||||
{
|
||||
S.TieTextBox(_("Start Time:"),mT0);
|
||||
S.TieTextBox(_("End Time:"),mT1);
|
||||
S.TieCheckBox(_("From End:"), mFromEnd );
|
||||
}
|
||||
S.EndMultiColumn();
|
||||
}
|
||||
|
||||
bool SelectTimeCommand::Apply(const CommandContext & context){
|
||||
if( !bHasT0 && !bHasT1 )
|
||||
return true;
|
||||
|
||||
if( mFromEnd ){
|
||||
double TEnd = context.GetProject()->GetTracks()->GetEndTime();
|
||||
context.GetProject()->mViewInfo.selectedRegion.setTimes(TEnd - mT0, TEnd - mT1);
|
||||
|
@ -74,8 +81,8 @@ static const wxString kModes[nModes] =
|
|||
|
||||
bool SelectTracksCommand::DefineParams( ShuttleParams & S ){
|
||||
wxArrayString modes( nModes, kModes );
|
||||
S.Define( mFirstTrack, wxT("FirstTrack"), 0, 0, 100);
|
||||
S.Define( mLastTrack, wxT("LastTrack"), 0, 0, 100);
|
||||
S.Optional( bHasFirstTrack).Define( mFirstTrack, wxT("First"), 0, 0, 100);
|
||||
S.Optional( bHasLastTrack ).Define( mLastTrack, wxT("Last"), 0, 0, 100);
|
||||
S.DefineEnum( mMode, wxT("Mode"), 0, modes );
|
||||
|
||||
return true;
|
||||
|
@ -86,10 +93,14 @@ void SelectTracksCommand::PopulateOrExchange(ShuttleGui & S)
|
|||
wxArrayString modes( nModes, kModes );
|
||||
S.AddSpace(0, 5);
|
||||
|
||||
S.StartMultiColumn(3, wxALIGN_CENTER);
|
||||
{
|
||||
S.Optional( bHasFirstTrack).TieTextBox(_("First Track:"),mFirstTrack);
|
||||
S.Optional( bHasLastTrack).TieTextBox(_("Last Track:"),mLastTrack);
|
||||
}
|
||||
S.EndMultiColumn();
|
||||
S.StartMultiColumn(2, wxALIGN_CENTER);
|
||||
{
|
||||
S.TieTextBox(_("First Track:"),mFirstTrack);
|
||||
S.TieTextBox(_("Last Track:"),mLastTrack);
|
||||
S.TieChoice( _("Mode:"), mMode, &modes);
|
||||
}
|
||||
S.EndMultiColumn();
|
||||
|
@ -97,6 +108,9 @@ void SelectTracksCommand::PopulateOrExchange(ShuttleGui & S)
|
|||
|
||||
bool SelectTracksCommand::Apply(const CommandContext &context)
|
||||
{
|
||||
if( !bHasFirstTrack && !bHasLastTrack )
|
||||
return true;
|
||||
|
||||
int index = 0;
|
||||
TrackList *tracks = context.GetProject()->GetTracks();
|
||||
int last = wxMax( mFirstTrack, mLastTrack );
|
||||
|
|
|
@ -41,6 +41,10 @@ public:
|
|||
|
||||
// AudacityCommand overrides
|
||||
wxString ManualPage() override {return wxT("Audio_Selection");};
|
||||
|
||||
bool bHasT0;
|
||||
bool bHasT1;
|
||||
|
||||
double mT0;
|
||||
double mT1;
|
||||
bool mFromEnd;
|
||||
|
@ -58,6 +62,9 @@ public:
|
|||
// AudacityCommand overrides
|
||||
wxString ManualPage() override {return wxT("Audio_Selection");};
|
||||
|
||||
bool bHasFirstTrack;
|
||||
bool bHasLastTrack;
|
||||
|
||||
int mFirstTrack;
|
||||
int mLastTrack;
|
||||
int mMode;
|
||||
|
|
|
@ -27,16 +27,7 @@
|
|||
#include "CommandContext.h"
|
||||
|
||||
SetClipCommand::SetClipCommand()
|
||||
{/*
|
||||
mTrackIndex = 0;
|
||||
mTrackName = "unnamed";
|
||||
mPan = 0.0f;
|
||||
mGain = 1.0f;
|
||||
bSelected = false;
|
||||
bFocused = false;
|
||||
bSolo = false;
|
||||
bMute = false;
|
||||
*/
|
||||
{
|
||||
}
|
||||
|
||||
enum kColours
|
||||
|
@ -59,7 +50,7 @@ static const wxString kColourStrings[nColours] =
|
|||
|
||||
bool SetClipCommand::DefineParams( ShuttleParams & S ){
|
||||
wxArrayString colours( nColours, kColourStrings );
|
||||
S.Define( mClipIndex, wxT("ClipIndex"), 0, 0, 100 );
|
||||
S.Define( mClipIndex, wxT("Clip"), 0, 0, 100 );
|
||||
S.Optional( bHasColour ).DefineEnum( mColour, wxT("Color"), kColour0, colours );
|
||||
// Allowing a negative start time is not a mistake.
|
||||
// It will be used in demonstrating time before zero.
|
||||
|
|
|
@ -33,7 +33,7 @@ SetLabelCommand::SetLabelCommand()
|
|||
|
||||
|
||||
bool SetLabelCommand::DefineParams( ShuttleParams & S ){
|
||||
S.Define( mLabelIndex, wxT("LabelIndex"), 0, 0, 100 );
|
||||
S.Define( mLabelIndex, wxT("Label"), 0, 0, 100 );
|
||||
S.Optional( bHasText ).Define( mText, wxT("Text"), wxT("empty") );
|
||||
S.Optional( bHasT0 ).Define( mT0, wxT("Start"), 0.0, 0.0, 100000.0);
|
||||
S.Optional( bHasT1 ).Define( mT1, wxT("End"), 0.0, 0.0, 100000.0);
|
||||
|
|
|
@ -49,7 +49,7 @@ static const wxString kColourStrings[nColours] =
|
|||
|
||||
bool SetTrackCommand::DefineParams( ShuttleParams & S ){
|
||||
wxArrayString colours( nColours, kColourStrings );
|
||||
S.Define( mTrackIndex, wxT("TrackIndex"), 0, 0, 100 );
|
||||
S.Define( mTrackIndex, wxT("Track"), 0, 0, 100 );
|
||||
S.Optional( bHasTrackName ).Define( mTrackName, wxT("Name"), wxT("Unnamed") );
|
||||
S.Optional( bHasPan ).Define( mPan, wxT("Pan"), 0.0, -1.0, 1.0);
|
||||
S.Optional( bHasGain ).Define( mGain, wxT("Gain"), 1.0, 0.0, 10.0);
|
||||
|
|
Loading…
Reference in New Issue