use of blue.soundObject.ceciliaModule.CeciliaObject in project blue by kunstmusik.
the class CeciliaModule method loadFromXML.
/*
* (non-Javadoc)
*
* @see blue.soundObject.SoundObject#loadFromXML(electric.xml.Element)
*/
public static SoundObject loadFromXML(Element data, Map<String, Object> objRefMap) throws Exception {
CeciliaModule ceciliaModule = new CeciliaModule();
SoundObjectUtilities.initBasicFromXML(data, ceciliaModule);
ceciliaModule.setOrchestraVersion(Integer.parseInt(data.getTextString("orchestraVersion")));
ceciliaModule.setGenSize(data.getTextString("genSize"));
ceciliaModule.setModuleDefinition(ModuleDefinition.loadFromXML(data.getElement("moduleDefinition")));
Elements stateNodes = data.getElements("ceciliaObject");
while (stateNodes.hasMoreElements()) {
Element elem = stateNodes.next();
String key = elem.getAttributeValue("nameKey");
CeciliaObject cObj = (CeciliaObject) ObjectUtilities.loadFromXML(elem);
ceciliaModule.stateData.put(key, cObj);
}
return ceciliaModule;
}
use of blue.soundObject.ceciliaModule.CeciliaObject in project blue by kunstmusik.
the class CFilePanel method editCeciliaModule.
public void editCeciliaModule(CeciliaModule cm) {
clearFileInputs();
String tk_interface = cm.getModuleDefinition().tk_interface;
StringTokenizer st = new StringTokenizer(tk_interface, "\n");
String line;
while (st.hasMoreTokens()) {
line = st.nextToken().trim();
if (line.length() == 0) {
continue;
}
StringTokenizer objectTokenizer = new StringTokenizer(line);
if (objectTokenizer.countTokens() < 2) {
continue;
}
String objectType = objectTokenizer.nextToken();
String objectName = objectTokenizer.nextToken();
if (objectType.equals("cfilein")) {
boolean isAudio = true;
while (objectTokenizer.hasMoreTokens()) {
String token = objectTokenizer.nextToken().trim();
if (token.equals("-type") && objectTokenizer.hasMoreTokens() && !objectTokenizer.nextToken().trim().equals("audio")) {
isAudio = false;
}
}
this.addFileInput(objectName, isAudio);
}
}
for (Iterator iter = cm.getStateData().values().iterator(); iter.hasNext(); ) {
CeciliaObject element = (CeciliaObject) iter.next();
if (element instanceof CFileIn) {
CFileIn cfileIn = (CFileIn) element;
CFilePanel cfPanel = (CFilePanel) interfaceObjectMap.get(cfileIn.getObjectName());
cfPanel.setCFileIn(cfileIn);
}
}
}
use of blue.soundObject.ceciliaModule.CeciliaObject in project blue by kunstmusik.
the class Grapher method editCeciliaModule.
public void editCeciliaModule(CeciliaModule ceciliaModule) {
this.ceciliaModule = ceciliaModule;
HashMap map = ceciliaModule.getStateData();
if (map.size() == 0) {
return;
}
for (Iterator iter = map.values().iterator(); iter.hasNext(); ) {
CeciliaObject element = (CeciliaObject) iter.next();
if (element instanceof CGraph) {
CGraph graph = (CGraph) element;
graphs.put(graph.getObjectName(), graph);
if (currentGraph == null) {
currentGraph = graph;
}
}
}
repaint();
}
use of blue.soundObject.ceciliaModule.CeciliaObject in project blue by kunstmusik.
the class CeciliaModuleEditor method createDefaultStateData.
/**
* @param moduleDefinition
* @return
*/
private HashMap createDefaultStateData(ModuleDefinition moduleDefinition) {
String tk_interface = moduleDefinition.tk_interface;
StringTokenizer st = new StringTokenizer(tk_interface, "\n");
String line;
HashMap stateData = new HashMap();
while (st.hasMoreTokens()) {
line = st.nextToken().trim();
if (line.length() == 0) {
continue;
}
String[] tokens = TextUtilities.splitStringWithQuotes(line);
String objectType = tokens[0];
if (!objectType.equals("csepar") && tokens.length == 1) {
// show some error
continue;
}
if (objectType.equals("csepar")) {
continue;
}
String objectName = tokens[1];
CeciliaObject cObj = null;
switch(objectType) {
case "cfilein":
CeciliaObject fileIn = new CFileIn();
cObj = fileIn;
break;
case "cpopup":
CPopup popup = new CPopup();
cObj = popup;
break;
case "ctoggle":
CToggle toggle = new CToggle();
cObj = toggle;
break;
case "cslider":
CSlider slider = new CSlider();
cObj = slider;
break;
case "cgraph":
CGraph graph = new CGraph();
cObj = graph;
break;
default:
break;
}
cObj.initialize(tokens);
stateData.put(objectName, cObj);
// ObjectUtilities.printMembers(cObj);
}
return stateData;
}
use of blue.soundObject.ceciliaModule.CeciliaObject in project blue by kunstmusik.
the class CeciliaModule method saveAsXML.
/*
* (non-Javadoc)
*
* @see blue.soundObject.SoundObject#saveAsXML()
*/
@Override
public Element saveAsXML(Map<Object, String> objRefMap) {
Element retVal = SoundObjectUtilities.getBasicXML(this);
retVal.addElement("orchestraVersion").setText(Integer.toString(this.getOrchestraVersion()));
retVal.addElement("genSize").setText(this.getGenSize());
retVal.addElement(moduleDefinition.saveAsXML());
for (String key : stateData.keySet()) {
CeciliaObject cObj = (CeciliaObject) stateData.get(key);
Element elem = cObj.saveAsXML();
elem.setAttribute("nameKey", key);
retVal.addElement(elem);
}
return retVal;
}
Aggregations