1# docimages_after.py
2# Sends commands to get images for the manual.
3# Images for before and after for most commands
4
5# Make sure Audacity is running first and that mod-script-pipe is enabled
6# before running this script.
7
8#load and run the common core.
9exec( open("docimages_core.py" ).read() )
10
11
12
13Commands = ["Cut", "Split", "SplitCut",
14            "Silence", "Trim",
15            "SplitNew", "Duplicate",
16            "ZoomIn", "ZoomOut", "ZoomNormal", "ZoomSel", "FitInWindow", "FitV"
17            ]
18
19Effects  = [
20            "Reverse","FadeIn", "FadeOut", "Invert",
21            "Amplify","BassAndTreble","Compressor","Distortion","Echo",
22            "Equalization","Normalize","Phaser",
23            "Repeat","Reverb","Wahwah",
24            "High-passFilter","Low-passFilter",
25            "NotchFilter","AdjustableFade","Delay","Limiter"
26            ]
27
28Slow = ["ChangePitch","ChangeSpeed", "ChangeTempo","Paulstretch" ]
29
30
31Generators = ["Chirp","DtmfTones","Noise","Tone","Pluck"]
32
33
34
35# "Delete", "Copy", - look same as cut
36# "SplitDelete" - same as splitcut
37
38ToDo = ["Paste", "Join", "DisJoin",
39
40"ClipFix",
41"AutoDuck",
42"ClickRemoval",
43"FindClipping",
44"TruncateSilence",
45"SilenceFinder",
46"BeatFinder",
47"NyquistPrompt",
48"RhythmTrack",
49"SoundFinder",
50"SpectralEditMultiTool",
51"SpectralEditParametricEq",
52"SpectralEditShelves",
53"VocalReductionAndIsolation",
54"CrossfadeClips",
55"CrossfadeTracks",
56"RegularIntervalLabels",
57
58"Vocoder", #stereo
59
60]
61
62def starterTrack():
63    loadMonoTracks(1)
64    do( 'Select: Start=10 End=130')
65    do( 'ZoomSel' )
66    do( 'Select: Start=55 End=70')
67
68def withDcBias( amount ):
69    loadMonoTracks(1)
70    do( 'NewMonoTrack' )
71    do( 'Select: Track=1 Start=0 End=0.5' )
72    do( 'Tone: Frequency=1.0 Amplitude='+str(amount) +
73        ' Waveform=Square Interpolation=Linear' )
74    do( 'Repeat: Count=300' )
75    do( 'Join' );
76    do( 'Select: TrackCount=2 Start=0 End=150' )
77    do( 'MixAndRender' );
78    do( 'Select: TrackCount=0 Start=0 End=0' )
79    do( 'SetTrack: Name="Track with DC Bias"')
80
81def spaceyTrack() :
82    loadMonoTracks(1)
83    do( 'Select: Start=20 End=40')
84    do( 'Silence' )
85    do( 'Select: Start=60 End=100')
86    do( 'Silence' )
87    do( 'Select: Start=10 End=140')
88
89
90def imageAfters( commands, doWhat):
91    starterTrack()
92    capture( 'BeforeEffect.png', 'AllTracksPlus' )
93    for name in commands :
94        starterTrack()
95        do( 'SetTrack: Name="'+name+'"')
96        do( name )
97        capture( 'After' + name + '1.png' , doWhat )
98        do( 'Select: TrackCount=0 Start=0 End=0')
99        capture( 'After' + name + '2.png' , doWhat )
100
101
102def generators():
103    for name in Generators :
104        makeWayForTracks()
105        do( 'NewMonoTrack' )
106        do( 'SetTrack: Name="'+name+'"')
107        do( 'Select: Start=0 End=10' )
108        do( name )
109        do( 'ZoomSel' )
110        do( 'Select: TrackCount=0 Start=0 End=0' )
111        capture( 'After' + name + '.png' , 'AllTracksPlus' )
112
113
114def spaceDemo():
115    spaceyTrack()
116    capture( 'BeforeTruncateSilence.png' , 'AllTracks' )
117    do( 'Select: Start=0 End=0')
118    capture( 'SpaceyTrack.png' , 'AllTracks' )
119    do('SelectAll')
120    do( 'TruncateSilence' )
121    capture( 'AfterTruncateSilence1.png' , 'AllTracks' )
122    do( 'Select: Start=0 End=0')
123    capture( 'AfterTruncateSilence2.png' , 'AllTracks' )
124    spaceyTrack()
125    do( 'Disjoin' )
126    capture( 'AfterDisjoin1.png' , 'AllTracks' )
127    do( 'Select: Start=0 End=0')
128    capture( 'AfterDisjoin2.png' , 'AllTracks' )
129
130
131def biasDemo():
132    withDcBias( 0.1 )
133    capture( 'DcBias.png' , 'AllTracks' )
134
135imageSet("After")
136imageAfters( Commands, 'AllTracksPlus' ) # With ruler
137imageAfters( Effects, 'AllTracks' ) # Without ruler
138imageAfters( Slow, 'AllTracks' ) # Without ruler
139generators()
140spaceDemo()
141biasDemo()
142
143
144