void PresetPanel::buttonClicked(Button *btn) { // load setlist manually using file dialog // TODO: drop-n-drag for setlist? if(btn == &loadSetlistBtn) { FileChooser myChooser ("Please choose a setlist to load:", File::getSpecialLocation(File::userDesktopDirectory), "*.xml"); // popup dialog to open setlist if(myChooser.browseForFileToOpen()) { // if sucessful, try load this setlist File newSetlist = myChooser.getResult(); processor->loadXmlSetlist(newSetlist); } } else if(btn == &saveSetlistBtn) { FileChooser myChooser ("Save this setlist:", File::getSpecialLocation(File::userDesktopDirectory), "*.xml"); // popup dialog to open setlist if(myChooser.browseForFileToSave(true)) { // if sucessful, try save this setlist File newSetlist = myChooser.getResult(); processor->saveXmlSetlist(newSetlist); } } }
void Ambix_binauralAudioProcessorEditor::menuItemChosenCallback (int result, Ambix_binauralAudioProcessorEditor* demoComponent) { // std::cout << "result: " << result << std::endl; Ambix_binauralAudioProcessor* ourProcessor = demoComponent->getProcessor(); // file chooser.... if (result == 0) { // do nothing } else if (result == -1) { FileChooser myChooser ("Please select the preset file to load...", ourProcessor->lastDir, "*.config"); if (myChooser.browseForFileToOpen()) { File mooseFile (myChooser.getResult()); //ourProcessor->ScheduleConfiguration(mooseFile); ourProcessor->LoadConfiguration(mooseFile); ourProcessor->lastDir = mooseFile.getParentDirectory(); } } else // load preset { demoComponent->stopTimer(); ourProcessor->LoadPreset(result - 1); } }
void ProjucerApplication::askUserToOpenFile() { FileChooser fc ("Open File"); if (fc.browseForFileToOpen()) openFile (fc.getResult()); }
String BinaryResources::browseForResource (const String& title, const String& wildcard, const File& fileToStartFrom, const String& resourceToReplace) { FileChooser fc (title, fileToStartFrom, wildcard); if (fc.browseForFileToOpen()) { String name (resourceToReplace); if (name.isEmpty()) name = findUniqueName (fc.getResult().getFileName()); if (! add (name, fc.getResult())) { AlertWindow::showMessageBox (AlertWindow::WarningIcon, TRANS("Adding Resource"), TRANS("Failed to load the file!")); name.clear(); } return name; } return String::empty; }
void MainComponent::buttonClicked(Button* buttonthatWasClicked) { if (buttonthatWasClicked == quitButton) { JUCEApplication::quit(); } if (buttonthatWasClicked == loadButton) { FileChooser chooser (("Choose .map file to open"),File::nonexistent,"*",true); chooser.browseForFileToOpen(); // if (chooser.getResult().exists()) currentFile = File(chooser.getResult()); if (currentFile.exists()) { // UI addAndMakeVisible(visualPlanner = new MapComponent(currentFile)); int a = (visualPlanner->height)*BLOCKSIZE; int b = (visualPlanner->width)*BLOCKSIZE; visualPlanner->setBounds(getWidth()/2-b/2, getHeight()/2-a/2,b,a); //planner planner = new MapParser(currentMap.toStdString()); currentMap = currentFile.loadFileAsString(); sokoban = new Sokoban(currentMap.toStdString()); } else { printf("no such file!"); } } if (buttonthatWasClicked == solveButton) { console->setText("planning... ", dontSendNotification); sokoban->solve(); if (sokoban->numSteps>0){ String temp = "solved!\n" + String(sokoban->numSteps) + " steps total.\nRunning time: "+String(sokoban->time)+ " seconds. \n "; console->setText(temp, dontSendNotification); cout<<endl<<endl<< "number of steps : " << sokoban->numSteps <<endl; cout<<endl<<"time : "<<sokoban->time<<" sec"<<endl; cout<<endl<<sokoban->reverseplan<<endl<<endl<<"start plan :"<<endl<<endl; for(int i=0; i<sokoban->actions.size(); i++){ cout<< sokoban->actions[i]<<endl; } cout<<endl<<"end plan"<<endl; } else { console->setText("no solution found", dontSendNotification); cout<<"no solution found"<<endl; } if (visualPlanner) { visualPlanner->getSolution(sokoban->reverseplan); visualPlanner->autoStart = 1; } } }
void CtrlrManager::openPanelFromFile(Component *componentToAttachMenu) { FileChooser fc ("Open panel", File(getProperty(Ids::ctrlrLastBrowsedFileDirectory)), "*.panel;*.panelz;*.bpanel;*.bpanelz;*.*", true); if (fc.browseForFileToOpen()) { openPanelInternal(fc.getResult()); panelFileOpened (fc.getResult()); } }
void loadScheme() { FileChooser fc ("Please select a colour-scheme file to load...", getAppSettings().appearance.getSchemesFolder(), AppearanceSettings::getSchemeFileWildCard()); if (fc.browseForFileToOpen()) if (getAppSettings().appearance.readFromFile (fc.getResult())) rebuildProperties(); }
Result FileBasedDocument::loadFromUserSpecifiedFile (const bool showMessageOnFailure) { FileChooser fc (openFileDialogTitle, getLastDocumentOpened(), fileWildcard); if (fc.browseForFileToOpen()) return loadFrom (fc.getResult(), showMessageOnFailure); return Result::fail (TRANS("User cancelled")); }
void MainContentComponent::load_button() { FileChooser myChooser ("I pitty the file who doesn't choose a fool!", File::getSpecialLocation(File::userHomeDirectory), "*.wav"); if(myChooser.browseForFileToOpen()) { File wavFile (myChooser.getResult()); long length_of_file; int channels, f_fs; float* data = load_file(wavFile.getFullPathName(), &length_of_file, &channels, &f_fs); file_buf = data; file_fs = f_fs; file_len = length_of_file; file_chn = channels; } }
JucerDocument* loadDocumentFromFile (const File& f, const bool showErrorMessage) { File file (f); if (file == File::nonexistent && showErrorMessage) { FileChooser fc ("Open a Jucer C++ file...", StoredSettings::getInstance()->recentFiles.getFile (0), "*.cpp"); if (! fc.browseForFileToOpen()) return 0; file = fc.getResult(); } XmlElement* xml = JucerDocument::pullMetaDataFromCppFile (file.loadFileAsString()); if (xml == 0 || ! xml->hasTagName (JucerDocument::jucerCompXmlTag)) { if (file != File::nonexistent && showErrorMessage) AlertWindow::showMessageBox (AlertWindow::WarningIcon, TRANS("Failed to open file..."), TRANS("This wasn't a valid Jucer .cpp file...")); delete xml; return 0; } const String docType (xml->getStringAttribute ("documentType")); delete xml; // (reverse order so ComponentDocument is default last-case) for (int i = numDocumentTypes; --i >= 0;) { if (docType.equalsIgnoreCase (documentTypeNames[i]) || i == 0) { JucerDocument* doc = createNewDocument (i); if (doc->loadFrom (file, showErrorMessage)) return doc; delete doc; break; } } return 0; }
bool GraphComponent::loadAndAppendPlugin () { DBG ("GraphComponent::loadAndAppendPlugin (with chooser)"); FileChooser myChooser (T("Load a plugin..."), Config::getInstance ()->lastPluginDirectory, JOST_PLUGIN_WILDCARD, JOST_USE_NATIVE_FILE_CHOOSER); if (myChooser.browseForFileToOpen()) { File fileToLoad = myChooser.getResult(); if (fileToLoad.existsAsFile()) return loadAndAppendPlugin (fileToLoad, 100, 100); } return false; }
void FilenameComponent::buttonClicked (Button*) { #if JUCE_MODAL_LOOPS_PERMITTED FileChooser fc (isDir ? TRANS ("Choose a new directory") : TRANS ("Choose a new file"), getLocationToBrowse(), wildcard); if (isDir ? fc.browseForDirectory() : (isSaving ? fc.browseForFileToSave (false) : fc.browseForFileToOpen())) { setCurrentFile (fc.getResult(), true); } #else jassertfalse; // needs rewriting to deal with non-modal environments #endif }
void TargetFileComponent::buttonClicked (Button* buttonThatWasClicked) { //[UserbuttonClicked_Pre] //[/UserbuttonClicked_Pre] if (buttonThatWasClicked == playButton) { //[UserButtonCode_playButton] -- add your button handler code here.. playAudio(); //[/UserButtonCode_playButton] } else if (buttonThatWasClicked == stopButton) { //[UserButtonCode_stopButton] -- add your button handler code here.. stopAudio(); //[/UserButtonCode_stopButton] } else if (buttonThatWasClicked == loadFileButton) { //[UserButtonCode_loadFileButton] -- add your button handler code here.. FileChooser myChooser ("Please select the file you want to load..."); if (myChooser.browseForFileToOpen()) { audioTransport.setSource(nullptr); // this fixes memory issue with loading new file File selectedFile = myChooser.getResult(); currentFile->setFile(selectedFile); container->setFile(selectedFile); audioTransport.setSource(currentFile->getSource()); isPlayable = true; setPlayable(true); sendActionMessage("setTargetFile"); } //[/UserButtonCode_loadFileButton] } //[UserbuttonClicked_Post] //[/UserbuttonClicked_Post] }
void TextBuffer::loadFile() { File dir; if (file.existsAsFile()) dir=file.getParentDirectory(); else dir=File::getCurrentWorkingDirectory(); FileChooser choose (T("Load File"), dir, String::empty, true); if (!choose.browseForFileToOpen()) return; File load=choose.getResult(); if (load.hasFileExtension(T(".sal"))) SalSyntax::getInstance()->eval(load.loadFileAsString()); if (load.hasFileExtension(T(".sal2"))) Sal2Syntax::getInstance()->eval(load.loadFileAsString()); else LispSyntax::getInstance()->eval(T("(load ") + load.getFullPathName().quoted() + T(")")); }
//============================================================================== void VstPluginWindow::loadPreset () { File lastPresetDirectory = File (plugin->getValue (PROP_PLUGPRESETDIR, String::empty)); if (! lastPresetDirectory.exists()) lastPresetDirectory = Config::getInstance ()->lastPresetDirectory; FileChooser myChooser (T("Load a preset file..."), lastPresetDirectory, JOST_PRESET_WILDCARD, JOST_USE_NATIVE_FILE_CHOOSER); if (myChooser.browseForFileToOpen()) { File fileToLoad = myChooser.getResult(); if (fileToLoad.existsAsFile()) { XmlDocument xmlDoc (fileToLoad.loadFileAsString ()); XmlElement* xml = xmlDoc.getDocumentElement(); if (xml == 0 || ! xml->hasTagName (JOST_PRESET_PRESETTAG)) { String errString = xmlDoc.getLastParseError(); printf ("Error parsing preset: %s \n", (const char*) errString); } else { plugin->loadPresetFromXml (xml); updateParameters (); repaint (); Config::getInstance()->addRecentPreset (fileToLoad); plugin->setValue (PROP_PLUGPRESETDIR, fileToLoad.getParentDirectory().getFullPathName()); } } } }
void* loadNewWaveFile(void* fakeThis){ NewProjectAudioProcessor* realThis = (NewProjectAudioProcessor*)fakeThis; FileChooser myChooser ("Please select the wave file you want to load...", File::getSpecialLocation (File::userHomeDirectory), "*.wav"); if (myChooser.browseForFileToOpen()) { File waveFile (myChooser.getResult()); LoadNAnalyseFileThread task(waveFile, realThis); task.runThread(); } void* dummy = 0; return dummy; }
void FileReaderEditor::buttonEvent (Button* button) { if (! acquisitionIsActive) { if (button == fileButton) { FileChooser chooseFileReaderFile ("Please select the file you want to load...", lastFilePath, "*"); if (chooseFileReaderFile.browseForFileToOpen()) { // Use the selected file setFile (chooseFileReaderFile.getResult().getFullPathName()); // lastFilePath = fileToRead.getParentDirectory(); // thread->setFile(fileToRead.getFullPathName()); // fileNameLabel->setText(fileToRead.getFileName(),false); } } } }
void StandaloneFilterWindow::loadState() { PropertySet* const globalSettings = getGlobalSettings(); FileChooser fc (TRANS("Load a saved state"), globalSettings != 0 ? File (globalSettings->getValue (T("lastStateFile"))) : File::nonexistent); if (fc.browseForFileToOpen()) { JUCE_NAMESPACE::MemoryBlock data; if (fc.getResult().loadFileAsData (data)) { filter->setStateInformation (data.getData(), data.getSize()); } else { AlertWindow::showMessageBox (AlertWindow::WarningIcon, TRANS("Error whilst loading"), TRANS("Couldn't read from the specified file!")); } } }
//=============================================================================== void CabbageFileButton::buttonClicked (Button* button) { if (mode == "file") { const String lastKnownDirectory = owner->getLastOpenedDirectory(); FileChooser fc ("Choose File", lastKnownDirectory.isEmpty() ? File (getCsdFile()).getParentDirectory() : File (lastKnownDirectory), "", CabbageUtilities::shouldUseNativeBrowser()); if (fc.browseForFileToOpen()) { owner->sendChannelStringDataToCsound (getChannel(), returnValidPath (fc.getResult())); CabbageWidgetData::setStringProp (widgetData, CabbageIdentifierIds::file, returnValidPath (fc.getResult())); //owner->refreshComboBoxContents(); } owner->setLastOpenedDirectory (fc.getResult().getParentDirectory().getFullPathName()); } else if (mode == "save") { const String lastKnownDirectory = owner->getLastOpenedDirectory(); FileChooser fc ("Choose File", lastKnownDirectory.isEmpty() ? File (getCsdFile()).getParentDirectory() : File (lastKnownDirectory), "", CabbageUtilities::shouldUseNativeBrowser()); if (fc.browseForFileToSave(true)) { owner->sendChannelStringDataToCsound (getChannel(), returnValidPath (fc.getResult())); CabbageWidgetData::setStringProp (widgetData, CabbageIdentifierIds::file, returnValidPath (fc.getResult())); //owner->refreshComboBoxContents(); } owner->setLastOpenedDirectory (fc.getResult().getParentDirectory().getFullPathName()); owner->refreshComboListBoxContents(); startTimer(500); } else if (mode == "directory") { const String lastKnownDirectory = owner->getLastOpenedDirectory(); FileChooser fc ("Open Directory", lastKnownDirectory.isEmpty() ? File (getCsdFile()).getChildFile (getFilename()) : File (lastKnownDirectory), "", CabbageUtilities::shouldUseNativeBrowser()); if (fc.browseForDirectory()) { owner->sendChannelStringDataToCsound (getChannel(), returnValidPath (fc.getResult())); CabbageWidgetData::setStringProp (widgetData, CabbageIdentifierIds::file, returnValidPath (fc.getResult())); } owner->setLastOpenedDirectory (fc.getResult().getParentDirectory().getFullPathName()); } else if (mode == "snapshot") { String newFileName; if (owner->isAudioUnit()) newFileName = File(getCsdFile()).withFileExtension(".snaps").getFullPathName(); else newFileName = owner->createNewGenericNameForPresetFile(); owner->sendChannelStringDataToCsound (getChannel(), newFileName); owner->savePluginStateToFile (File (newFileName)); owner->refreshComboListBoxContents(); } else if (mode == "named snapshot") { String newFileName; if (owner->isAudioUnit()) newFileName = File(getCsdFile()).withFileExtension(".snaps").getFullPathName(); else newFileName = owner->createNewGenericNameForPresetFile(); #if JUCE_MODAL_LOOPS_PERMITTED String presetname; AlertWindow w ("Preset", "Set preset name (warning, will overwrite previous preset of same name)", AlertWindow::NoIcon); w.setLookAndFeel(&getLookAndFeel()); w.setSize(100, 100); w.addTextEditor ("text", "enter name here", ""); w.addButton ("OK", 1, KeyPress (KeyPress::returnKey, 0, 0)); w.addButton ("Cancel", 0, KeyPress (KeyPress::escapeKey, 0, 0)); if (w.runModalLoop() != 0) // is they picked 'ok' { presetname = w.getTextEditorContents ("text"); } #endif owner->sendChannelStringDataToCsound (getChannel(), newFileName); owner->savePluginStateToFile (File (newFileName), presetname); owner->refreshComboListBoxContents(); } owner->getProcessor().updateHostDisplay(); }
bool HostFilterComponent::perform (const InvocationInfo& info) { Config* config = Config::getInstance(); GraphComponent* graph = main->getGraph (); Transport* transport = getFilter()->getTransport(); switch (info.commandID) { //---------------------------------------------------------------------------------------------- case CommandIDs::pluginOpen: { graph->loadAndAppendPlugin (); break; } case CommandIDs::pluginClose: { graph->closeSelectedPlugins (); break; } case CommandIDs::pluginClear: { graph->closeAllPlugins (); break; } case CommandIDs::showPluginListEditor: { if (PluginListWindow::currentPluginListWindow == 0) PluginListWindow::currentPluginListWindow = new PluginListWindow (knownPluginList); PluginListWindow::currentPluginListWindow->toFront (true); break; } //---------------------------------------------------------------------------------------------- #ifndef JOST_VST_PLUGIN case CommandIDs::audioOptions: { StandaloneFilterWindow* window = findParentComponentOfClass ((StandaloneFilterWindow*) 0); if (window) window->showAudioSettingsDialog (); break; } #endif case CommandIDs::audioPlay: { transport->play (); break; } case CommandIDs::audioPlayPause: { transport->togglePlay (); break; } case CommandIDs::audioStop: { transport->stop (); break; } case CommandIDs::audioRecord: { transport->record (); break; } case CommandIDs::audioRewind: { transport->rewind (); break; } case CommandIDs::audioLoop: { transport->setLooping (! transport->isLooping()); break; } //---------------------------------------------------------------------------------------------- case CommandIDs::sessionNew: { bool retValue = AlertWindow::showYesNoCancelBox (AlertWindow::WarningIcon, T("Unsaved Changes"), T("Are you sure you want to close the current session? You may lose any unsaved changes.")); if (retValue) { closePluginEditorWindows (); getFilter()->getHost ()->closeAllPlugins (true); clearComponents (); Config::getInstance()->lastSessionFile = File::nonexistent; rebuildComponents (); } break; } case CommandIDs::sessionLoad: { FileChooser myChooser (T("Load a session file..."), Config::getInstance ()->lastSessionDirectory, JOST_SESSION_WILDCARD, JOST_USE_NATIVE_FILE_CHOOSER); if (myChooser.browseForFileToOpen()) { bool retValue = AlertWindow::showYesNoCancelBox (AlertWindow::WarningIcon, T("Unsaved Changes"), T("Are you sure you want to close the current session? You may lose any unsaved changes.")); if (retValue) { MemoryBlock fileData; File fileToLoad = myChooser.getResult(); if (fileToLoad.existsAsFile() && fileToLoad.loadFileAsData (fileData)) { getFilter ()->setStateInformation (fileData.getData (), fileData.getSize()); Config::getInstance()->addRecentSession (fileToLoad); Config::getInstance()->lastSessionFile = fileToLoad; } } } break; } case CommandIDs::sessionSave: { handleSaveCommand(); break; } case CommandIDs::sessionSaveNoPrompt: { handleSaveCommand(true); break; } case CommandIDs::audioStemsStartStop: { getHost()->toggleStemRendering(); break; } case CommandIDs::audioStemsSetup: { FileChooser myChooser (T("Save Rendered Stem Files To..."), Config::getInstance ()->lastStemsDirectory); if (myChooser.browseForDirectory ()) { Config::getInstance ()->lastStemsDirectory = myChooser.getResult(); } break; } //---------------------------------------------------------------------------------------------- case CommandIDs::appToolbar: { toolbar->showCustomisationDialog (*factory, Toolbar::allCustomisationOptionsEnabled); // (Toolbar::allowIconsOnlyChoice | Toolbar::showResetToDefaultsButton)); break; } case CommandIDs::appBrowser: { setBrowserVisible (! config->showBrowser, config->browserLeft); break; } case CommandIDs::appFullScreen: { DocumentWindow* window = findParentComponentOfClass <DocumentWindow> (); if (window) { window->setFullScreen (! window->isFullScreen ()); window->setMenuBar (window->isFullScreen () ? 0 : this); } break; } case CommandIDs::appExit: { deleteAndZero(PluginListWindow::currentPluginListWindow); JUCEApplication::getInstance()->systemRequestedQuit(); break; } case CommandIDs::appAbout: { // Image* splashImage = ImageCache::getFromMemory (Resource::jost_about, // Resource::jost_about_size); // todo: move appResourcesFolder() to somewhere everyone can use it #if JUCE_MAC File appResourcesFolder(File::getSpecialLocation(File::currentApplicationFile).getChildFile("./Contents/Resources")); #else File appResourcesFolder(File::getSpecialLocation(File::currentApplicationFile).getParentDirectory()); #endif File splashImageFile(appResourcesFolder.getChildFile("JiveAbout.png")); Image* splashImage = ImageFileFormat::loadFrom(splashImageFile); SplashScreen* splash = new SplashScreen(); splash->show (T(JucePlugin_Name), splashImage, 3500, false); break; } //---------------------------------------------------------------------------------------------- default: return false; } return true; }
void MainComponent::buttonClicked (Button* buttonThatWasClicked) { //[UserbuttonClicked_Pre] //[/UserbuttonClicked_Pre] if (buttonThatWasClicked == inputFileBrowse) { //[UserButtonCode_inputFileBrowse] -- add your button handler code here.. FileChooser myChooser ("Choose a file to encode", File::getSpecialLocation (File::userDesktopDirectory), "*.*"); if (myChooser.browseForFileToOpen()) { inputFile = myChooser.getResult(); inputFilePath->setText (inputFile.getFullPathName(), false); if (outputFilePath->getText().isEmpty()) { outputFile = inputFile.withFileExtension(T("b64")); outputFilePath->setText (inputFile.withFileExtension(T("b64")).getFullPathName(), false); } } //[/UserButtonCode_inputFileBrowse] } else if (buttonThatWasClicked == encodeStart) { //[UserButtonCode_encodeStart] -- add your button handler code here.. encoderOutput->clear(); encoderThread = new EncoderThread (inputFile, writeToFileBtn->getToggleState(), outputFile, true, outputAsXmlBtn->getToggleState(), xmlElementName->getText()); encoderThread->addChangeListener (this); encoderThread->runThread(); //[/UserButtonCode_encodeStart] } else if (buttonThatWasClicked == writeToFileBtn) { //[UserButtonCode_writeToFileBtn] -- add your button handler code here.. //[/UserButtonCode_writeToFileBtn] } else if (buttonThatWasClicked == outputFileBrowse) { //[UserButtonCode_outputFileBrowse] -- add your button handler code here.. FileChooser myChooser ("Choose an output file", File::getSpecialLocation (File::userDesktopDirectory), "*.*"); if (myChooser.browseForFileToSave (true)) { outputFile = myChooser.getResult(); outputFilePath->setText (outputFile.getFullPathName(), false); } //[/UserButtonCode_outputFileBrowse] } else if (buttonThatWasClicked == outputAsXmlBtn) { //[UserButtonCode_outputAsXmlBtn] -- add your button handler code here.. if (outputAsXmlBtn->getToggleState()) { xmlElementName->setEnabled (true); } else { xmlElementName->setEnabled (false); } //[/UserButtonCode_outputAsXmlBtn] } //[UserbuttonClicked_Post] //[/UserbuttonClicked_Post] }
void PlayList::buttonClicked (Button* buttonThatWasClicked) { //[UserbuttonClicked_Pre] //[/UserbuttonClicked_Pre] if(buttonThatWasClicked == loadList) { getlist(); Logger* log = Logger::getCurrentLogger(); String testtext= sublist.getProperty(sublistId); log->writeToLog(testtext); log->writeToLog("test"); } else if (buttonThatWasClicked == saveList) { setlist(); } else if (buttonThatWasClicked == savesublist) { String testsubId= sublist.getProperty(sublistId); String testmusicId = music.getProperty(musicId); ValueTree newsublist = setsublist(testsubId, testmusicId); Logger* log = Logger::getCurrentLogger(); log->writeToLog(testmusicId); log->writeToLog(testsubId); playlist.addChild(newsublist, 0, nullptr); } else if (buttonThatWasClicked == path){ FileChooser chooser ("Select Music",File::nonexistent); if (chooser.browseForFileToOpen()) { File file (chooser.getResult()); String musicname=file.getFileName(); File path(file.getCurrentWorkingDirectory()); String actpath= (file.getFullPathName()); ValueTree newmusic= ValueTree(musicId); ValueTree newmusicpath = ValueTree(pathId); newmusic.addListener(this); newmusicpath.addListener(this); newmusic.addChild(newmusicpath, 0, nullptr); newmusicpath.setProperty(pathId, actpath, nullptr); newmusic.setProperty(musicId, musicname, nullptr); //ValueTree newsublist = ValueTree(sublistId); //newsublist.addListener(this); //newsublist.setProperty(sublistId, "New Playlist", nullptr); sublist.addChild(newmusic,0, nullptr); } } else if (buttonThatWasClicked == newsublist) { NativeMessageBox::showMessageBox(AlertWindow::QuestionIcon, "New Playlist Name", "Please input a new playlist name",testlabel); testlabel->setEditable(true,true,true); testlabel->addListener(this); } }
void BigClockEditor::buttonStateChanged (Button* buttonThatWasClicked) { if (buttonThatWasClicked->isDown()) { ModifierKeys mousebutton = ModifierKeys::getCurrentModifiers(); if (mousebutton.isPopupMenu()) { bool samplemode = getFilter()->getParameter(kSamples)>=0.5f; PopupMenu m, sub1,sub2,sub3,sub4,clockmode; sub1.addCustomItem (-1, colourSelector, 300, 300, false); m.addSubMenu (L"Color", sub1); m.addSeparator(); clockmode.addItem(100,"Host Timeline",true,getFilter()->mode == HostTimeMode); clockmode.addItem(101,"Recording Time",true,getFilter()->mode == RecTimeMode); clockmode.addItem(102,"Stopwatch",true,getFilter()->mode == StopwatchMode); clockmode.addItem(103,"Plugin Time",true,getFilter()->mode == PluginTimeMode); clockmode.addItem(104,"Actual Time",true,getFilter()->mode == ActualTimeMode); m.addSubMenu("Clock Mode",clockmode); m.addItem(120,"Reset",getFilter()->mode != HostTimeMode && getFilter()->mode != ActualTimeMode); m.addSeparator(); sub4.addItem(998,L"Show Cues",true,showtextbox); sub4.addItem(996,L"Import..."); sub4.addItem(997,L"Export...",getFilter()->cues.size()>0); sub4.addItem(999,L"Clear",getFilter()->cues.size()>0); for (int i=0;i<getFilter()->cues.size();i++) { sub4.addItem(1000+i, getFilter()->ppqToString(getFilter()->cues[i]->ppq, getFilter()->lastPosInfo.timeSigNumerator, getFilter()->lastPosInfo.timeSigDenominator, getFilter()->lastPosInfo.bpm,barsbeats) + " - " + getFilter()->cues[i]->text,true,getFilter()->cues[i]->enabled); } m.addSubMenu (L"Cues", sub4, getFilter()->mode==HostTimeMode); m.addSeparator(); m.addItem (3, L"Bars|Beats|Ticks", true, barsbeats && !samplemode); float ppqn = getFilter()->getParameter(kTicks); sub2.addItem(30,L"hide ticks",true,ppqn==1.0); sub2.addItem(31,L"4",true,ppqn<1.0 && ppqn>=0.9); sub2.addItem(32,L"16",true,ppqn<0.9 && ppqn>=0.8); sub2.addItem(33,L"48",true,ppqn<0.8 && ppqn>=0.7); sub2.addItem(34,L"96",true,ppqn<0.7 && ppqn>=0.65); sub2.addItem(35,L"100",true,ppqn<0.65 && ppqn>=0.6); sub2.addItem(36,L"120",true,ppqn<0.6 && ppqn>=0.5); sub2.addItem(37,L"192",true,ppqn<0.5 && ppqn>=0.4); sub2.addItem(38,L"240",true,ppqn<0.4 && ppqn>=0.3); sub2.addItem(39,L"384",true,ppqn<0.3 && ppqn>=0.2); sub2.addItem(40,L"480",true,ppqn<0.2 && ppqn>=0.1); sub2.addItem(41,L"768",true,ppqn<0.1 && ppqn>0.0); sub2.addItem(42,L"960",true,ppqn==0.0); m.addSubMenu (L"Ticks per beat", sub2,barsbeats && !samplemode); m.addSeparator(); m.addItem (4, L"Hour:Min:Sec", true, !barsbeats && !samplemode); float fps = getFilter()->getParameter(kFrames); sub3.addItem(50,L"ms (1000)",true,fps==0.0); sub3.addItem(51,L"120",true,fps==1.0); sub3.addItem(52,L"100",true,fps<1.0 && fps>=0.9); sub3.addItem(53,L"75",true,fps<0.9 && fps>=0.8); sub3.addItem(54,L"60",true,fps<0.8 && fps>=0.7); sub3.addItem(55,L"50",true,fps<0.7 && fps>=0.6); sub3.addItem(56,L"30",true,fps<0.6 && fps>=0.5); sub3.addItem(61,L"29.97 drop",true,fps<0.5 && fps>=0.4); sub3.addItem(57,L"25",true,fps<0.4 && fps>=0.3); sub3.addItem(58,L"24",true,fps<0.3 && fps>=0.2); sub3.addItem(59,L"15",true,fps<0.2 && fps>=0.1); sub3.addItem(60,L"10",true,fps<0.1 && fps>0.0); m.addSubMenu (L"Frames per second", sub3, !barsbeats && !samplemode); m.addItem (1, L"Show ms/frames", !barsbeats && !samplemode, getFilter()->getParameter(kShowms)>=0.5); m.addItem (6, L"Show subframes", !barsbeats && !samplemode && getFilter()->getParameter(kShowms)>=0.5, getFilter()->getParameter(kShowsubfr)>=0.5); m.addItem (2, L"Show hours", !barsbeats && !samplemode, getFilter()->getParameter(kShowhrs)>=0.5); m.addSeparator(); m.addItem (5, L"Samples", true, samplemode); int result = m.show(); if (result > 0) { if (result==1) { if (getFilter()->getParameter(kShowms)>=0.5) getFilter()->setParameter(kShowms,0.0); else getFilter()->setParameter(kShowms,1.0); } else if (result==2) { if (getFilter()->getParameter(kShowhrs)>=0.5f) getFilter()->setParameter(kShowhrs,0.0f); else getFilter()->setParameter(kShowhrs,1.0f); } else if (result==3) { if (barsbeats && !samplemode) { } else { getFilter()->setParameter(kBarsBeats,1.0f); getFilter()->setParameter(kSamples,0.0f); } } else if (result>=30 && result<50) { if (result==30) getFilter()->setParameter(kTicks,1.0f); else if (result==31) getFilter()->setParameter(kTicks,0.91f); else if (result==32) getFilter()->setParameter(kTicks,0.81f); else if (result==33) getFilter()->setParameter(kTicks,0.71f); else if (result==34) getFilter()->setParameter(kTicks,0.65f); else if (result==35) getFilter()->setParameter(kTicks,0.61f); else if (result==36) getFilter()->setParameter(kTicks,0.51f); else if (result==37) getFilter()->setParameter(kTicks,0.41f); else if (result==38) getFilter()->setParameter(kTicks,0.31f); else if (result==39) getFilter()->setParameter(kTicks,0.21f); else if (result==40) getFilter()->setParameter(kTicks,0.11f); else if (result==41) getFilter()->setParameter(kTicks,0.051f); else if (result==42) getFilter()->setParameter(kTicks,0.0f); } else if (result==4) { if (!barsbeats && !samplemode) { } else { getFilter()->setParameter(kBarsBeats,0.0f); getFilter()->setParameter(kSamples,0.0f); } } else if (result>=50 && result<70) { if (result==50) getFilter()->setParameter(kFrames,0.0f); else if (result==51) getFilter()->setParameter(kFrames,1.0f); else if (result==52) getFilter()->setParameter(kFrames,0.9f); else if (result==53) getFilter()->setParameter(kFrames,0.8f); else if (result==54) getFilter()->setParameter(kFrames,0.7f); else if (result==55) getFilter()->setParameter(kFrames,0.6f); else if (result==56) getFilter()->setParameter(kFrames,0.5f); else if (result==61) getFilter()->setParameter(kFrames,0.4f); else if (result==57) getFilter()->setParameter(kFrames,0.3f); else if (result==58) getFilter()->setParameter(kFrames,0.2f); else if (result==59) getFilter()->setParameter(kFrames,0.1f); else if (result==60) getFilter()->setParameter(kFrames,0.05f); } else if (result==5) { if (!samplemode) getFilter()->setParameter(kSamples,1.0f); } else if (result==6) { getFilter()->setParameter(kShowsubfr,getFilter()->getParameter(kShowsubfr)>=0.5f?0.0f:1.0f); } else if (result==100) { getFilter()->setParameter(kClockMode,0.f); } else if (result==101) { getFilter()->setParameter(kClockMode,1.f/(float)(numModes-1)); } else if (result==102) { getFilter()->setParameter(kClockMode,2.f/(float)(numModes-1)); } else if (result==103) { getFilter()->setParameter(kClockMode,3.f/(float)(numModes-1)); } else if (result==104) { getFilter()->setParameter(kClockMode,4.f/(float)(numModes-1)); } else if (result==120) { if (getFilter()->mode==StopwatchMode) getFilter()->setParameter(kClearWatch,1.f); else if (getFilter()->mode==RecTimeMode) getFilter()->rectime=0; else if (getFilter()->mode==PluginTimeMode) getFilter()->plugintime=Time::getMillisecondCounter(); } else if (result==998) { getFilter()->showcues=!showtextbox; updateParametersFromFilter(); resized(); repaint(); } else if (result==996) { FileChooser myChooser ("Import cue file...", File(getFilter()->getCurrentPath()), "*.xml"); if (myChooser.browseForFileToOpen()) { File file (myChooser.getResult()); getFilter()->loadCues(file); } } else if (result==997) { FileChooser myChooser ("Export cue file...", File(getFilter()->getCurrentPath() + File::separatorString + "cues.xml")); if (myChooser.browseForFileToSave(true)) { File cuefile (myChooser.getResult()); if (!cuefile.hasFileExtension("xml")) cuefile = cuefile.withFileExtension("xml"); getFilter()->saveCues(cuefile); } } else if (result==999) { getFilter()->cues.clear(); cueLabel->setText(String::empty,false); } else if (result>=1000) { getFilter()->setCueEnabled(result-1000,!(getFilter()->cues[result-1000]->enabled)); updateParametersFromFilter(); } } } } }
void ConsoleComponent::buttonClicked (Button* buttonThatWasClicked) { //[UserbuttonClicked_Pre] //[/UserbuttonClicked_Pre] if (buttonThatWasClicked == loadButton) { //[UserButtonCode_loadButton] -- add your button handler code here.. FileChooser chooser ("Select X1 Show file to load...", File::getSpecialLocation (File::userHomeDirectory), "*.x1"); if (chooser.browseForFileToOpen()) { File show (chooser.getResult()); ShowLoader loader (show, console); loader.runThread(); if (loader.getResult()) { loadedLabel->setText ("File: " + show.getFileName(), dontSendNotification); updateStats(); int n; for (n = 1; n < 1000000; ++n) if (console->setCue (xFader, n) == n) break; if (n < 1000000) xCueButton->setButtonText (String (n)); for (++n; n < 1000000; ++n) if (console->setCue (yFader, n) == n) break; if (n < 1000000) yCueButton->setButtonText (String (n)); } else AlertWindow::showMessageBox(AlertWindow::WarningIcon, "Error", "The file could not be loaded."); } //[/UserButtonCode_loadButton] } else if (buttonThatWasClicked == newButton) { //[UserButtonCode_newButton] -- add your button handler code here.. console->newShow(); loadedLabel->setText ("File:", dontSendNotification); updateStats(); //[/UserButtonCode_newButton] } else if (buttonThatWasClicked == clearAllButton) { //[UserButtonCode_clearAllButton] -- add your button handler code here.. console->clearAllFaders(); xCueButton->setButtonText("0"); yCueButton->setButtonText("0"); //[/UserButtonCode_clearAllButton] } else if (buttonThatWasClicked == xCueButton) { //[UserButtonCode_xCueButton] -- add your button handler code here.. console->startFade (xFader, 8192, 3.0); console->startFade (yFader, 0, 3.0); //[/UserButtonCode_xCueButton] } else if (buttonThatWasClicked == yCueButton) { //[UserButtonCode_yCueButton] -- add your button handler code here.. console->startFade (xFader, 0, 3.0); console->startFade (yFader, 8192, 3.0); //[/UserButtonCode_yCueButton] } else if (buttonThatWasClicked == artnetButton) { //[UserButtonCode_artnetButton] -- add your button handler code here.. console->setArtNetOutput (artnetButton->getToggleState()); //[/UserButtonCode_artnetButton] } //[UserbuttonClicked_Post] //[/UserbuttonClicked_Post] }
void ContentComponent::buttonClicked (Button* buttonThatWasClicked) { //[UserbuttonClicked_Pre] //[/UserbuttonClicked_Pre] if (buttonThatWasClicked == openButton) { //[UserButtonCode_openButton] -- add your button handler code here.. bool movieLoaded = false; bool cancelled = false; FileChooser chooser ("Choose a Movie File", File(), "*.mp4"); if (chooser.browseForFileToOpen()) { movieLoaded = tick->openFile (chooser.getResult()); } else { cancelled = true; } if (cancelled) return; if (! movieLoaded) { AlertWindow::showMessageBox (AlertWindow::WarningIcon, "Error", "Could not open movie file"); } else { } //[/UserButtonCode_openButton] } else if (buttonThatWasClicked == forwardButton) { //[UserButtonCode_forwardButton] -- add your button handler code here.. //[/UserButtonCode_forwardButton] } else if (buttonThatWasClicked == backButton) { //[UserButtonCode_backButton] -- add your button handler code here.. //[/UserButtonCode_backButton] } else if (buttonThatWasClicked == playButton) { //[UserButtonCode_playButton] -- add your button handler code here.. tick->setPlaying (! tick->isPlaying()); stabilizeComponents(); //[/UserButtonCode_playButton] } else if (buttonThatWasClicked == stopButton) { //[UserButtonCode_stopButton] -- add your button handler code here.. tick->setPlaying (false); tick->requestPlayPosition (0.0); stabilizeComponents(); //[/UserButtonCode_stopButton] } else if (buttonThatWasClicked == audioButton) { //[UserButtonCode_audioButton] -- add your button handler code here.. DialogWindow::LaunchOptions dialog; dialog.content.setOwned (new AudioDeviceSelectorComponent ( devices, 0, 0, 2, 2, false, false, true,false)); dialog.dialogTitle = "Audio Device"; dialog.componentToCentreAround = this; dialog.content->setSize (384, 444); dialog.resizable = false; dialog.runModal(); //[/UserButtonCode_audioButton] } //[UserbuttonClicked_Post] //[/UserbuttonClicked_Post] }