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);
}
Aggregations