MCPcopy Create free account
hub / github.com/VASTDynamics/Vaporizer2 / buttonClicked

Method buttonClicked

VASTvaporizer/Source/Plugin/VASTHeaderComponent.cpp:248–450  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

246}
247
248void VASTHeaderComponent::buttonClicked (juce::Button* buttonThatWasClicked)
249{
250 //[UserbuttonClicked_Pre]
251 //[/UserbuttonClicked_Pre]
252
253 if (buttonThatWasClicked == c_ReloadPresets.get())
254 {
255 //[UserButtonCode_c_ReloadPresets] -- add your button handler code here..
256 if (!myProcessor->m_pVASTXperience.audioProcessLock()) {
257 vassertfalse;
258 return;
259 }
260
261 bool done = false;
262 int counter = 0;
263 while (!done) {
264 if ((counter < 30) && (myProcessor->m_bAudioThreadCurrentlyRunning.load() && (!myProcessor->m_pVASTXperience.getBlockProcessingIsBlockedSuccessfully()))) {
265 VDBG("VASTHeaderComponent::buttonClicked - sleep");
266 Thread::sleep(100);
267 counter++;
268 continue;
269 }
270 vassert(counter < 30);
271 if (counter == 30) {
272 return; //dont unlock what is not locked
273 }
274 done = true;
275 }
276
277 myEditor->vaporizerComponent->getWaveTableEditorComponent()->stopWTRecording();
278
279 String lid = myProcessor->m_presetData.getCurPatchData().internalid;
280
281 myProcessor->m_presetData.reloadPresetArray(false);
282 if (!myProcessor->m_pVASTXperience.audioProcessUnlock()) {
283 vassertfalse;
284 //error state
285 }
286
287 int lindnex = myProcessor->m_presetData.getIndexInPresetArray(lid);
288 if (lindnex >= 0)
289 myProcessor->setCurrentProgram(lindnex);
290
291 myEditor->vaporizerComponent->updateAll();
292 myProcessor->requestUIPresetReloadUpdate();
293 //[/UserButtonCode_c_ReloadPresets]
294 }
295 else if (buttonThatWasClicked == c_SavePreset.get())
296 {
297 //[UserButtonCode_c_SavePreset] -- add your button handler code here..
298 myEditor->vaporizerComponent->getWaveTableEditorComponent()->stopWTRecording();
299 String m_UserPresetFolder = myProcessor->m_UserPresetRootFolder;
300 String presetFilename = myProcessor->m_presetData.getCurPatchData().category + " " + myProcessor->m_presetData.getCurPatchData().presetname + ".vvp";
301 File initialFile;
302
303#ifdef JUCE_WINDOWS
304 initialFile = File(m_UserPresetFolder + "\\" + presetFilename);
305#else

Callers

nothing calls this directly

Calls 15

audioProcessLockMethod · 0.80
stopWTRecordingMethod · 0.80
getCurPatchDataMethod · 0.80
reloadPresetArrayMethod · 0.80
audioProcessUnlockMethod · 0.80
getIndexInPresetArrayMethod · 0.80
setCurrentProgramMethod · 0.80
exchangeCurPatchDataMethod · 0.80
savePatchXMLMethod · 0.80

Tested by

no test coverage detected