MCPcopy Create free account
hub / github.com/audacity/audacity / ReCreateButtons

Method ReCreateButtons

src/toolbars/MeterToolBar.cpp:205–239  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

203}
204
205void MeterToolBar::ReCreateButtons()
206{
207 MeterPanel::State playState{ false }, recordState{ false };
208
209 auto &projectAudioIO = ProjectAudioIO::Get( mProject );
210 if (mPlayMeter &&
211 projectAudioIO.GetPlaybackMeter() == mPlayMeter->GetMeter())
212 {
213 playState = mPlayMeter->SaveState();
214 projectAudioIO.SetPlaybackMeter( nullptr );
215 }
216
217 if (mRecordMeter &&
218 projectAudioIO.GetCaptureMeter() == mRecordMeter->GetMeter())
219 {
220 recordState = mRecordMeter->SaveState();
221 projectAudioIO.SetCaptureMeter( nullptr );
222 }
223
224 ToolBar::ReCreateButtons();
225
226 if(mPlayMeter) {
227 mPlayMeter->RestoreState(playState);
228 if( playState.mSaved ){
229 projectAudioIO.SetPlaybackMeter( mPlayMeter->GetMeter() );
230 }
231 }
232
233 if(mRecordMeter) {
234 mRecordMeter->RestoreState(recordState);
235 if( recordState.mSaved ){
236 projectAudioIO.SetCaptureMeter( mRecordMeter->GetMeter() );
237 }
238 }
239}
240
241void MeterToolBar::Populate()
242{

Callers

nothing calls this directly

Calls 6

GetFunction · 0.85
GetMeterMethod · 0.80
SaveStateMethod · 0.45
SetPlaybackMeterMethod · 0.45
SetCaptureMeterMethod · 0.45
RestoreStateMethod · 0.45

Tested by

no test coverage detected