コード例 #1
0
ファイル: PresetPanel.cpp プロジェクト: Salimlou/mlrVST
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);
        }
    }
}
コード例 #2
0
ファイル: PluginEditor.cpp プロジェクト: grimtraveller/ambix
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);
        
    }
    
}
コード例 #3
0
ファイル: jucer_Application.cpp プロジェクト: bome/JUCE
void ProjucerApplication::askUserToOpenFile()
{
    FileChooser fc ("Open File");

    if (fc.browseForFileToOpen())
        openFile (fc.getResult());
}
コード例 #4
0
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;
}
コード例 #5
0
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;
        }
    }
}
コード例 #6
0
ファイル: CtrlrManager.cpp プロジェクト: gareth8118/ctrlr
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());
	}
}
コード例 #7
0
        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();
        }
コード例 #8
0
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"));
}
コード例 #9
0
ファイル: MainComponent.cpp プロジェクト: akkeh/stempler
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;
        }

}
コード例 #10
0
ファイル: jucer_ObjectTypes.cpp プロジェクト: EQ4/editor
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;
}
コード例 #11
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;
}
コード例 #12
0
ファイル: juce_FilenameComponent.cpp プロジェクト: 2DaT/Obxd
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
}
コード例 #13
0
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]
}
コード例 #14
0
ファイル: TextEditor.cpp プロジェクト: josephzizys/CM
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(")"));
}
コード例 #15
0
//==============================================================================
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());
            }
        }
    }
}
コード例 #16
0
ファイル: PluginProcessor.cpp プロジェクト: oeberhard/BAVSN
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;
}
コード例 #17
0
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);
            }
        }
    }
}
コード例 #18
0
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!"));
        }
    }
}
コード例 #19
0
//===============================================================================
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();
}
コード例 #20
0
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;
}
コード例 #21
0
ファイル: MainComponent.cpp プロジェクト: orisha85/edoapp
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]
}
コード例 #22
0
ファイル: PlayList.cpp プロジェクト: Kainanchen/EigenPlayer
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);
    }
    
}
コード例 #23
0
ファイル: BigClockEditor.cpp プロジェクト: Amcut/pizmidi
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();
                }
            }
        }
    }
}
コード例 #24
0
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]
}
コード例 #25
0
ファイル: ContentComponent.cpp プロジェクト: kushview/element
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]
}