use of blue.score.Score in project blue by kunstmusik.
the class ScoreTopComponent method listChanged.
@Override
public void listChanged(ObservableListEvent<LayerGroup<? extends Layer>> evt) {
if (evt.getType() == ObservableListEvent.DATA_ADDED) {
Score score = data.getScore();
for (int i = evt.getStartIndex(); i <= evt.getEndIndex(); i++) {
addPanelsForLayerGroup(i, score.get(i), score.getTimeState());
}
layerHeaderPanel.revalidate();
checkSize();
} else if (evt.getType() == ObservableListEvent.DATA_REMOVED) {
removePanelsForLayerGroups(evt.getStartIndex(), evt.getEndIndex());
} else if (evt.getType() == ObservableListEvent.DATA_CHANGED) {
List<LayerGroup<? extends Layer>> layerGroups = evt.getAffectedItems();
JComponent c = (JComponent) layerPanel.getComponent(evt.getStartIndex());
LayerGroup lGroup = (LayerGroup) c.getClientProperty("layerGroup");
if (layerGroups.get(1) == lGroup) {
// handle push down
Component comp = layerPanel.getComponent(evt.getEndIndex());
layerPanel.remove(comp);
layerPanel.add(comp, evt.getStartIndex());
Component comp2 = layerHeaderPanel.getComponent(evt.getEndIndex());
layerHeaderPanel.remove(comp2);
layerHeaderPanel.add(comp2, evt.getStartIndex());
layerPanel.revalidate();
layerHeaderPanel.revalidate();
layerPanel.repaint();
layerHeaderPanel.repaint();
} else {
// handle push up
Component comp = layerPanel.getComponent(evt.getStartIndex());
layerPanel.remove(comp);
layerPanel.add(comp, evt.getEndIndex());
Component comp2 = layerHeaderPanel.getComponent(evt.getStartIndex());
layerHeaderPanel.remove(comp2);
layerHeaderPanel.add(comp2, evt.getEndIndex());
layerPanel.revalidate();
layerHeaderPanel.revalidate();
layerPanel.repaint();
layerHeaderPanel.repaint();
}
}
}
use of blue.score.Score in project blue by kunstmusik.
the class ScoreTopComponent method reinitialize.
public synchronized void reinitialize() {
BlueProject project = BlueProjectManager.getInstance().getCurrentProject();
BlueData currentData = null;
if (project != null) {
currentData = project.getData();
}
if (this.currentTimeState != null) {
this.currentTimeState.removePropertyChangeListener(this);
}
if (this.data != null) {
this.data.removePropertyChangeListener(this);
data.getScore().removeListener(this);
content.remove(data.getScore());
}
this.clearAll();
this.data = currentData;
AutomationManager.getInstance().setData(this.data);
for (ScoreObject scoreObj : getLookup().lookupAll(ScoreObject.class)) {
content.remove(scoreObj);
}
if (data != null) {
Tempo tempo = data.getScore().getTempo();
tempoControlPanel.setTempo(tempo);
tempoEditor.setTempo(tempo);
timeBar.setData(data);
this.data.addPropertyChangeListener(this);
Score score = data.getScore();
score.addListener(this);
ScoreController.getInstance().setScore(score);
content.add(score);
} else {
}
layerHeaderPanel.repaint();
}
use of blue.score.Score in project blue by kunstmusik.
the class SoundObjectLibraryUtils method removeLibrarySoundObject.
public static void removeLibrarySoundObject(BlueData data, SoundObject sObj) {
SoundObjectLibrary library = data.getSoundObjectLibrary();
library.removeSoundObject(sObj);
for (SoundObject tempObj : library) {
if (tempObj instanceof PolyObject) {
removeSoundObjectInstances((PolyObject) tempObj, sObj);
}
}
Score score = data.getScore();
for (LayerGroup layerGroup : score) {
if (layerGroup instanceof PolyObject) {
PolyObject pObj = (PolyObject) layerGroup;
removeSoundObjectInstances(pObj, sObj);
}
}
}
Aggregations