Search in sources :

Example 1 with ProjectPlugin

use of blue.project.ProjectPlugin in project blue by kunstmusik.

the class BlueProjectManager method setCurrentProject.

public void setCurrentProject(BlueProject project) {
    BlueProject previousProject = currentProject;
    currentProject = project;
    if (!projects.contains(project)) {
        addProject(project);
    }
    if (currentProject != null) {
        BlueUndoManager.setUndoGroup(project.getUndoManager());
        File f = project.getDataFile();
        BlueSystem.setCurrentBlueData(project.getData());
        if (f != null) {
            BlueSystem.setCurrentProjectDirectory(f.getParentFile());
        } else {
            BlueSystem.setCurrentProjectDirectory(null);
        }
        final Score score = project.getData().getScore();
        Collection<? extends ProjectPlugin> plugins = Lookups.forPath("blue/project/plugins").lookupAll(ProjectPlugin.class);
        for (ProjectPlugin plugin : plugins) {
            plugin.preRender(project.getData());
        }
        new Thread(() -> {
            try {
                score.processOnLoad();
            } catch (Exception ex) {
                Exceptions.printStackTrace(ex);
            }
        }).start();
    }
    fireUpdatedCurrentProject(previousProject, currentProject);
}
Also used : Score(blue.score.Score) File(java.io.File) IOException(java.io.IOException) ProjectPlugin(blue.project.ProjectPlugin)

Aggregations

ProjectPlugin (blue.project.ProjectPlugin)1 Score (blue.score.Score)1 File (java.io.File)1 IOException (java.io.IOException)1