Subversion Repositories svn.mios

Compare Revisions

Ignore whitespace Rev 721 → Rev 722

/trunk/java/MIOSStudio.java
25,6 → 25,7
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.prefs.Preferences;
38,6 → 39,8
 
import org.midibox.apps.miosstudio.gui.MIOSStudioGUI;
import org.midibox.apps.miosstudio.gui.MIOSStudioGUI.ExternalCommandButton;
import org.midibox.apps.miosstudio.xml.MIOSStudioXML;
import org.midibox.midi.gui.MidiFilterGUI;
import org.midibox.midi.gui.SysexSendReceiveGUI;
import org.midibox.mios.gui.HexFileUploadGUI;
import org.midibox.utils.gui.DialogOwner;
62,9 → 65,9
protected static String splashImage = "splash.jpg";
 
protected static String frameComment = "MIOS Studio beta8.3";
 
protected org.midibox.apps.miosstudio.MIOSStudio miosStudio;
 
protected MIOSStudioGUI miosStudioGUI;
 
protected Hashtable windows;
97,12 → 100,17
 
Preferences preferences = getPreferences();
 
SysexSendReceiveGUI.currentDirectory = preferences.get(
"sysexCurrentDirectory", SysexSendReceiveGUI.currentDirectory);
 
HexFileUploadGUI.setCurrentDirectory(preferences.get(
"uploadCurrentDirectory", HexFileUploadGUI
.getCurrentDirectory()));
MIOSStudioGUI.setCurrentDirectory(preferences.get(
"workspaceCurrentDirectory", MIOSStudioGUI
.getCurrentDirectory()));
MidiFilterGUI.setCurrentDirectory(preferences.get(
"filterCurrentDirectory", MidiFilterGUI
.getCurrentDirectory()));
 
String[] frames = preferences.get("visibleFrames", "").split(",");
String[] ec = preferences.get("externalCommands", "").split("\n");
162,8 → 170,7
}
}
// TODO
loadConfigFile();
}
 
public void destroy() {
174,15 → 181,15
preferences.putBoolean("defaultDecoratedFrames", miosStudioGUI
.isDefaultDecoratedFrames());
 
preferences.put("sysexCurrentDirectory",
SysexSendReceiveGUI.currentDirectory);
 
preferences.put("uploadCurrentDirectory", HexFileUploadGUI
.getCurrentDirectory());
preferences.put("workspaceCurrentDirectory", MIOSStudioGUI
.getCurrentDirectory());
preferences.put("filterCurrentDirectory", MidiFilterGUI
.getCurrentDirectory());
 
preferences.putBoolean("uploadMIOS32_Mode", miosStudio
.getHexFileUploadDeviceManager().isMIOS32Mode());
 
JInternalFrame[] frames = miosStudioGUI.getDesktop().getAllFrames();
String visibleFrames = "";
 
230,7 → 237,7
}
preferences.put("externalCommands", externalCommandsString);
// TODO
saveConfigFile();
}
 
public void exit(JFrame frame) {
246,9 → 253,52
}
 
protected Preferences getPreferences() {
return Preferences.userRoot().node("org/midibox/miostudio/gui");
}
 
protected String getConfigFileName() {
return ".miosstudio";
}
protected void saveConfigFile() {
File configFile = new File (System.getProperty("user.home"), getConfigFileName());
if(!configFile.exists()) {
try {
configFile.createNewFile();
}
catch (Exception e) {
e.printStackTrace();
}
}
if(configFile.exists()) {
MIOSStudioXML miosStudioXML = new MIOSStudioXML(miosStudio, MIOSStudioXML.TAG_ROOT_ELEMENT);
miosStudioXML.saveXML(configFile);
}
}
protected void loadConfigFile() {
 
File configFile = new File (System.getProperty("user.home"), getConfigFileName());
if(configFile.exists()) {
MIOSStudioXML miosStudioXML = new MIOSStudioXML(miosStudio, MIOSStudioXML.TAG_ROOT_ELEMENT);
miosStudioXML.loadXML(configFile);
} else {
miosStudio.getHexFileUploadDeviceManager().newHexFileUploadDevice();
}
}
protected void createWindowsHashtable() {
 
windows.put("midiDevicesWindow", miosStudioGUI
/trunk/java/MIOSStudioSID.java
57,6 → 57,11
 
return Preferences.userRoot().node("org/midibox/miostudiosid/gui");
}
protected String getConfigFileName() {
return ".miosstudiosid";
}
 
protected void createWindowsHashtable() {
super.createWindowsHashtable();
/trunk/java/org/midibox/utils/xml/XMLUtils.java
18,6 → 18,8
 
public class XMLUtils {
 
public final static String TAG_ROOT_ELEMENT = "";
protected Document document;
 
protected Vector tags;
124,4 → 126,24
node.appendChild(rootElement);
}
protected String intToString (int i) {
return "" + i;
}
protected String booleanToString (boolean b) {
return b ? "true" : "false";
}
protected int stringToInt(String string) {
return Integer.parseInt(string);
}
protected boolean stringToBoolean(String string) {
return Boolean.parseBoolean(string);
}
}
/trunk/java/org/midibox/midi/MidiFilterDeviceManager.java
31,9 → 31,18
midiFilterDevices = new Vector();
}
 
public MidiFilterDevice addMidiFilterDevice() {
public MidiFilterDevice newMidiFilterDevice() {
MidiFilterDevice midiFilterDevice = new MidiFilterDevice("MIDI Filter "
+ (midiFilterDevices.size() + 1));
 
addMidiFilterDevice(midiFilterDevice);
return midiFilterDevice;
}
public MidiFilterDevice addMidiFilterDevice(MidiFilterDevice midiFilterDevice) {
 
midiFilterDevices.add(midiFilterDevice);
 
setChanged();
42,6 → 51,7
 
return midiFilterDevice;
}
 
public void removeMidiFilterDevice(MidiFilterDevice midiFilterDevice) {
 
/trunk/java/org/midibox/midi/gui/MidiFilterDeviceManagerGUI.java
174,9 → 174,13
String actionCommand = ae.getActionCommand();
 
if (actionCommand.equals("add")) {
midiFilterDeviceManager.addMidiFilterDevice();
midiFilterDeviceManager.newMidiFilterDevice();
} else if (actionCommand.equals("properties")) {
showFilterProperties();
} else if (actionCommand.equals("remove")) {
 
int[] selectedRows = midiFiltersTable.getSelectedRows();
/trunk/java/org/midibox/midi/gui/MidiFilterGUI.java
31,9 → 31,7
import java.util.Observable;
import java.util.Observer;
 
import javax.sound.midi.MetaMessage;
import javax.sound.midi.ShortMessage;
import javax.sound.midi.SysexMessage;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.JButton;
45,6 → 43,7
import javax.swing.JToolBar;
import javax.swing.table.DefaultTableModel;
 
import org.midibox.apps.miosstudio.gui.MIOSStudioGUI;
import org.midibox.midi.MidiFilter;
import org.midibox.midi.MidiUtils;
import org.midibox.midi.xml.MidiFilterXML;
103,8 → 102,6
private JTable channels;
 
private DefaultTableModel channelsModel;
private String definitionTag = "midiFilter";
 
private static String currentDirectory = "";
 
408,8 → 405,9
if (nRetVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
 
MidiFilterXML midiFilterXML = new MidiFilterXML(midiFilter, definitionTag);
MidiFilterXML midiFilterXML = new MidiFilterXML(midiFilter,
MidiFilterXML.TAG_ROOT_ELEMENT);
 
midiFilterXML.loadXML(file);
 
setButtonStates();
438,14 → 436,24
if (nRetVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
 
MidiFilterXML midiFilterXML = new MidiFilterXML(midiFilter, definitionTag);
MidiFilterXML midiFilterXML = new MidiFilterXML(midiFilter,
MidiFilterXML.TAG_ROOT_ELEMENT);
 
midiFilterXML.saveXML(file);
 
currentDirectory = fc.getCurrentDirectory().toString();
}
}
 
public static String getCurrentDirectory() {
return currentDirectory;
}
 
public static void setCurrentDirectory(String currentDirectory) {
MidiFilterGUI.currentDirectory = currentDirectory;
}
 
public void update(Observable observable, Object object) {
 
setButtonStates();
/trunk/java/org/midibox/midi/xml/MidiParameterControlManagerXML.java
10,39 → 10,47
 
public class MidiParameterControlManagerXML extends XMLUtils {
 
public final static String TAG_ROOT_ELEMENT = "midiParameterControlManager";
 
public final static String TAG_MIDI_PARAMETER_CONTROLS = "midiParameterControls";
 
public final static String ATTR_GLOBAL_CHANNEL = "globalChannel";
 
protected MidiParameterControlManager midiParameterControlManager;
protected String globalChannelAttr = "globalChannel";
 
protected String midiParameterControlsTag = "midiParameterControls";
protected String midiParameterControlTag = "midiParameterControl";
public MidiParameterControlManagerXML(MidiParameterControlManager midiParameterControlManager, String rootElementTag) {
public MidiParameterControlManagerXML(
MidiParameterControlManager midiParameterControlManager,
String rootElementTag) {
 
super(rootElementTag);
 
this.midiParameterControlManager = midiParameterControlManager;
}
 
public void saveXML(Node node) {
 
super.saveXML(node);
rootElement.setAttribute(globalChannelAttr, "" + midiParameterControlManager.getGlobalChannel());
Element midiParameterControlsElement = document.createElement(midiParameterControlsTag);
 
rootElement.setAttribute(ATTR_GLOBAL_CHANNEL,
intToString(midiParameterControlManager.getGlobalChannel()));
 
Element midiParameterControlsElement = document
.createElement(TAG_MIDI_PARAMETER_CONTROLS);
 
rootElement.appendChild(midiParameterControlsElement);
Iterator it = midiParameterControlManager.getMidiParameters().iterator();
 
Iterator it = midiParameterControlManager.getMidiParameters()
.iterator();
 
while (it.hasNext()) {
MidiParameterControl midiParameterControl = (MidiParameterControl) it.next();
MidiParameterControlXML midiParameterControlXML = new MidiParameterControlXML(midiParameterControl, midiParameterControlTag);
 
MidiParameterControl midiParameterControl = (MidiParameterControl) it
.next();
 
MidiParameterControlXML midiParameterControlXML = new MidiParameterControlXML(
midiParameterControl,
MidiParameterControlXML.TAG_ROOT_ELEMENT);
 
midiParameterControlXML.saveXML(midiParameterControlsElement);
}
}
/trunk/java/org/midibox/midi/xml/MidiDeviceXML.java
7,10 → 7,12
 
public class MidiDeviceXML extends XMLUtils {
 
protected String nameAttr = "name";
public final static String TAG_ROOT_ELEMENT = "midiDevice";
 
protected String hashCodeAttr = "hashCode";
public final static String ATTR_NAME = "name";
 
public final static String ATTR_HASH_CODE = "hashCode";
 
protected MidiDevice midiDevice;
 
public MidiDeviceXML(MidiDevice midiDevice, String rootElementTag) {
24,10 → 26,10
 
super.saveXML(node);
 
rootElement
.setAttribute(nameAttr, midiDevice.getDeviceInfo().getName());
rootElement.setAttribute(ATTR_NAME, midiDevice.getDeviceInfo()
.getName());
 
rootElement.setAttribute(hashCodeAttr, ""
rootElement.setAttribute(ATTR_HASH_CODE, ""
+ midiDevice.getDeviceInfo().toString().hashCode());
}
}
/trunk/java/org/midibox/midi/xml/MidiFilterDeviceManagerXML.java
1,6 → 1,7
package org.midibox.midi.xml;
 
import java.util.Iterator;
import java.util.Vector;
 
import org.midibox.midi.MidiFilterDevice;
import org.midibox.midi.MidiFilterDeviceManager;
10,39 → 11,56
 
public class MidiFilterDeviceManagerXML extends XMLUtils {
 
public final static String TAG_ROOT_ELEMENT = "midiFilterDeviceManager";
 
public final static String TAG_MIDI_FILTER_DEVICES = "midiFilterDevices";
 
protected MidiFilterDeviceManager midiFilterDeviceManager;
protected String midiFilterDevicesTag = "midiFilterDevices";
 
protected String midiFilterDeviceTag = "midiFilterDevice";
public MidiFilterDeviceManagerXML(
MidiFilterDeviceManager midiFilterDeviceManager,
String rootElementTag) {
 
public MidiFilterDeviceManagerXML(MidiFilterDeviceManager midiFilterDeviceManager, String rootElementTag) {
super(rootElementTag);
 
super(rootElementTag);
this.midiFilterDeviceManager = midiFilterDeviceManager;
 
tags.add(midiFilterDevicesTag);
tags.add(midiFilterDeviceTag);
tags.add(TAG_MIDI_FILTER_DEVICES);
tags.add(MidiFilterDeviceXML.TAG_ROOT_ELEMENT);
}
 
protected void parseElement(Element element) {
 
super.parseElement(element);
 
String name = element.getNodeName();
 
if (name == rootElementTag) {
} else if (name == midiFilterDevicesTag) {
} else if (name == midiFilterDeviceTag) {
MidiFilterDevice midiFilterDevice = midiFilterDeviceManager.addMidiFilterDevice();
MidiFilterDeviceXML midiFilterDeviceXML = new MidiFilterDeviceXML(midiFilterDevice, midiFilterDeviceTag);
 
} else if (name == TAG_MIDI_FILTER_DEVICES) {
 
Iterator it = ((Vector) midiFilterDeviceManager
.getMidiFilterDevices().clone()).iterator();
 
while (it.hasNext()) {
 
MidiFilterDevice midiFilterDevice = (MidiFilterDevice) it
.next();
 
midiFilterDeviceManager
.removeMidiFilterDevice(midiFilterDevice);
}
 
} else if (name == MidiFilterDeviceXML.TAG_ROOT_ELEMENT) {
 
MidiFilterDevice midiFilterDevice = new MidiFilterDevice(element
.getAttribute(MidiFilterDeviceXML.ATTR_NAME));
 
MidiFilterDeviceXML midiFilterDeviceXML = new MidiFilterDeviceXML(
midiFilterDevice, MidiFilterDeviceXML.TAG_ROOT_ELEMENT);
 
midiFilterDeviceManager.addMidiFilterDevice(midiFilterDevice);
 
midiFilterDeviceXML.loadXML(element);
}
}
52,7 → 70,7
super.saveXML(node);
 
Element midiFilterDevicesElement = document
.createElement(midiFilterDevicesTag);
.createElement(TAG_MIDI_FILTER_DEVICES);
 
rootElement.appendChild(midiFilterDevicesElement);
 
61,9 → 79,10
while (it.hasNext()) {
 
MidiFilterDevice midiFilterDevice = (MidiFilterDevice) it.next();
MidiFilterDeviceXML midiFilterDeviceXML = new MidiFilterDeviceXML(midiFilterDevice, midiFilterDeviceTag);
 
MidiFilterDeviceXML midiFilterDeviceXML = new MidiFilterDeviceXML(
midiFilterDevice, MidiFilterDeviceXML.TAG_ROOT_ELEMENT);
 
midiFilterDeviceXML.saveXML(midiFilterDevicesElement);
}
}
/trunk/java/org/midibox/midi/xml/MidiParameterXML.java
6,29 → 6,45
 
public class MidiParameterXML extends XMLUtils {
 
public final static String TAG_ROOT_ELEMENT = "midiParameter";
 
public final static String ATTR_CHANNEL = "channel";
 
public final static String ATTR_STATUS = "status";
 
public final static String ATTR_VALUE = "value";
 
public final static String ATTR_NUMBER = "number";
 
public final static String ATTR_HIGH_RESOLUTION = "highResolution";
 
protected MidiParameter midiParameter;
protected String channelAttr = "channel";
protected String statusAttr = "status";
protected String valueAttr = "value";
protected String numberAttr = "number";
protected String highResolutionAttr = "highResolution";
protected MidiParameterXML(MidiParameter midiParameter, String rootElementTag) {
 
protected MidiParameterXML(MidiParameter midiParameter,
String rootElementTag) {
 
super(rootElementTag);
 
this.midiParameter = midiParameter;
}
 
public void saveXML(Node node) {
 
super.saveXML(node);
rootElement.setAttribute(channelAttr, "" + midiParameter.getMidiChannel());
rootElement.setAttribute(statusAttr, "" + midiParameter.getMidiStatus());
rootElement.setAttribute(valueAttr, "" + midiParameter.getMidiValue());
rootElement.setAttribute(numberAttr, "" + midiParameter.getMidiNumber());
rootElement.setAttribute(highResolutionAttr, midiParameter.isHighResolution() ? "true" : "false");
 
rootElement.setAttribute(ATTR_CHANNEL, intToString(midiParameter
.getMidiChannel()));
 
rootElement.setAttribute(ATTR_STATUS, intToString(midiParameter
.getMidiStatus()));
 
rootElement.setAttribute(ATTR_VALUE, intToString(midiParameter
.getMidiValue()));
 
rootElement.setAttribute(ATTR_NUMBER, intToString(midiParameter
.getMidiNumber()));
 
rootElement.setAttribute(ATTR_HIGH_RESOLUTION,
booleanToString(midiParameter.isHighResolution()));
}
}
/trunk/java/org/midibox/midi/xml/MidiParameterControlXML.java
5,41 → 5,50
 
public class MidiParameterControlXML extends MidiParameterXML {
 
public final static String TAG_ROOT_ELEMENT = "midiParameterControl";
 
public final static String ATTR_RECEIVE = "receive";
 
public final static String ATTR_SEND = "send";
 
public final static String ATTR_GLOBAL = "global";
 
public final static String ATTR_LEARN = "learn";
 
public final static String ATTR_TYPE = "type";
 
public final static String ATTR_DEFAULT_VALUE = "defaultValue";
 
protected MidiParameterControl midiParameterControl;
protected String receiveAttr = "receive";
protected String sendAttr = "send";
protected String globalAttr = "global";
protected String learnAttr = "learn";
protected String typeAttr = "type";
protected String defaultValueAttr = "defaultValue";
public MidiParameterControlXML(MidiParameterControl midiParameterControl, String rootElementTag) {
 
public MidiParameterControlXML(MidiParameterControl midiParameterControl,
String rootElementTag) {
 
super(midiParameterControl, rootElementTag);
 
this.midiParameterControl = midiParameterControl;
}
 
public void saveXML(Node node) {
 
super.saveXML(node);
rootElement.setAttribute(typeAttr, "" + midiParameterControl.getType());
rootElement.setAttribute(defaultValueAttr, "" + midiParameterControl.getMidiDefaultValue());
rootElement.setAttribute(sendAttr, midiParameterControl.isSend() ? "true" : "false");
rootElement.setAttribute(receiveAttr, midiParameterControl.isReceive() ? "true" : "false");
rootElement.setAttribute(globalAttr, midiParameterControl.isGlobal() ? "true" : "false");
rootElement.setAttribute(learnAttr, midiParameterControl.isLearn() ? "true" : "false");
 
rootElement.setAttribute(ATTR_TYPE, intToString(midiParameterControl
.getType()));
 
rootElement.setAttribute(ATTR_DEFAULT_VALUE,
intToString(midiParameterControl.getMidiDefaultValue()));
 
rootElement.setAttribute(ATTR_SEND,
booleanToString(midiParameterControl.isSend()));
 
rootElement.setAttribute(ATTR_RECEIVE,
booleanToString(midiParameterControl.isReceive()));
 
rootElement.setAttribute(ATTR_GLOBAL,
booleanToString(midiParameterControl.isGlobal()));
 
rootElement.setAttribute(ATTR_LEARN,
booleanToString(midiParameterControl.isLearn()));
}
}
/trunk/java/org/midibox/midi/xml/MidiKeyboardControllerDeviceXML.java
4,24 → 4,28
import org.w3c.dom.Node;
 
public class MidiKeyboardControllerDeviceXML extends VirtualMidiDeviceXML {
 
public final static String TAG_ROOT_ELEMENT = "midiKeyboarControllerDevice";
 
protected MidiKeyboardControllerDevice midiKeyboardControllerDevice;
protected String midiKeyboardControllerTag = "midiKeyboardController";
public MidiKeyboardControllerDeviceXML(MidiKeyboardControllerDevice midiKeyboardControllerDevice, String rootElementTag) {
 
public MidiKeyboardControllerDeviceXML(
MidiKeyboardControllerDevice midiKeyboardControllerDevice,
String rootElementTag) {
 
super(midiKeyboardControllerDevice, rootElementTag);
 
this.midiKeyboardControllerDevice = midiKeyboardControllerDevice;
}
}
 
public void saveXML(Node node) {
 
super.saveXML(node);
MidiKeyboardControllerXML midiKeyboardControllerXML = new MidiKeyboardControllerXML(midiKeyboardControllerDevice.getMidiKeyboardController(), midiKeyboardControllerTag);
 
MidiKeyboardControllerXML midiKeyboardControllerXML = new MidiKeyboardControllerXML(
midiKeyboardControllerDevice.getMidiKeyboardController(),
MidiKeyboardControllerXML.TAG_ROOT_ELEMENT);
 
midiKeyboardControllerXML.saveXML(rootElement);
}
}
/trunk/java/org/midibox/midi/xml/MidiKeyboardControllerXML.java
4,22 → 4,26
import org.w3c.dom.Node;
 
public class MidiKeyboardControllerXML extends MidiParameterControlManagerXML {
 
public final static String TAG_ROOT_ELEMENT = "midiKeyboarController";
 
public final static String ATTR_VELOCITY_VAL = "velocityVal";
 
protected MidiKeyboardController midiKeyboardController;
protected String velocityValAttr = "velocityVal";
public MidiKeyboardControllerXML(MidiKeyboardController midiKeyboardController, String rootElementTag) {
 
public MidiKeyboardControllerXML(
MidiKeyboardController midiKeyboardController, String rootElementTag) {
 
super(midiKeyboardController, rootElementTag);
 
this.midiKeyboardController = midiKeyboardController;
}
 
public void saveXML(Node node) {
 
super.saveXML(node);
rootElement.setAttribute(velocityValAttr, "" + midiKeyboardController.getVelocityVal());
 
rootElement.setAttribute(ATTR_VELOCITY_VAL,
intToString(midiKeyboardController.getVelocityVal()));
}
}
/trunk/java/org/midibox/midi/xml/MidiFilterDeviceXML.java
5,34 → 5,32
import org.w3c.dom.Node;
 
public class MidiFilterDeviceXML extends VirtualMidiDeviceXML {
MidiFilterDevice midiFilterDevice;
 
protected String midiFilterDeviceAttrName = "name";
public final static String TAG_ROOT_ELEMENT = "midiFilterDevice";
 
protected String midiFilterDeviceAttrHashCode = "hashCode";
protected MidiFilterDevice midiFilterDevice;
 
protected String midiFilterTag = "midiFilter";
public MidiFilterDeviceXML(MidiFilterDevice midiFilterDevice,
String rootElementTag) {
 
public MidiFilterDeviceXML(MidiFilterDevice midiFilterDevice, String rootElementTag) {
super(midiFilterDevice, rootElementTag);
 
super(midiFilterDevice, rootElementTag);
this.midiFilterDevice = midiFilterDevice;
tags.add(midiFilterTag);
 
tags.add(MidiFilterXML.TAG_ROOT_ELEMENT);
}
 
protected void parseElement(Element element) {
 
super.parseElement(element);
 
String name = element.getNodeName();
if (name == midiFilterTag) {
MidiFilterXML midiFilterXML = new MidiFilterXML(midiFilterDevice.getMidiFilter(), midiFilterTag);
 
if (name == MidiFilterXML.TAG_ROOT_ELEMENT) {
 
MidiFilterXML midiFilterXML = new MidiFilterXML(midiFilterDevice
.getMidiFilter(), MidiFilterXML.TAG_ROOT_ELEMENT);
 
midiFilterXML.loadXML(element);
}
}
41,7 → 39,8
 
super.saveXML(node);
 
MidiFilterXML midiFilterXML = new MidiFilterXML(midiFilterDevice.getMidiFilter(), midiFilterTag);
MidiFilterXML midiFilterXML = new MidiFilterXML(midiFilterDevice
.getMidiFilter(), MidiFilterXML.TAG_ROOT_ELEMENT);
 
midiFilterXML.saveXML(rootElement);
}
/trunk/java/org/midibox/midi/xml/MidiFilterXML.java
7,65 → 7,67
 
public class MidiFilterXML extends XMLUtils {
 
protected MidiFilter midiFilter;
protected String voiceMessagesTag = "voiceMessages";
public final static String TAG_ROOT_ELEMENT = "midiFilter";
 
protected String voiceMessageTag = "voiceMessage";
public final static String TAG_VOICE_MESSAGES = "voiceMessages";
 
protected String channelsTag = "channels";
public final static String TAG_VOICE_MESSAGE = "voiceMessage";
 
protected String channelTag = "channel";
public final static String TAG_CHANNELS = "channels";
 
protected String controlChangeMessagesTag = "controlChangeMessages";
public final static String TAG_CHANNEL = "channel";
 
protected String controlChangeMessageTag = "controlChangeMessage";
public final static String TAG_CONTROL_CHANGE_MESSAGES = "controlChangeMessages";
 
protected String systemCommonMessagesTag = "systemCommonMessages";
public final static String TAG_CONTROL_CHANGE_MESSAGE = "controlChangeMessage";
 
protected String systemCommonMessageTag = "systemCommonMessage";
public final static String TAG_SYSTEM_COMMON_MESSAGES = "systemCommonMessages";
 
protected String systemRealtimeMessagesTag = "systemRealtimeMessages";
public final static String TAG_SYSTEM_COMMON_MESSAGE = "systemCommonMessage";
 
protected String systemRealtimeMessageTag = "systemRealtimeMessage";
public final static String TAG_SYSTEM_REALTIME_MESSAGES = "systemRealtimeMessages";
 
protected String sysexMessagesTag = "sysexMessages";
public final static String TAG_SYSTEM_REALTIME_MESSAGE = "systemRealtimeMessage";
 
protected String metaMessagesTag = "metaMessage";
public final static String TAG_SYSEX_MESSAGES = "sysexMessages";
 
protected String numberAttr = "number";
public final static String TAG_META_MESSAGES = "metaMessage";
 
protected String enableAttr = "enable";
public final static String ATTR_NUMBER = "number";
 
public final static String ATTR_ENABLE = "enable";
 
protected MidiFilter midiFilter;
 
public MidiFilterXML(MidiFilter midiFilter, String rootElementTag) {
 
super(rootElementTag);
 
this.midiFilter = midiFilter;
tags.add(voiceMessagesTag);
tags.add(voiceMessageTag);
tags.add(channelsTag);
tags.add(channelTag);
tags.add(controlChangeMessagesTag);
tags.add(controlChangeMessageTag);
tags.add(systemCommonMessagesTag);
tags.add(systemCommonMessageTag);
tags.add(systemRealtimeMessagesTag);
tags.add(systemRealtimeMessageTag);
tags.add(sysexMessagesTag);
tags.add(metaMessagesTag);
 
tags.add(TAG_VOICE_MESSAGES);
tags.add(TAG_VOICE_MESSAGE);
tags.add(TAG_CHANNELS);
tags.add(TAG_CHANNEL);
tags.add(TAG_CONTROL_CHANGE_MESSAGES);
tags.add(TAG_CONTROL_CHANGE_MESSAGE);
tags.add(TAG_SYSTEM_COMMON_MESSAGES);
tags.add(TAG_SYSTEM_COMMON_MESSAGE);
tags.add(TAG_SYSTEM_REALTIME_MESSAGES);
tags.add(TAG_SYSTEM_REALTIME_MESSAGE);
tags.add(TAG_SYSEX_MESSAGES);
tags.add(TAG_META_MESSAGES);
}
 
protected void parseElement(Element element) {
 
super.parseElement(element);
 
String name = element.getNodeName();
 
String numberString = element.getAttribute(numberAttr);
String numberString = element.getAttribute(ATTR_NUMBER);
 
String enableString = element.getAttribute(enableAttr);
String enableString = element.getAttribute(ATTR_ENABLE);
 
int n = 0;
 
73,55 → 75,55
 
if (numberString != "") {
 
n = Integer.parseInt(numberString);
n = stringToInt(numberString);
}
 
if (enableString != "") {
 
e = Boolean.parseBoolean(enableString);
e = stringToBoolean(enableString);
}
 
if (name == channelsTag) {
if (name == TAG_CHANNELS) {
 
} else if (name == channelTag) {
} else if (name == TAG_CHANNEL) {
 
midiFilter.setChannel(n, e);
 
} else if (name == voiceMessagesTag) {
} else if (name == TAG_VOICE_MESSAGES) {
 
midiFilter.setVoiceMessages(e);
 
} else if (name == voiceMessageTag) {
} else if (name == TAG_VOICE_MESSAGE) {
 
midiFilter.setVoiceMessage(n, e);
 
} else if (name == systemCommonMessagesTag) {
} else if (name == TAG_SYSTEM_COMMON_MESSAGES) {
 
midiFilter.setSystemCommonMessages(e);
 
} else if (name == systemCommonMessageTag) {
} else if (name == TAG_SYSTEM_COMMON_MESSAGE) {
 
midiFilter.setSystemCommonMessage(n, e);
 
} else if (name == systemRealtimeMessagesTag) {
} else if (name == TAG_SYSTEM_REALTIME_MESSAGES) {
 
midiFilter.setSystemRealtimeMessages(e);
 
} else if (name == systemRealtimeMessageTag) {
} else if (name == TAG_SYSTEM_REALTIME_MESSAGE) {
 
midiFilter.setSystemRealtimeMessage(n, e);
 
} else if (name == sysexMessagesTag) {
} else if (name == TAG_SYSEX_MESSAGES) {
 
midiFilter.setSysexMessages(e);
 
} else if (name == metaMessagesTag) {
} else if (name == TAG_META_MESSAGES) {
 
midiFilter.setMetaMessages(e);
 
} else if (name == controlChangeMessagesTag) {
} else if (name == TAG_CONTROL_CHANGE_MESSAGES) {
 
} else if (name == controlChangeMessageTag) {
} else if (name == TAG_CONTROL_CHANGE_MESSAGE) {
 
midiFilter.setControlChange(n, e);
}
131,27 → 133,28
 
super.saveXML(node);
 
Element voiceMessagesElement = document.createElement(voiceMessagesTag);
Element voiceMessagesElement = document
.createElement(TAG_VOICE_MESSAGES);
 
rootElement.appendChild(voiceMessagesElement);
 
voiceMessagesElement.setAttribute(enableAttr, midiFilter
.isVoiceMessages() ? "true" : "false");
voiceMessagesElement.setAttribute(ATTR_ENABLE,
booleanToString(midiFilter.isVoiceMessages()));
 
for (int c = 0; c < midiFilter.getVoiceMessages().length; c++) {
 
Element voiceMessage = document.createElement(voiceMessageTag);
Element voiceMessage = document.createElement(TAG_VOICE_MESSAGE);
 
voiceMessagesElement.appendChild(voiceMessage);
 
voiceMessage.setAttribute(numberAttr, "" + ((c | 8) << 4));
voiceMessage.setAttribute(ATTR_NUMBER, intToString((c | 8) << 4));
 
voiceMessage.setAttribute(enableAttr, (midiFilter
.getVoiceMessages()[c]) ? "true" : "false");
voiceMessage.setAttribute(ATTR_ENABLE, booleanToString(midiFilter
.getVoiceMessages()[c]));
}
 
Element controlChangeMessagesElement = document
.createElement(controlChangeMessagesTag);
.createElement(TAG_CONTROL_CHANGE_MESSAGES);
 
voiceMessagesElement.appendChild(controlChangeMessagesElement);
 
158,87 → 161,89
for (int cc = 0; cc < midiFilter.getControlChangeMessages().length; cc++) {
 
Element controlChangeMessage = document
.createElement(controlChangeMessageTag);
.createElement(TAG_CONTROL_CHANGE_MESSAGE);
 
controlChangeMessagesElement.appendChild(controlChangeMessage);
 
controlChangeMessage.setAttribute(numberAttr, "" + (cc));
controlChangeMessage.setAttribute(ATTR_NUMBER, intToString(cc));
 
controlChangeMessage.setAttribute(enableAttr, (midiFilter
.getControlChangeMessages()[cc]) ? "true" : "false");
controlChangeMessage.setAttribute(ATTR_ENABLE,
booleanToString(midiFilter.getControlChangeMessages()[cc]));
}
 
Element channelsElement = document.createElement(channelsTag);
Element channelsElement = document.createElement(TAG_CHANNELS);
 
voiceMessagesElement.appendChild(channelsElement);
 
for (int c = 0; c < midiFilter.getChannels().length; c++) {
 
Element channel = document.createElement(channelTag);
Element channel = document.createElement(TAG_CHANNEL);
 
channelsElement.appendChild(channel);
 
channel.setAttribute(numberAttr, "" + (c + 1));
channel.setAttribute(ATTR_NUMBER, intToString(c + 1));
 
channel.setAttribute(enableAttr,
(midiFilter.getChannels()[c]) ? "true" : "false");
channel.setAttribute(ATTR_ENABLE, booleanToString(midiFilter
.getChannels()[c]));
}
 
Element systemCommonMessagesElement = document
.createElement(systemCommonMessagesTag);
.createElement(TAG_SYSTEM_COMMON_MESSAGES);
 
rootElement.appendChild(systemCommonMessagesElement);
 
systemCommonMessagesElement.setAttribute(enableAttr, midiFilter
.isSystemCommonMessages() ? "true" : "false");
systemCommonMessagesElement.setAttribute(ATTR_ENABLE,
booleanToString(midiFilter.isSystemCommonMessages()));
 
for (int c = 0; c < midiFilter.getSystemCommonMessages().length; c++) {
 
Element systemCommonMessage = document
.createElement(systemCommonMessageTag);
.createElement(TAG_SYSTEM_COMMON_MESSAGE);
 
systemCommonMessagesElement.appendChild(systemCommonMessage);
 
systemCommonMessage.setAttribute(numberAttr, "" + (c | 0xF0));
systemCommonMessage
.setAttribute(ATTR_NUMBER, intToString(c | 0xF0));
 
systemCommonMessage.setAttribute(enableAttr, (midiFilter
.getSystemCommonMessages()[c]) ? "true" : "false");
systemCommonMessage.setAttribute(ATTR_ENABLE,
booleanToString(midiFilter.getSystemCommonMessages()[c]));
}
 
Element systemRealtimeMessagesElement = document
.createElement(systemRealtimeMessagesTag);
.createElement(TAG_SYSTEM_REALTIME_MESSAGES);
 
rootElement.appendChild(systemRealtimeMessagesElement);
 
systemRealtimeMessagesElement.setAttribute(enableAttr, midiFilter
.isSystemRealtimeMessages() ? "true" : "false");
systemRealtimeMessagesElement.setAttribute(ATTR_ENABLE,
booleanToString(midiFilter.isSystemRealtimeMessages()));
 
for (int c = 0; c < midiFilter.getSystemRealtimeMessages().length; c++) {
 
Element systemRealtimeMessage = document
.createElement(systemRealtimeMessageTag);
.createElement(TAG_SYSTEM_REALTIME_MESSAGE);
 
systemRealtimeMessagesElement.appendChild(systemRealtimeMessage);
 
systemRealtimeMessage.setAttribute(numberAttr, ""
systemRealtimeMessage.setAttribute(ATTR_NUMBER, ""
+ ((c + 8 | 0xF0)));
 
systemRealtimeMessage.setAttribute(enableAttr, (midiFilter
.getSystemRealtimeMessages()[c]) ? "true" : "false");
systemRealtimeMessage.setAttribute(ATTR_ENABLE,
booleanToString(midiFilter.getSystemRealtimeMessages()[c]));
}
 
Element sysexMessagesElement = document.createElement(sysexMessagesTag);
Element sysexMessagesElement = document
.createElement(TAG_SYSEX_MESSAGES);
 
rootElement.appendChild(sysexMessagesElement);
 
sysexMessagesElement.setAttribute(enableAttr, midiFilter
.isSysexMessages() ? "true" : "false");
sysexMessagesElement.setAttribute(ATTR_ENABLE,
booleanToString(midiFilter.isSysexMessages()));
 
Element metaMessagesElement = document.createElement(metaMessagesTag);
Element metaMessagesElement = document.createElement(TAG_META_MESSAGES);
 
rootElement.appendChild(metaMessagesElement);
 
metaMessagesElement.setAttribute(enableAttr, midiFilter
.isMetaMessages() ? "true" : "false");
metaMessagesElement.setAttribute(ATTR_ENABLE,
booleanToString(midiFilter.isMetaMessages()));
}
}
/trunk/java/org/midibox/midi/xml/MidiMonitorFilteredDeviceXML.java
8,7 → 8,7
 
protected MidiMonitorFilteredDevice midiMonitorFilteredDevice;
 
protected String midiMonitorFilteredTag = "midiMonitorFiltered";
public final static String TAG_ROOT_ELEMENT = "midiMonitorFilteredDevice";
 
public MidiMonitorFilteredDeviceXML(
MidiMonitorFilteredDevice midiMonitorFilteredDevice,
18,7 → 18,7
 
this.midiMonitorFilteredDevice = midiMonitorFilteredDevice;
 
tags.add(midiMonitorFilteredTag);
tags.add(MidiMonitorFilteredXML.TAG_ROOT_ELEMENT);
}
 
protected void parseElement(Element element) {
27,11 → 27,11
 
String name = element.getNodeName();
 
if (name == midiMonitorFilteredTag) {
if (name == MidiMonitorFilteredXML.TAG_ROOT_ELEMENT) {
 
MidiMonitorFilteredXML midiMonitorFilteredXML = new MidiMonitorFilteredXML(
midiMonitorFilteredDevice.getMidiMonitorFiltered(),
midiMonitorFilteredTag);
MidiMonitorFilteredXML.TAG_ROOT_ELEMENT);
 
midiMonitorFilteredXML.loadXML(element);
}
43,7 → 43,7
 
MidiMonitorFilteredXML midiMonitorFilteredXML = new MidiMonitorFilteredXML(
midiMonitorFilteredDevice.getMidiMonitorFiltered(),
midiMonitorFilteredTag);
MidiMonitorFilteredXML.TAG_ROOT_ELEMENT);
 
midiMonitorFilteredXML.saveXML(rootElement);
}
/trunk/java/org/midibox/midi/xml/MidiMonitorFilteredXML.java
7,12 → 7,10
 
public class MidiMonitorFilteredXML extends XMLUtils {
 
public final static String TAG_ROOT_ELEMENT = "midiMonitorFiltered";
 
protected MidiMonitorFiltered midiMonitorFiltered;
 
protected String midiMonitorFilteredTag = "midiMonitorFiltered";
 
protected String midiFilterTag = "midiFilter";
 
public MidiMonitorFilteredXML(MidiMonitorFiltered midiMonitorFiltered,
String rootElementTag) {
 
20,30 → 18,30
 
this.midiMonitorFiltered = midiMonitorFiltered;
 
tags.add(midiFilterTag);
tags.add(MidiFilterXML.TAG_ROOT_ELEMENT);
}
 
 
protected void parseElement(Element element) {
 
super.parseElement(element);
 
String name = element.getNodeName();
if (name == midiFilterTag) {
MidiFilterXML midiFilterXML = new MidiFilterXML(midiMonitorFiltered.getMidiFilter(), midiFilterTag);
 
if (name == MidiFilterXML.TAG_ROOT_ELEMENT) {
 
MidiFilterXML midiFilterXML = new MidiFilterXML(midiMonitorFiltered
.getMidiFilter(), MidiFilterXML.TAG_ROOT_ELEMENT);
 
midiFilterXML.loadXML(element);
}
}
 
public void saveXML(Node node) {
 
super.saveXML(node);
 
MidiFilterXML midiFilterXML = new MidiFilterXML(midiMonitorFiltered
.getMidiFilter(), midiFilterTag);
.getMidiFilter(), MidiFilterXML.TAG_ROOT_ELEMENT);
 
midiFilterXML.saveXML(rootElement);
}
/trunk/java/org/midibox/midi/xml/VirtualMidiDeviceXML.java
1,11 → 1,31
package org.midibox.midi.xml;
 
import org.midibox.midi.VirtualMidiDevice;
import org.w3c.dom.Element;
 
public class VirtualMidiDeviceXML extends MidiDeviceXML {
public VirtualMidiDeviceXML(VirtualMidiDevice virtualMidiDevice, String rootElementTag) {
 
public final static String TAG_ROOT_ELEMENT = "virtualMidiDevice";
 
protected VirtualMidiDevice virtualMidiDevice;
 
public VirtualMidiDeviceXML(VirtualMidiDevice virtualMidiDevice,
String rootElementTag) {
 
super(virtualMidiDevice, rootElementTag);
 
this.virtualMidiDevice = virtualMidiDevice;
}
 
protected void parseElement(Element element) {
 
super.parseElement(element);
 
String name = element.getNodeName();
 
if (name == TAG_ROOT_ELEMENT) {
 
virtualMidiDevice.setName(element.getAttribute(ATTR_NAME));
}
}
}
/trunk/java/org/midibox/midi/xml/MidiDeviceRoutingXML.java
12,18 → 12,20
 
public class MidiDeviceRoutingXML extends XMLUtils {
 
protected MidiDeviceRouting midiDeviceRouting;
public static final String TAG_ROOT_ELEMENT = "midiDeviceRouting";
 
protected String logicalConnectionsTag = "logicalConnections";
public static final String TAG_LOGICAL_CONNECTIONS = "logicalConnections";
 
protected String logicalConnectionTag = "logicalConnection";
public static final String TAG_LOGICAL_CONNECTION = "logicalConnection";
 
protected String sourceMidiDeviceTag = "sourceMidiDevice";
public static final String TAG_SOURCE_MIDI_DEVICE = "sourceMidiDevice";
 
protected String targetMidiDeviceTag = "targetMidiDevice";
public static final String TAG_TARGET_MIDI_DEVICE = "targetMidiDevice";
 
protected String portsReleasedAttr = "portsReleased";
public static final String ATTR_PORTS_RELEASED = "portsReleased";
 
protected MidiDeviceRouting midiDeviceRouting;
 
public MidiDeviceRoutingXML(MidiDeviceRouting midiDeviceRouting,
String rootElementTag) {
 
31,8 → 33,8
 
this.midiDeviceRouting = midiDeviceRouting;
 
tags.add(logicalConnectionsTag);
tags.add(logicalConnectionTag);
tags.add(TAG_LOGICAL_CONNECTIONS);
tags.add(TAG_LOGICAL_CONNECTION);
}
 
protected void parseElement(Element element) {
42,11 → 44,14
String name = element.getNodeName();
 
if (name == rootElementTag) {
 
midiDeviceRouting.disconnectAll();
 
} else if (name == logicalConnectionTag) {
midiDeviceRouting.setPortsReleased(stringToBoolean(element
.getAttribute(ATTR_PORTS_RELEASED)));
 
} else if (name == TAG_LOGICAL_CONNECTION) {
 
Element transmittingDeviceElement = (Element) element
.getFirstChild();
 
53,19 → 58,20
MidiDevice transmittingDevice = findDeviceHash(midiDeviceRouting
.getMidiReadDevices(), Integer
.parseInt(transmittingDeviceElement
.getAttribute("hashCode")));
.getAttribute(MidiDeviceXML.ATTR_HASH_CODE)));
 
Element receivingDeviceElement = (Element) element.getLastChild();
 
MidiDevice receivingDevice = findDeviceHash(midiDeviceRouting
.getMidiWriteDevices(), Integer
.parseInt(receivingDeviceElement.getAttribute("hashCode")));
.parseInt(receivingDeviceElement
.getAttribute(MidiDeviceXML.ATTR_HASH_CODE)));
;
 
if (transmittingDevice != null && receivingDevice != null) {
 
midiDeviceRouting.connectDevices(transmittingDevice,
receivingDevice);
receivingDevice);
}
}
}
74,11 → 80,11
 
super.saveXML(node);
 
rootElement.setAttribute(portsReleasedAttr, midiDeviceRouting
.isPortsReleased() ? "true" : "false");
rootElement.setAttribute(ATTR_PORTS_RELEASED,
booleanToString(midiDeviceRouting.isPortsReleased()));
 
Element logicalConnectionsElement = document
.createElement(logicalConnectionsTag);
.createElement(TAG_LOGICAL_CONNECTIONS);
 
rootElement.appendChild(logicalConnectionsElement);
 
90,19 → 96,17
.next();
 
Element logicalConnectionElement = document
.createElement(logicalConnectionTag);
.createElement(TAG_LOGICAL_CONNECTION);
 
logicalConnectionsElement.appendChild(logicalConnectionElement);
 
 
MidiDeviceXML sourceMidiDeviceXML = new MidiDeviceXML(
logicalConnection.getSourceDevice(), sourceMidiDeviceTag);
logicalConnection.getSourceDevice(), TAG_SOURCE_MIDI_DEVICE);
 
sourceMidiDeviceXML.saveXML(logicalConnectionElement);
 
MidiDeviceXML targetMidiDeviceXML = new MidiDeviceXML(
logicalConnection.getTargetDevice(), targetMidiDeviceTag);
logicalConnection.getTargetDevice(), TAG_TARGET_MIDI_DEVICE);
 
targetMidiDeviceXML.saveXML(logicalConnectionElement);
}
/trunk/java/org/midibox/midi/xml/MidiDeviceManagerXML.java
11,71 → 11,89
import org.w3c.dom.Node;
 
public class MidiDeviceManagerXML extends XMLUtils {
protected MidiDeviceManager midiDeviceManager;
 
protected String midiDeviceManagerTag = "midiDeviceManager";
public static final String TAG_ROOT_ELEMENT = "midiDeviceManager";
 
protected String selectedMidiReadDevicesTag = "selectedMidiReadDevices";
public static final String TAG_SELECTED_MIDI_READ_DEVICES = "selectedMidiReadDevices";
 
protected String selectedMidiWriteDevicesTag = "selectedMidiWriteDevices";
public static final String TAG_SELECTED_MIDI_WRITE_DEVICES = "selectedMidiWriteDevices";
 
protected String selectedMidiReadDeviceTag = "selectedMidiReadDevice";
public static final String TAG_SELECTED_MIDI_READ_DEVICE = "selectedMidiReadDevice";
 
protected String selectedMidiWriteDeviceTag = "selectedMidiWriteDevice";
protected String hashAttr = "hashCode";
public MidiDeviceManagerXML(MidiDeviceManager midiDeviceManager, String rootElementTag) {
public static final String TAG_SELECTED_MIDI_WRITE_DEVICE = "selectedMidiWriteDevice";
 
protected MidiDeviceManager midiDeviceManager;
 
public MidiDeviceManagerXML(MidiDeviceManager midiDeviceManager,
String rootElementTag) {
 
super(rootElementTag);
 
this.midiDeviceManager = midiDeviceManager;
tags.add(selectedMidiReadDevicesTag);
tags.add(selectedMidiWriteDevicesTag);
tags.add(selectedMidiReadDeviceTag);
tags.add(selectedMidiWriteDeviceTag);
 
tags.add(TAG_SELECTED_MIDI_READ_DEVICES);
tags.add(TAG_SELECTED_MIDI_WRITE_DEVICES);
tags.add(TAG_SELECTED_MIDI_READ_DEVICE);
tags.add(TAG_SELECTED_MIDI_WRITE_DEVICE);
}
 
protected void parseElement(Element element) {
 
super.parseElement(element);
 
String name = element.getNodeName();
 
if (name == rootElementTag) {
 
midiDeviceManager.rescanDevices();
} else if (name == selectedMidiReadDevicesTag){
 
midiDeviceManager.getSelectedMidiReadDevices().removeAllElements();
} else if (name == selectedMidiReadDeviceTag){
int hash = Integer.parseInt(element.getAttribute(hashAttr));
MidiDevice midiDevice = findDeviceHash(midiDeviceManager.getMidiReadDevices(), hash);
} else if (name == TAG_SELECTED_MIDI_READ_DEVICES) {
 
Iterator it = ((Vector) midiDeviceManager
.getSelectedMidiReadDevices().clone()).iterator();
 
while (it.hasNext()) {
 
MidiDevice midiDevice = (MidiDevice) it.next();
 
midiDeviceManager.deselectMidiReadDevice(midiDevice);
}
 
} else if (name == TAG_SELECTED_MIDI_READ_DEVICE) {
 
int hash = Integer.parseInt(element
.getAttribute(MidiDeviceXML.ATTR_HASH_CODE));
 
MidiDevice midiDevice = findDeviceHash(midiDeviceManager
.getMidiReadDevices(), hash);
 
if (midiDevice != null) {
 
midiDeviceManager.selectMidiReadDevice(midiDevice);
}
} else if (name == selectedMidiWriteDevicesTag){
 
midiDeviceManager.getSelectedMidiWriteDevices().removeAllElements();
} else if (name == selectedMidiWriteDeviceTag){
int hash = Integer.parseInt(element.getAttribute(hashAttr));
MidiDevice midiDevice = findDeviceHash(midiDeviceManager.getMidiWriteDevices(), hash);
} else if (name == TAG_SELECTED_MIDI_WRITE_DEVICES) {
 
Iterator it = ((Vector) midiDeviceManager
.getSelectedMidiWriteDevices().clone()).iterator();
 
while (it.hasNext()) {
 
MidiDevice midiDevice = (MidiDevice) it.next();
 
midiDeviceManager.deselectMidiWriteDevice(midiDevice);
}
 
} else if (name == TAG_SELECTED_MIDI_WRITE_DEVICE) {
 
int hash = Integer.parseInt(element
.getAttribute(MidiDeviceXML.ATTR_HASH_CODE));
 
MidiDevice midiDevice = findDeviceHash(midiDeviceManager
.getMidiWriteDevices(), hash);
 
if (midiDevice != null) {
 
midiDeviceManager.selectMidiWriteDevice(midiDevice);
}
}
86,7 → 104,7
super.saveXML(node);
 
Element selectedMidiReadDevicesElement = document
.createElement(selectedMidiReadDevicesTag);
.createElement(TAG_SELECTED_MIDI_READ_DEVICES);
 
rootElement.appendChild(selectedMidiReadDevicesElement);
 
96,13 → 114,14
 
MidiDevice midiDevice = (MidiDevice) it.next();
 
MidiDeviceXML midiDeviceXML = new MidiDeviceXML(midiDevice, selectedMidiReadDeviceTag);
MidiDeviceXML midiDeviceXML = new MidiDeviceXML(midiDevice,
TAG_SELECTED_MIDI_READ_DEVICE);
 
midiDeviceXML.saveXML(selectedMidiReadDevicesElement);
}
 
Element selectedMidiWriteDevicesElement = document
.createElement(selectedMidiWriteDevicesTag);
.createElement(TAG_SELECTED_MIDI_WRITE_DEVICES);
 
rootElement.appendChild(selectedMidiWriteDevicesElement);
 
112,27 → 131,27
 
MidiDevice midiDevice = (MidiDevice) it.next();
 
MidiDeviceXML midiDeviceXML = new MidiDeviceXML(midiDevice, selectedMidiWriteDeviceTag);
MidiDeviceXML midiDeviceXML = new MidiDeviceXML(midiDevice,
TAG_SELECTED_MIDI_WRITE_DEVICE);
 
midiDeviceXML.saveXML(selectedMidiWriteDevicesElement);
}
}
 
protected MidiDevice findDeviceHash(Vector midiDevices, int hash) {
 
Iterator it = midiDevices.iterator();
 
while (it.hasNext()) {
 
MidiDevice midiDevice = (MidiDevice) it.next();
 
if (midiDevice.getDeviceInfo().toString().hashCode() == hash) {
 
return midiDevice;
}
}
}
 
return null;
}
}
/trunk/java/org/midibox/apps/miosstudio/xml/MIOSStudioXML.java
15,35 → 15,37
import org.w3c.dom.Node;
 
public class MIOSStudioXML extends XMLUtils {
public static final String TAG_ROOT_ELEMENT = "miosStudio";
 
protected MIOSStudio miosStudio;
public static final String TAG_MIDI_THRU_FILTER_DEVICE = "thruMidiFilterDevice";
 
protected String midiThruFilterDeviceTag = "midiThruFilterDevice";
public static final String TAG_MIDI_DEVICE_MANAGER = "midiDeviceManager";
 
protected String midiDeviceManagerTag = "midiDeviceManager";
public static final String TAG_MIDI_FILTER_DEVICE_MANAGER = "midiFilterDeviceManager";
 
protected String midiFilterDeviceManagerTag = "midiFilterDeviceManager";
public static final String TAG_IN_PORT_MIDI_MONITOR_FILTERED_DEVICE = "inPortMidiMonitorFilteredDevice";
 
protected String midiInPortMonitorDeviceTag = "midiInPortMonitorDevice";
public static final String TAG_OUT_PORT_MIDI_MONITOR_FILTERED_DEVICE = "outPortMidiMonitorFilteredDevice";
 
protected String midiOutPortMonitorDeviceTag = "midiOutPortMonitorDevice";
public static final String TAG_MIDI_KEYBOARD_CONTROLLER_DEVICE = "midiKeyboardControllerDevice";
 
protected String midiKeyboardControllerDeviceTag = "midiKeyboardControllerDevice";
public static final String TAG_HEX_FILE_UPLOAD_DEVICE_MANAGER = "hexFileUploadDeviceManager";
 
protected String hexFileUploadDeviceManagerTag = "hexFileUploadDeviceManager";
public static final String TAG_LCD_MESSAGE_DEVICE = "lcdMessageDevice";
 
protected String lcdMessageDeviceTag = "lcdMessageDevice";
public static final String TAG_DEBUG_FUNCTION_DEVICE = "debugFunctionDevice";
 
protected String debugFunctionDeviceTag = "debugFunctionDevice";
public static final String TAG_MIOS_TERMINAL_MIDI_MONITOR_FILTERED_DEVICE = "miosTeminalMidiMonitorFilteredDevice";
 
protected String miosTerminalDeviceTag = "miosTeminalDevice";
public static final String TAG_MIDI_DEVICE_ROUTING = "midiDeviceRouting";
 
protected String midiDeviceRoutingTag = "midiDeviceRouting";
public static final String ATTR_MIDI_THRU_OUT_PORT = "midiThruOutPort";
public static final String ATTR_ROUTE_INDIVIDUAL_DEVICES = "routeIndividualDevices";
protected MIOSStudio miosStudio;
 
protected String midiThruOutPortAttr = "midiThruOutPort";
 
protected String routeIndividualDevicesAttr = "routeIndividualDevices";
 
public MIOSStudioXML(MIOSStudio miosStudio, String rootElementTag) {
 
super(rootElementTag);
50,17 → 52,17
 
this.miosStudio = miosStudio;
 
tags.add(midiThruFilterDeviceTag);
tags.add(midiDeviceManagerTag);
tags.add(midiFilterDeviceManagerTag);
tags.add(midiOutPortMonitorDeviceTag);
tags.add(midiInPortMonitorDeviceTag);
tags.add(midiKeyboardControllerDeviceTag);
tags.add(hexFileUploadDeviceManagerTag);
tags.add(lcdMessageDeviceTag);
tags.add(debugFunctionDeviceTag);
tags.add(miosTerminalDeviceTag);
tags.add(midiDeviceRoutingTag);
tags.add(TAG_MIDI_THRU_FILTER_DEVICE);
tags.add(TAG_MIDI_DEVICE_MANAGER);
tags.add(TAG_MIDI_FILTER_DEVICE_MANAGER);
tags.add(TAG_OUT_PORT_MIDI_MONITOR_FILTERED_DEVICE);
tags.add(TAG_IN_PORT_MIDI_MONITOR_FILTERED_DEVICE);
tags.add(TAG_MIDI_KEYBOARD_CONTROLLER_DEVICE);
tags.add(TAG_HEX_FILE_UPLOAD_DEVICE_MANAGER);
tags.add(TAG_LCD_MESSAGE_DEVICE);
tags.add(TAG_DEBUG_FUNCTION_DEVICE);
tags.add(TAG_MIOS_TERMINAL_MIDI_MONITOR_FILTERED_DEVICE);
tags.add(TAG_MIDI_DEVICE_ROUTING);
}
 
protected void parseElement(Element element) {
71,76 → 73,76
 
if (name == rootElementTag) {
 
miosStudio.setMidiThruOutPort(Boolean.parseBoolean(element
.getAttribute(midiThruOutPortAttr)));
miosStudio.setMidiThruOutPort(stringToBoolean(element
.getAttribute(ATTR_MIDI_THRU_OUT_PORT)));
 
miosStudio.setRouteIndividualDevices(Boolean.parseBoolean(element
.getAttribute(routeIndividualDevicesAttr)));
miosStudio.setRouteIndividualDevices(stringToBoolean(element
.getAttribute(ATTR_ROUTE_INDIVIDUAL_DEVICES)));
 
} else if (name == midiThruFilterDeviceTag) {
} else if (name == TAG_MIDI_THRU_FILTER_DEVICE) {
 
MidiFilterDeviceXML midiFilterDeviceXML = new MidiFilterDeviceXML(
miosStudio.getMidiThruFilterDevice(),
midiThruFilterDeviceTag);
TAG_MIDI_THRU_FILTER_DEVICE);
 
midiFilterDeviceXML.loadXML(element);
 
} else if (name == midiDeviceManagerTag) {
} else if (name == TAG_MIDI_DEVICE_MANAGER) {
 
MidiDeviceManagerXML midiDeviceManagerXML = new MidiDeviceManagerXML(
miosStudio.getMidiDeviceManager(), midiDeviceManagerTag);
miosStudio.getMidiDeviceManager(), TAG_MIDI_DEVICE_MANAGER);
 
midiDeviceManagerXML.loadXML(element);
 
} else if (name == midiFilterDeviceManagerTag) {
} else if (name == TAG_MIDI_FILTER_DEVICE_MANAGER) {
 
MidiFilterDeviceManagerXML midiFilterDeviceManagerXML = new MidiFilterDeviceManagerXML(
miosStudio.getMidiFilterManager(),
midiFilterDeviceManagerTag);
TAG_MIDI_FILTER_DEVICE_MANAGER);
midiFilterDeviceManagerXML.loadXML(element);
} else if (name == midiOutPortMonitorDeviceTag) {
} else if (name == TAG_OUT_PORT_MIDI_MONITOR_FILTERED_DEVICE) {
MidiMonitorFilteredDeviceXML midiMonitorFilteredDeviceXML = new MidiMonitorFilteredDeviceXML(miosStudio.getMidiOutPortMonitorDevice(), midiOutPortMonitorDeviceTag);
MidiMonitorFilteredDeviceXML midiMonitorFilteredDeviceXML = new MidiMonitorFilteredDeviceXML(miosStudio.getMidiOutPortMonitorDevice(), TAG_OUT_PORT_MIDI_MONITOR_FILTERED_DEVICE);
midiMonitorFilteredDeviceXML.loadXML(element);
} else if (name == midiInPortMonitorDeviceTag) {
} else if (name == TAG_IN_PORT_MIDI_MONITOR_FILTERED_DEVICE) {
MidiMonitorFilteredDeviceXML midiMonitorFilteredDeviceXML = new MidiMonitorFilteredDeviceXML(miosStudio.getMidiInPortMonitorDevice(), midiInPortMonitorDeviceTag);
MidiMonitorFilteredDeviceXML midiMonitorFilteredDeviceXML = new MidiMonitorFilteredDeviceXML(miosStudio.getMidiInPortMonitorDevice(), TAG_IN_PORT_MIDI_MONITOR_FILTERED_DEVICE);
midiMonitorFilteredDeviceXML.loadXML(element);
} else if (name == midiKeyboardControllerDeviceTag) {
} else if (name == TAG_MIDI_KEYBOARD_CONTROLLER_DEVICE) {
// TODO
} else if (name == hexFileUploadDeviceManagerTag) {
} else if (name == TAG_HEX_FILE_UPLOAD_DEVICE_MANAGER) {
// TODO
} else if (name == lcdMessageDeviceTag) {
} else if (name == TAG_LCD_MESSAGE_DEVICE) {
// TODO
} else if (name == debugFunctionDeviceTag) {
} else if (name == TAG_DEBUG_FUNCTION_DEVICE) {
// TODO
} else if (name == miosTerminalDeviceTag) {
} else if (name == TAG_MIOS_TERMINAL_MIDI_MONITOR_FILTERED_DEVICE) {
MidiMonitorFilteredDeviceXML midiMonitorFilteredDeviceXML = new MidiMonitorFilteredDeviceXML(miosStudio.getMIOSTerminalDevice(), miosTerminalDeviceTag);
MidiMonitorFilteredDeviceXML midiMonitorFilteredDeviceXML = new MidiMonitorFilteredDeviceXML(miosStudio.getMIOSTerminalDevice(), TAG_MIOS_TERMINAL_MIDI_MONITOR_FILTERED_DEVICE);
midiMonitorFilteredDeviceXML.loadXML(element);
} else if (name == midiDeviceRoutingTag) {
} else if (name == TAG_MIDI_DEVICE_ROUTING) {
boolean routeIndividualDevices = miosStudio.isRouteIndividualDevices();
 
miosStudio.setRouteIndividualDevices(true);
MidiDeviceRoutingXML midiDeviceRoutingXML = new MidiDeviceRoutingXML(miosStudio.getMidiDeviceRouting(), midiDeviceRoutingTag);
MidiDeviceRoutingXML midiDeviceRoutingXML = new MidiDeviceRoutingXML(miosStudio.getMidiDeviceRouting(), TAG_MIDI_DEVICE_ROUTING);
midiDeviceRoutingXML.loadXML(element);
152,14 → 154,14
 
super.saveXML(node);
 
rootElement.setAttribute(routeIndividualDevicesAttr, miosStudio
rootElement.setAttribute(ATTR_ROUTE_INDIVIDUAL_DEVICES, miosStudio
.isRouteIndividualDevices() ? "true" : "false");
 
rootElement.setAttribute(midiThruOutPortAttr, miosStudio
rootElement.setAttribute(ATTR_MIDI_THRU_OUT_PORT, miosStudio
.isMidiThruOutPort() ? "true" : "false");
 
MidiFilterDeviceXML midiFilterDeviceXML = new MidiFilterDeviceXML(
miosStudio.getMidiThruFilterDevice(), midiThruFilterDeviceTag);
miosStudio.getMidiThruFilterDevice(), TAG_MIDI_THRU_FILTER_DEVICE);
 
midiFilterDeviceXML.saveXML(rootElement);
 
168,7 → 170,7
saveMIOSXML(miosStudio);
 
MidiDeviceRoutingXML midiDeviceRoutingXML = new MidiDeviceRoutingXML(
miosStudio.getMidiDeviceRouting(), midiDeviceRoutingTag);
miosStudio.getMidiDeviceRouting(), TAG_MIDI_DEVICE_ROUTING);
 
midiDeviceRoutingXML.saveXML(rootElement);
}
176,30 → 178,30
protected void saveMIDIXML(MIOSStudio miosStudio) {
 
MidiDeviceManagerXML midiDeviceManagerXML = new MidiDeviceManagerXML(
miosStudio.getMidiDeviceManager(), midiDeviceManagerTag);
miosStudio.getMidiDeviceManager(), TAG_MIDI_DEVICE_MANAGER);
 
midiDeviceManagerXML.saveXML(rootElement);
 
MidiFilterDeviceManagerXML midiFilterDeviceManagerXML = new MidiFilterDeviceManagerXML(
miosStudio.getMidiFilterManager(), midiFilterDeviceManagerTag);
miosStudio.getMidiFilterManager(), TAG_MIDI_FILTER_DEVICE_MANAGER);
 
midiFilterDeviceManagerXML.saveXML(rootElement);
 
MidiMonitorFilteredDeviceXML midiMonitorFilteredDeviceXML = new MidiMonitorFilteredDeviceXML(
miosStudio.getMidiOutPortMonitorDevice(),
midiOutPortMonitorDeviceTag);
TAG_OUT_PORT_MIDI_MONITOR_FILTERED_DEVICE);
 
midiMonitorFilteredDeviceXML.saveXML(rootElement);
 
midiMonitorFilteredDeviceXML = new MidiMonitorFilteredDeviceXML(
miosStudio.getMidiInPortMonitorDevice(),
midiInPortMonitorDeviceTag);
TAG_IN_PORT_MIDI_MONITOR_FILTERED_DEVICE);
 
midiMonitorFilteredDeviceXML.saveXML(rootElement);
 
MidiKeyboardControllerDeviceXML midiControllerDeviceXML = new MidiKeyboardControllerDeviceXML(
miosStudio.getMidiKeyboardControllerDevice(),
midiKeyboardControllerDeviceTag);
TAG_MIDI_KEYBOARD_CONTROLLER_DEVICE);
 
midiControllerDeviceXML.saveXML(rootElement);
}
208,22 → 210,22
 
HexFileUploadDeviceManagerXML hexFileUploadDeviceManagerXML = new HexFileUploadDeviceManagerXML(
miosStudio.getHexFileUploadDeviceManager(),
hexFileUploadDeviceManagerTag);
TAG_HEX_FILE_UPLOAD_DEVICE_MANAGER);
 
hexFileUploadDeviceManagerXML.saveXML(rootElement);
 
LCDMessageDeviceXML lcdMessageDeviceXML = new LCDMessageDeviceXML(
miosStudio.getLcdMessageDevice(), lcdMessageDeviceTag);
miosStudio.getLcdMessageDevice(), TAG_LCD_MESSAGE_DEVICE);
 
lcdMessageDeviceXML.saveXML(rootElement);
 
DebugFunctionDeviceXML debugFunctionDeviceXML = new DebugFunctionDeviceXML(
miosStudio.getDebugFunctionDevice(), debugFunctionDeviceTag);
miosStudio.getDebugFunctionDevice(), TAG_DEBUG_FUNCTION_DEVICE);
 
debugFunctionDeviceXML.saveXML(rootElement);
 
MidiMonitorFilteredDeviceXML midiMonitorFilteredDeviceXML = new MidiMonitorFilteredDeviceXML(
miosStudio.getMIOSTerminalDevice(), miosTerminalDeviceTag);
miosStudio.getMIOSTerminalDevice(), TAG_MIOS_TERMINAL_MIDI_MONITOR_FILTERED_DEVICE);
 
midiMonitorFilteredDeviceXML.saveXML(rootElement);
}
/trunk/java/org/midibox/apps/miosstudio/gui/MIOSStudioGUI.java
187,9 → 187,7
private boolean defaultDecoratedFrames;
 
private JLabel commentLabel;
private String workspaceTag = "miosStudio";
private static String currentDirectory = "";
 
private static JFileChooser fc = null;
661,7 → 659,17
toolBar.setVisible(false);
toolBar.setVisible(true);
}
 
public static String getCurrentDirectory() {
return currentDirectory;
}
 
public static void setCurrentDirectory(String currentDirectory) {
MIOSStudioGUI.currentDirectory = currentDirectory;
}
 
protected void removeExternalCommandButton(ExternalCommandButton button) {
externalCommands.remove(button);
toolBar.remove(button);
1121,7 → 1129,7
if (nRetVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
 
MIOSStudioXML miosStudioXML = new MIOSStudioXML(miosStudio, workspaceTag);
MIOSStudioXML miosStudioXML = new MIOSStudioXML(miosStudio, MIOSStudioXML.TAG_ROOT_ELEMENT);
miosStudioXML.loadXML(file);
 
1149,7 → 1157,7
if (nRetVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
 
MIOSStudioXML miosStudioXML = new MIOSStudioXML(miosStudio, workspaceTag);
MIOSStudioXML miosStudioXML = new MIOSStudioXML(miosStudio, MIOSStudioXML.TAG_ROOT_ELEMENT);
miosStudioXML.saveXML(file);
 
/trunk/java/org/midibox/apps/miosstudiosid/xml/MIOSStudioSIDXML.java
4,6 → 4,8
import org.midibox.apps.miosstudio.xml.MIOSStudioXML;
 
public class MIOSStudioSIDXML extends MIOSStudioXML {
public final static String TAG_ROOT_ELEMENT = "miosStudio";
 
public MIOSStudioSIDXML(MIOSStudio miosStudio, String rootElementTag) {
 
/trunk/java/org/midibox/mios/HexFileUploadDeviceManager.java
24,8 → 24,6
import java.util.Observer;
import java.util.Vector;
 
import org.midibox.midi.MidiFilterDevice;
 
public class HexFileUploadDeviceManager extends Observable implements Observer {
 
private Vector hexFileUploadDevices;
51,8 → 49,17
 
HexFileUploadDevice hexFileUploadDevice = new HexFileUploadDevice(
"MIOS Hex File Upload " + (hexFileUploadDevices.size() + 1));
hexFileUploadDevice.getHexFileUpload().setMIOS32Mode(mios32Mode);
 
hexFileUploadDevice.getHexFileUpload().setMIOS32Mode(mios32Mode);
addHexFileUploadDevice(hexFileUploadDevice);
 
return hexFileUploadDevice;
}
public void addHexFileUploadDevice(
HexFileUploadDevice hexFileUploadDevice) {
 
hexFileUploadDevice.getHexFileUpload().addObserver(this);
 
hexFileUploadDevices.add(hexFileUploadDevice);
60,8 → 67,6
setChanged();
notifyObservers(hexFileUploadDevice);
clearChanged();
 
return hexFileUploadDevice;
}
 
public void removeHexFileUploadDevice(
/trunk/java/org/midibox/mios/xml/DebugFunctionParametersXML.java
6,6 → 6,18
 
public class DebugFunctionParametersXML extends XMLUtils {
 
protected final static String TAG_ROOT_ELEMENT = "debugFunctionParameters";
 
protected final static String ATTR_ADDRESS = "address";
 
protected final static String ATTR_WREG = "wreg";
 
protected final static String ATTR_PARAM_1 = "param1";
 
protected final static String ATTR_PARAM_2 = "param2";
 
protected final static String ATTR_PARAM_3 = "param3";
 
protected DebugFunctionParameters debugFunctionParameters;
 
public DebugFunctionParametersXML(
17,33 → 29,23
this.debugFunctionParameters = debugFunctionParameters;
}
 
String addressAttr = "address";
 
String wregAttr = "wreg";
 
String param1Attr = "param1";
 
String param2Attr = "param2";
 
String param3Attr = "param3";
 
public void saveXML(Node node) {
 
super.saveXML(node);
 
rootElement.setAttribute(addressAttr, ""
+ debugFunctionParameters.getAddress());
rootElement.setAttribute(ATTR_ADDRESS,
intToString(debugFunctionParameters.getAddress()));
 
rootElement.setAttribute(wregAttr, ""
+ debugFunctionParameters.getWreg());
rootElement.setAttribute(ATTR_WREG, intToString(debugFunctionParameters
.getWreg()));
 
rootElement.setAttribute(param1Attr, ""
+ debugFunctionParameters.getParam1());
rootElement.setAttribute(ATTR_PARAM_1,
intToString(debugFunctionParameters.getParam1()));
 
rootElement.setAttribute(param2Attr, ""
+ debugFunctionParameters.getParam2());
rootElement.setAttribute(ATTR_PARAM_2,
intToString(debugFunctionParameters.getParam2()));
 
rootElement.setAttribute(param3Attr, ""
+ debugFunctionParameters.getParam3());
rootElement.setAttribute(ATTR_PARAM_3,
intToString(debugFunctionParameters.getParam3()));
}
}
/trunk/java/org/midibox/mios/xml/MIOSSysexSendReceiveXML.java
6,6 → 6,12
 
public class MIOSSysexSendReceiveXML extends XMLUtils {
 
public final static String TAG_ROOT_ELEMENT = "miosSysexSendReceive";
 
public final static String ATTR_DEVICE_ID = "deviceID";
 
public final static String ATTR_MIOS32_MODE = "mios32Mode";
 
protected MIOSSysexSendReceive miosSysexSendReceive;
 
public MIOSSysexSendReceiveXML(MIOSSysexSendReceive miosSysexSendReceive,
16,18 → 22,14
this.miosSysexSendReceive = miosSysexSendReceive;
}
 
protected String deviceIDTag = "deviceID";
 
protected String mios32ModeTag = "mios32Mode";
 
public void saveXML(Node node) {
 
super.saveXML(node);
 
rootElement.setAttribute(deviceIDTag, ""
+ miosSysexSendReceive.getDeviceID());
rootElement.setAttribute(ATTR_DEVICE_ID,
intToString(miosSysexSendReceive.getDeviceID()));
 
rootElement.setAttribute(mios32ModeTag, miosSysexSendReceive
.isMIOS32Mode() ? "true" : "false");
rootElement.setAttribute(ATTR_MIOS32_MODE,
booleanToString(miosSysexSendReceive.isMIOS32Mode()));
}
}
/trunk/java/org/midibox/mios/xml/HexFileUploadDeviceManagerXML.java
10,11 → 10,11
 
public class HexFileUploadDeviceManagerXML extends XMLUtils {
 
protected HexFileUploadDeviceManager hexFileUploadDeviceManager;
public final static String TAG_ROOT_ELEMENT = "hexFileUploadDeviceManager";
 
protected String hexFileUploadDevicesTag = "hexFileUploadDevices";
public final static String TAG_HEX_FILE_UPLOAD_DEVICES = "hexFileUploadDevices";
 
protected String hexFileUploadDeviceTag = "hexFileUploadDevice";
protected HexFileUploadDeviceManager hexFileUploadDeviceManager;
 
public HexFileUploadDeviceManagerXML(
HexFileUploadDeviceManager hexFileUploadDeviceManager,
30,7 → 30,7
super.saveXML(node);
 
Element hexFileUploadDevicesElement = document
.createElement(hexFileUploadDevicesTag);
.createElement(TAG_HEX_FILE_UPLOAD_DEVICES);
 
rootElement.appendChild(hexFileUploadDevicesElement);
 
43,7 → 43,8
.next();
 
HexFileUploadDeviceXML hexFileUploadDeviceXML = new HexFileUploadDeviceXML(
hexFileUploadDevice, hexFileUploadDeviceTag);
hexFileUploadDevice,
HexFileUploadDeviceXML.TAG_ROOT_ELEMENT);
 
hexFileUploadDeviceXML.saveXML(hexFileUploadDevicesElement);
}
/trunk/java/org/midibox/mios/xml/LCDMessageDeviceXML.java
8,7 → 8,7
 
protected LCDMessageDevice lcdMessageDevice;
 
protected String lcdMessageTag = "lcdMessage";
public static final String TAG_ROOT_ELEMENT = "lcdMessageDevice";
 
public LCDMessageDeviceXML(LCDMessageDevice lcdMessageDevice,
String rootElementTag) {
23,7 → 23,7
super.saveXML(node);
 
LCDMessageXML lcdMessageXML = new LCDMessageXML(lcdMessageDevice
.getLCDMessage(), lcdMessageTag);
.getLCDMessage(), LCDMessageXML.TAG_ROOT_ELEMENT);
 
lcdMessageXML.saveXML(rootElement);
}
/trunk/java/org/midibox/mios/xml/LCDMessageXML.java
8,20 → 8,22
 
protected LCDMessage lcdMessage;
 
protected String lcdWidthAttr = "lcdWidth";
public static final String TAG_ROOT_ELEMENT = "lcdMessage";
 
protected String lcdHeightAttr = "lcdHeight";
public static final String TAG_MESSAGE_TEXT = "messageText";
 
protected String modeAttr = "mode";
public static final String ATTR_LCD_WIDTH = "lcdWidth";
 
protected String posXAttr = "posX";
public static final String ATTR_LCD_HEIGHT = "lcdHeight";
 
protected String posYAttr = "posY";
public static final String ATTR_MODE = "mode";
 
protected String loopAttr = "loop";
public static final String ATTR_POS_X = "posX";
 
protected String messageTextTag = "messageText";
public static final String ATTR_POS_Y = "posY";
 
public static final String ATTR_LOOP = "loop";
 
public LCDMessageXML(LCDMessage lcdMessage, String rootElementTag) {
 
super(lcdMessage, rootElementTag);
33,20 → 35,22
 
super.saveXML(node);
 
rootElement.setAttribute(lcdWidthAttr, "" + lcdMessage.getLcdWidth());
rootElement.setAttribute(ATTR_LCD_WIDTH, intToString(lcdMessage
.getLcdWidth()));
 
rootElement.setAttribute(lcdHeightAttr, "" + lcdMessage.getLcdHeight());
rootElement.setAttribute(ATTR_LCD_HEIGHT, intToString(lcdMessage
.getLcdHeight()));
 
rootElement.setAttribute(modeAttr, "" + lcdMessage.getMode());
rootElement.setAttribute(ATTR_MODE, intToString(lcdMessage.getMode()));
 
rootElement.setAttribute(posXAttr, "" + lcdMessage.getPosX());
rootElement.setAttribute(ATTR_POS_X, intToString(lcdMessage.getPosX()));
 
rootElement.setAttribute(posYAttr, "" + lcdMessage.getPosY());
rootElement.setAttribute(ATTR_POS_Y, intToString(lcdMessage.getPosY()));
 
rootElement.setAttribute(loopAttr, lcdMessage.isLoop() ? "true"
: "false");
rootElement.setAttribute(ATTR_LOOP,
booleanToString(lcdMessage.isLoop()));
 
Element messageTextElement = document.createElement(messageTextTag);
Element messageTextElement = document.createElement(TAG_MESSAGE_TEXT);
 
rootElement.appendChild(messageTextElement);
 
/trunk/java/org/midibox/mios/xml/HexFileUploadDeviceXML.java
8,7 → 8,7
 
protected HexFileUploadDevice hexFileUploadDevice;
 
protected String hexFileUploadTag = "hexFileUpload";
public static final String TAG_ROOT_ELEMENT = "hexFileUploadDevice";
 
public HexFileUploadDeviceXML(HexFileUploadDevice hexFileUploadDevice,
String rootElementTag) {
23,7 → 23,8
super.saveXML(node);
 
HexFileUploadXML hexFileUploadXML = new HexFileUploadXML(
hexFileUploadDevice.getHexFileUpload(), hexFileUploadTag);
hexFileUploadDevice.getHexFileUpload(),
HexFileUploadXML.TAG_ROOT_ELEMENT);
 
hexFileUploadXML.saveXML(rootElement);
}
/trunk/java/org/midibox/mios/xml/HexFileUploadXML.java
7,12 → 7,14
 
protected HexFileUpload hexFileUpload;
 
protected String waitForUploadRequestAttr = "waitForUploadRequest";
public final static String TAG_ROOT_ELEMENT = "hexFileUpload";
 
protected String uploadModeAttr = "uploadMode";
public final static String ATTR_WAIT_FOR_UPLOAD_REQUEST = "waitForUploadRequest";
 
protected String delayTimeAttr = "delayTime";
public final static String ATTR_UPLOAD_MODE = "uploadMode";
 
public final static String ATTR_DELAY_TIME = "delayTime";
 
public HexFileUploadXML(HexFileUpload hexFileUpload, String rootElementTag) {
 
super(hexFileUpload, rootElementTag);
24,13 → 26,13
 
super.saveXML(node);
 
rootElement.setAttribute(waitForUploadRequestAttr, hexFileUpload
.isWaitForUploadRequest() ? "true" : "false");
rootElement.setAttribute(ATTR_WAIT_FOR_UPLOAD_REQUEST,
booleanToString(hexFileUpload.isWaitForUploadRequest()));
 
rootElement.setAttribute(uploadModeAttr, ""
+ hexFileUpload.getUploadMode());
rootElement.setAttribute(ATTR_UPLOAD_MODE, intToString(hexFileUpload
.getUploadMode()));
 
rootElement.setAttribute(delayTimeAttr, ""
+ hexFileUpload.getDelayTime());
rootElement.setAttribute(ATTR_DELAY_TIME, intToString(hexFileUpload
.getDelayTime()));
}
}
/trunk/java/org/midibox/mios/xml/DebugFunctionDeviceXML.java
6,10 → 6,10
 
public class DebugFunctionDeviceXML extends VirtualMidiDeviceXML {
 
public final static String TAG_ROOT_ELEMENT = "debugFunctionDevice";
 
protected DebugFunctionDevice debugFunctionDevice;
 
protected String debugFunctionTag = "debugFunction";
 
public DebugFunctionDeviceXML(DebugFunctionDevice debugFunctionDevice,
String rootElementTag) {
 
23,7 → 23,8
super.saveXML(node);
 
DebugFunctionXML debugFunctionXML = new DebugFunctionXML(
debugFunctionDevice.getDebugFunction(), debugFunctionTag);
debugFunctionDevice.getDebugFunction(),
DebugFunctionXML.TAG_ROOT_ELEMENT);
 
debugFunctionXML.saveXML(rootElement);
}
/trunk/java/org/midibox/mios/xml/DebugFunctionXML.java
11,21 → 11,21
 
protected DebugFunction debugFunction;
 
protected String modeAttr = "mode";
public final static String TAG_ROOT_ELEMENT = "debugFunction";
 
protected String delayTimeAttr = "delayTime";
public static final String TAG_DEBUG_FUNCTION_PARAMETERS_LIST = "debugFunctionParametersList";
 
protected String sramReadAddressAttr = "sramReadAddress";
public static final String ATTR_MODE = "mode";
 
protected String sramReadCounterAttr = "sramReadCounter";
public static final String ATTR_DELAY_TIME = "delayTime";
 
protected String sramWriteAddressAttr = "sramWriteAddress";
public static final String ATTR_SRAM_READ_ADDRESS = "sramReadAddress";
 
protected String sramWriteDataAttr = "sramWriteData";
public static final String ATTR_SRAM_READ_COUNTER = "sramReadCounter";
 
protected String debugFunctionParametersTag = "debugFunctionParameters";
public static final String ATTR_SRAM_WRITE_ADDRESS = "sramWriteAddress";
 
protected String debugFunctionParameterTag = "debugFunctionParameter";
public static final String ATTR_SRAM_WRITE_DATA = "sramWriteData";
 
public DebugFunctionXML(DebugFunction debugFunction, String rootElementTag) {
 
38,27 → 38,28
 
super.saveXML(node);
 
rootElement.setAttribute(modeAttr, "" + debugFunction.getMode());
rootElement.setAttribute(ATTR_MODE,
intToString(debugFunction.getMode()));
 
rootElement.setAttribute(delayTimeAttr, ""
+ debugFunction.getDelayTime());
rootElement.setAttribute(ATTR_DELAY_TIME, intToString(debugFunction
.getDelayTime()));
 
rootElement.setAttribute(sramReadAddressAttr, ""
+ debugFunction.getSramReadAddress());
rootElement.setAttribute(ATTR_SRAM_READ_ADDRESS,
intToString(debugFunction.getSramReadAddress()));
 
rootElement.setAttribute(sramReadCounterAttr, ""
+ debugFunction.getSramReadCounter());
rootElement.setAttribute(ATTR_SRAM_READ_COUNTER,
intToString(debugFunction.getSramReadCounter()));
 
rootElement.setAttribute(sramWriteAddressAttr, ""
+ debugFunction.getSramWriteAddress());
rootElement.setAttribute(ATTR_SRAM_WRITE_ADDRESS,
intToString(debugFunction.getSramWriteAddress()));
 
rootElement.setAttribute(sramWriteDataAttr, ""
+ debugFunction.getSramWriteData());
rootElement.setAttribute(ATTR_SRAM_WRITE_DATA,
intToString(debugFunction.getSramWriteData()));
 
Element debugFunctionParametersElement = document
.createElement(debugFunctionParametersTag);
Element debugFunctionParametersListElement = document
.createElement(TAG_DEBUG_FUNCTION_PARAMETERS_LIST);
 
rootElement.appendChild(debugFunctionParametersElement);
rootElement.appendChild(debugFunctionParametersListElement);
 
Iterator it = debugFunction.getDebugFunctionParameters().iterator();
 
68,9 → 69,11
.next();
 
DebugFunctionParametersXML debugFunctionParametersXML = new DebugFunctionParametersXML(
debugFunctionParameters, debugFunctionParametersTag);
debugFunctionParameters,
DebugFunctionParametersXML.TAG_ROOT_ELEMENT);
 
debugFunctionParametersXML.saveXML(debugFunctionParametersElement);
debugFunctionParametersXML
.saveXML(debugFunctionParametersListElement);
}
}
}
/trunk/java/res/xml/MIOSStudio.xml
1,0 → 0,0
<?xml version="1.0" encoding="UTF-8" standalone="no"?><miosStudio midiThruOutPort="false" routeIndividualDevices="false"><midiThruFilterDevice hashCode="-1860208521" name="MIOS Studio Thru Filter"><midiFilter><voiceMessages enable="true"><voiceMessage enable="true" number="128"/><voiceMessage enable="true" number="144"/><voiceMessage enable="true" number="160"/><voiceMessage enable="true" number="176"/><voiceMessage enable="true" number="192"/><voiceMessage enable="true" number="208"/><voiceMessage enable="true" number="224"/><voiceMessage enable="true" number="240"/><controlChangeMessages><controlChangeMessage enable="true" number="0"/><controlChangeMessage enable="true" number="1"/><controlChangeMessage enable="true" number="2"/><controlChangeMessage enable="true" number="3"/><controlChangeMessage enable="true" number="4"/><controlChangeMessage enable="true" number="5"/><controlChangeMessage enable="true" number="6"/><controlChangeMessage enable="true" number="7"/><controlChangeMessage enable="true" number="8"/><controlChangeMessage enable="true" number="9"/><controlChangeMessage enable="true" number="10"/><controlChangeMessage enable="true" number="11"/><controlChangeMessage enable="true" number="12"/><controlChangeMessage enable="true" number="13"/><controlChangeMessage enable="true" number="14"/><controlChangeMessage enable="true" number="15"/><controlChangeMessage enable="true" number="16"/><controlChangeMessage enable="true" number="17"/><controlChangeMessage enable="true" number="18"/><controlChangeMessage enable="true" number="19"/><controlChangeMessage enable="true" number="20"/><controlChangeMessage enable="true" number="21"/><controlChangeMessage enable="true" number="22"/><controlChangeMessage enable="true" number="23"/><controlChangeMessage enable="true" number="24"/><controlChangeMessage enable="true" number="25"/><controlChangeMessage enable="true" number="26"/><controlChangeMessage enable="true" number="27"/><controlChangeMessage enable="true" number="28"/><controlChangeMessage enable="true" number="29"/><controlChangeMessage enable="true" number="30"/><controlChangeMessage enable="true" number="31"/><controlChangeMessage enable="true" number="32"/><controlChangeMessage enable="true" number="33"/><controlChangeMessage enable="true" number="34"/><controlChangeMessage enable="true" number="35"/><controlChangeMessage enable="true" number="36"/><controlChangeMessage enable="true" number="37"/><controlChangeMessage enable="true" number="38"/><controlChangeMessage enable="true" number="39"/><controlChangeMessage enable="true" number="40"/><controlChangeMessage enable="true" number="41"/><controlChangeMessage enable="true" number="42"/><controlChangeMessage enable="true" number="43"/><controlChangeMessage enable="true" number="44"/><controlChangeMessage enable="true" number="45"/><controlChangeMessage enable="true" number="46"/><controlChangeMessage enable="true" number="47"/><controlChangeMessage enable="true" number="48"/><controlChangeMessage enable="true" number="49"/><controlChangeMessage enable="true" number="50"/><controlChangeMessage enable="true" number="51"/><controlChangeMessage enable="true" number="52"/><controlChangeMessage enable="true" number="53"/><controlChangeMessage enable="true" number="54"/><controlChangeMessage enable="true" number="55"/><controlChangeMessage enable="true" number="56"/><controlChangeMessage enable="true" number="57"/><controlChangeMessage enable="true" number="58"/><controlChangeMessage enable="true" number="59"/><controlChangeMessage enable="true" number="60"/><controlChangeMessage enable="true" number="61"/><controlChangeMessage enable="true" number="62"/><controlChangeMessage enable="true" number="63"/><controlChangeMessage enable="true" number="64"/><controlChangeMessage enable="true" number="65"/><controlChangeMessage enable="true" number="66"/><controlChangeMessage enable="true" number="67"/><controlChangeMessage enable="true" number="68"/><controlChangeMessage enable="true" number="69"/><controlChangeMessage enable="true" number="70"/><controlChangeMessage enable="true" number="71"/><controlChangeMessage enable="true" number="72"/><controlChangeMessage enable="true" number="73"/><controlChangeMessage enable="true" number="74"/><controlChangeMessage enable="true" number="75"/><controlChangeMessage enable="true" number="76"/><controlChangeMessage enable="true" number="77"/><controlChangeMessage enable="true" number="78"/><controlChangeMessage enable="true" number="79"/><controlChangeMessage enable="true" number="80"/><controlChangeMessage enable="true" number="81"/><controlChangeMessage enable="true" number="82"/><controlChangeMessage enable="true" number="83"/><controlChangeMessage enable="true" number="84"/><controlChangeMessage enable="true" number="85"/><controlChangeMessage enable="true" number="86"/><controlChangeMessage enable="true" number="87"/><controlChangeMessage enable="true" number="88"/><controlChangeMessage enable="true" number="89"/><controlChangeMessage enable="true" number="90"/><controlChangeMessage enable="true" number="91"/><controlChangeMessage enable="true" number="92"/><controlChangeMessage enable="true" number="93"/><controlChangeMessage enable="true" number="94"/><controlChangeMessage enable="true" number="95"/><controlChangeMessage enable="true" number="96"/><controlChangeMessage enable="true" number="97"/><controlChangeMessage enable="true" number="98"/><controlChangeMessage enable="true" number="99"/><controlChangeMessage enable="true" number="100"/><controlChangeMessage enable="true" number="101"/><controlChangeMessage enable="true" number="102"/><controlChangeMessage enable="true" number="103"/><controlChangeMessage enable="true" number="104"/><controlChangeMessage enable="true" number="105"/><controlChangeMessage enable="true" number="106"/><controlChangeMessage enable="true" number="107"/><controlChangeMessage enable="true" number="108"/><controlChangeMessage enable="true" number="109"/><controlChangeMessage enable="true" number="110"/><controlChangeMessage enable="true" number="111"/><controlChangeMessage enable="true" number="112"/><controlChangeMessage enable="true" number="113"/><controlChangeMessage enable="true" number="114"/><controlChangeMessage enable="true" number="115"/><controlChangeMessage enable="true" number="116"/><controlChangeMessage enable="true" number="117"/><controlChangeMessage enable="true" number="118"/><controlChangeMessage enable="true" number="119"/><controlChangeMessage enable="true" number="120"/><controlChangeMessage enable="true" number="121"/><controlChangeMessage enable="true" number="122"/><controlChangeMessage enable="true" number="123"/><controlChangeMessage enable="true" number="124"/><controlChangeMessage enable="true" number="125"/><controlChangeMessage enable="true" number="126"/><controlChangeMessage enable="true" number="127"/></controlChangeMessages><channels><channel enable="true" number="1"/><channel enable="true" number="2"/><channel enable="true" number="3"/><channel enable="true" number="4"/><channel enable="true" number="5"/><channel enable="true" number="6"/><channel enable="true" number="7"/><channel enable="true" number="8"/><channel enable="true" number="9"/><channel enable="true" number="10"/><channel enable="true" number="11"/><channel enable="true" number="12"/><channel enable="true" number="13"/><channel enable="true" number="14"/><channel enable="true" number="15"/><channel enable="true" number="16"/></channels></voiceMessages><systemCommonMessages enable="true"><systemCommonMessage enable="true" number="240"/><systemCommonMessage enable="true" number="241"/><systemCommonMessage enable="true" number="242"/><systemCommonMessage enable="true" number="243"/><systemCommonMessage enable="true" number="244"/><systemCommonMessage enable="true" number="245"/><systemCommonMessage enable="true" number="246"/><systemCommonMessage enable="true" number="247"/></systemCommonMessages><systemRealtimeMessages enable="true"><systemRealtimeMessage enable="true" number="248"/><systemRealtimeMessage enable="true" number="249"/><systemRealtimeMessage enable="true" number="250"/><systemRealtimeMessage enable="true" number="251"/><systemRealtimeMessage enable="true" number="252"/><systemRealtimeMessage enable="true" number="253"/><systemRealtimeMessage enable="true" number="254"/><systemRealtimeMessage enable="true" number="255"/></systemRealtimeMessages><sysexMessages enable="true"/><metaMessage enable="true"/></midiFilter></midiThruFilterDevice><midiDeviceManager><selectedMidiReadDevices><selectedMidiReadDevice hashCode="-2113784367" name="SB Live! MIDI UART"/></selectedMidiReadDevices><selectedMidiWriteDevices><selectedMidiWriteDevice hashCode="1000259473" name="B: SB Live! MIDI Synth"/><selectedMidiWriteDevice hashCode="-2113784367" name="SB Live! MIDI UART"/><selectedMidiWriteDevice hashCode="-1256651534" name="A: SB Live! MIDI Synth"/><selectedMidiWriteDevice hashCode="683098594" name="SB Live! Soft Synth"/></selectedMidiWriteDevices></midiDeviceManager><midiFilterDeviceManager><midiFilterDevices><midiFilterDevice hashCode="-2043809848" name="MIDI Filter 1"><midiFilter><voiceMessages enable="true"><voiceMessage enable="true" number="128"/><voiceMessage enable="true" number="144"/><voiceMessage enable="true" number="160"/><voiceMessage enable="true" number="176"/><voiceMessage enable="true" number="192"/><voiceMessage enable="true" number="208"/><voiceMessage enable="true" number="224"/><voiceMessage enable="true" number="240"/><controlChangeMessages><controlChangeMessage enable="true" number="0"/><controlChangeMessage enable="true" number="1"/><controlChangeMessage enable="true" number="2"/><controlChangeMessage enable="true" number="3"/><controlChangeMessage enable="true" number="4"/><controlChangeMessage enable="true" number="5"/><controlChangeMessage enable="true" number="6"/><controlChangeMessage enable="true" number="7"/><controlChangeMessage enable="true" number="8"/><controlChangeMessage enable="true" number="9"/><controlChangeMessage enable="true" number="10"/><controlChangeMessage enable="true" number="11"/><controlChangeMessage enable="true" number="12"/><controlChangeMessage enable="true" number="13"/><controlChangeMessage enable="true" number="14"/><controlChangeMessage enable="true" number="15"/><controlChangeMessage enable="true" number="16"/><controlChangeMessage enable="true" number="17"/><controlChangeMessage enable="true" number="18"/><controlChangeMessage enable="true" number="19"/><controlChangeMessage enable="true" number="20"/><controlChangeMessage enable="true" number="21"/><controlChangeMessage enable="true" number="22"/><controlChangeMessage enable="true" number="23"/><controlChangeMessage enable="true" number="24"/><controlChangeMessage enable="true" number="25"/><controlChangeMessage enable="true" number="26"/><controlChangeMessage enable="true" number="27"/><controlChangeMessage enable="true" number="28"/><controlChangeMessage enable="true" number="29"/><controlChangeMessage enable="true" number="30"/><controlChangeMessage enable="true" number="31"/><controlChangeMessage enable="true" number="32"/><controlChangeMessage enable="true" number="33"/><controlChangeMessage enable="true" number="34"/><controlChangeMessage enable="true" number="35"/><controlChangeMessage enable="true" number="36"/><controlChangeMessage enable="true" number="37"/><controlChangeMessage enable="true" number="38"/><controlChangeMessage enable="true" number="39"/><controlChangeMessage enable="true" number="40"/><controlChangeMessage enable="true" number="41"/><controlChangeMessage enable="true" number="42"/><controlChangeMessage enable="true" number="43"/><controlChangeMessage enable="true" number="44"/><controlChangeMessage enable="true" number="45"/><controlChangeMessage enable="true" number="46"/><controlChangeMessage enable="true" number="47"/><controlChangeMessage enable="true" number="48"/><controlChangeMessage enable="true" number="49"/><controlChangeMessage enable="true" number="50"/><controlChangeMessage enable="true" number="51"/><controlChangeMessage enable="true" number="52"/><controlChangeMessage enable="true" number="53"/><controlChangeMessage enable="true" number="54"/><controlChangeMessage enable="true" number="55"/><controlChangeMessage enable="true" number="56"/><controlChangeMessage enable="true" number="57"/><controlChangeMessage enable="true" number="58"/><controlChangeMessage enable="true" number="59"/><controlChangeMessage enable="true" number="60"/><controlChangeMessage enable="true" number="61"/><controlChangeMessage enable="true" number="62"/><controlChangeMessage enable="true" number="63"/><controlChangeMessage enable="true" number="64"/><controlChangeMessage enable="true" number="65"/><controlChangeMessage enable="true" number="66"/><controlChangeMessage enable="true" number="67"/><controlChangeMessage enable="true" number="68"/><controlChangeMessage enable="true" number="69"/><controlChangeMessage enable="true" number="70"/><controlChangeMessage enable="true" number="71"/><controlChangeMessage enable="true" number="72"/><controlChangeMessage enable="true" number="73"/><controlChangeMessage enable="true" number="74"/><controlChangeMessage enable="true" number="75"/><controlChangeMessage enable="true" number="76"/><controlChangeMessage enable="true" number="77"/><controlChangeMessage enable="true" number="78"/><controlChangeMessage enable="true" number="79"/><controlChangeMessage enable="true" number="80"/><controlChangeMessage enable="true" number="81"/><controlChangeMessage enable="true" number="82"/><controlChangeMessage enable="true" number="83"/><controlChangeMessage enable="true" number="84"/><controlChangeMessage enable="true" number="85"/><controlChangeMessage enable="true" number="86"/><controlChangeMessage enable="true" number="87"/><controlChangeMessage enable="true" number="88"/><controlChangeMessage enable="true" number="89"/><controlChangeMessage enable="true" number="90"/><controlChangeMessage enable="true" number="91"/><controlChangeMessage enable="true" number="92"/><controlChangeMessage enable="true" number="93"/><controlChangeMessage enable="true" number="94"/><controlChangeMessage enable="true" number="95"/><controlChangeMessage enable="true" number="96"/><controlChangeMessage enable="true" number="97"/><controlChangeMessage enable="true" number="98"/><controlChangeMessage enable="true" number="99"/><controlChangeMessage enable="true" number="100"/><controlChangeMessage enable="true" number="101"/><controlChangeMessage enable="true" number="102"/><controlChangeMessage enable="true" number="103"/><controlChangeMessage enable="true" number="104"/><controlChangeMessage enable="true" number="105"/><controlChangeMessage enable="true" number="106"/><controlChangeMessage enable="true" number="107"/><controlChangeMessage enable="true" number="108"/><controlChangeMessage enable="true" number="109"/><controlChangeMessage enable="true" number="110"/><controlChangeMessage enable="true" number="111"/><controlChangeMessage enable="true" number="112"/><controlChangeMessage enable="true" number="113"/><controlChangeMessage enable="true" number="114"/><controlChangeMessage enable="true" number="115"/><controlChangeMessage enable="true" number="116"/><controlChangeMessage enable="true" number="117"/><controlChangeMessage enable="true" number="118"/><controlChangeMessage enable="true" number="119"/><controlChangeMessage enable="true" number="120"/><controlChangeMessage enable="true" number="121"/><controlChangeMessage enable="true" number="122"/><controlChangeMessage enable="true" number="123"/><controlChangeMessage enable="true" number="124"/><controlChangeMessage enable="true" number="125"/><controlChangeMessage enable="true" number="126"/><controlChangeMessage enable="true" number="127"/></controlChangeMessages><channels><channel enable="true" number="1"/><channel enable="true" number="2"/><channel enable="true" number="3"/><channel enable="true" number="4"/><channel enable="true" number="5"/><channel enable="true" number="6"/><channel enable="true" number="7"/><channel enable="true" number="8"/><channel enable="true" number="9"/><channel enable="true" number="10"/><channel enable="true" number="11"/><channel enable="true" number="12"/><channel enable="true" number="13"/><channel enable="true" number="14"/><channel enable="true" number="15"/><channel enable="true" number="16"/></channels></voiceMessages><systemCommonMessages enable="true"><systemCommonMessage enable="true" number="240"/><systemCommonMessage enable="true" number="241"/><systemCommonMessage enable="true" number="242"/><systemCommonMessage enable="true" number="243"/><systemCommonMessage enable="true" number="244"/><systemCommonMessage enable="true" number="245"/><systemCommonMessage enable="true" number="246"/><systemCommonMessage enable="true" number="247"/></systemCommonMessages><systemRealtimeMessages enable="true"><systemRealtimeMessage enable="true" number="248"/><systemRealtimeMessage enable="true" number="249"/><systemRealtimeMessage enable="true" number="250"/><systemRealtimeMessage enable="true" number="251"/><systemRealtimeMessage enable="true" number="252"/><systemRealtimeMessage enable="true" number="253"/><systemRealtimeMessage enable="true" number="254"/><systemRealtimeMessage enable="true" number="255"/></systemRealtimeMessages><sysexMessages enable="true"/><metaMessage enable="true"/></midiFilter></midiFilterDevice><midiFilterDevice hashCode="-2043809847" name="MIDI Filter 2"><midiFilter><voiceMessages enable="true"><voiceMessage enable="true" number="128"/><voiceMessage enable="true" number="144"/><voiceMessage enable="true" number="160"/><voiceMessage enable="true" number="176"/><voiceMessage enable="true" number="192"/><voiceMessage enable="true" number="208"/><voiceMessage enable="true" number="224"/><voiceMessage enable="true" number="240"/><controlChangeMessages><controlChangeMessage enable="true" number="0"/><controlChangeMessage enable="true" number="1"/><controlChangeMessage enable="true" number="2"/><controlChangeMessage enable="true" number="3"/><controlChangeMessage enable="true" number="4"/><controlChangeMessage enable="true" number="5"/><controlChangeMessage enable="true" number="6"/><controlChangeMessage enable="true" number="7"/><controlChangeMessage enable="true" number="8"/><controlChangeMessage enable="true" number="9"/><controlChangeMessage enable="true" number="10"/><controlChangeMessage enable="true" number="11"/><controlChangeMessage enable="true" number="12"/><controlChangeMessage enable="true" number="13"/><controlChangeMessage enable="true" number="14"/><controlChangeMessage enable="true" number="15"/><controlChangeMessage enable="true" number="16"/><controlChangeMessage enable="true" number="17"/><controlChangeMessage enable="true" number="18"/><controlChangeMessage enable="true" number="19"/><controlChangeMessage enable="true" number="20"/><controlChangeMessage enable="true" number="21"/><controlChangeMessage enable="true" number="22"/><controlChangeMessage enable="true" number="23"/><controlChangeMessage enable="true" number="24"/><controlChangeMessage enable="true" number="25"/><controlChangeMessage enable="true" number="26"/><controlChangeMessage enable="true" number="27"/><controlChangeMessage enable="true" number="28"/><controlChangeMessage enable="true" number="29"/><controlChangeMessage enable="true" number="30"/><controlChangeMessage enable="true" number="31"/><controlChangeMessage enable="true" number="32"/><controlChangeMessage enable="true" number="33"/><controlChangeMessage enable="true" number="34"/><controlChangeMessage enable="true" number="35"/><controlChangeMessage enable="true" number="36"/><controlChangeMessage enable="true" number="37"/><controlChangeMessage enable="true" number="38"/><controlChangeMessage enable="true" number="39"/><controlChangeMessage enable="true" number="40"/><controlChangeMessage enable="true" number="41"/><controlChangeMessage enable="true" number="42"/><controlChangeMessage enable="true" number="43"/><controlChangeMessage enable="true" number="44"/><controlChangeMessage enable="true" number="45"/><controlChangeMessage enable="true" number="46"/><controlChangeMessage enable="true" number="47"/><controlChangeMessage enable="true" number="48"/><controlChangeMessage enable="true" number="49"/><controlChangeMessage enable="true" number="50"/><controlChangeMessage enable="true" number="51"/><controlChangeMessage enable="true" number="52"/><controlChangeMessage enable="true" number="53"/><controlChangeMessage enable="true" number="54"/><controlChangeMessage enable="true" number="55"/><controlChangeMessage enable="true" number="56"/><controlChangeMessage enable="true" number="57"/><controlChangeMessage enable="true" number="58"/><controlChangeMessage enable="true" number="59"/><controlChangeMessage enable="true" number="60"/><controlChangeMessage enable="true" number="61"/><controlChangeMessage enable="true" number="62"/><controlChangeMessage enable="true" number="63"/><controlChangeMessage enable="true" number="64"/><controlChangeMessage enable="true" number="65"/><controlChangeMessage enable="true" number="66"/><controlChangeMessage enable="true" number="67"/><controlChangeMessage enable="true" number="68"/><controlChangeMessage enable="true" number="69"/><controlChangeMessage enable="true" number="70"/><controlChangeMessage enable="true" number="71"/><controlChangeMessage enable="true" number="72"/><controlChangeMessage enable="true" number="73"/><controlChangeMessage enable="true" number="74"/><controlChangeMessage enable="true" number="75"/><controlChangeMessage enable="true" number="76"/><controlChangeMessage enable="true" number="77"/><controlChangeMessage enable="true" number="78"/><controlChangeMessage enable="true" number="79"/><controlChangeMessage enable="true" number="80"/><controlChangeMessage enable="true" number="81"/><controlChangeMessage enable="true" number="82"/><controlChangeMessage enable="true" number="83"/><controlChangeMessage enable="true" number="84"/><controlChangeMessage enable="true" number="85"/><controlChangeMessage enable="true" number="86"/><controlChangeMessage enable="true" number="87"/><controlChangeMessage enable="true" number="88"/><controlChangeMessage enable="true" number="89"/><controlChangeMessage enable="true" number="90"/><controlChangeMessage enable="true" number="91"/><controlChangeMessage enable="true" number="92"/><controlChangeMessage enable="true" number="93"/><controlChangeMessage enable="true" number="94"/><controlChangeMessage enable="true" number="95"/><controlChangeMessage enable="true" number="96"/><controlChangeMessage enable="true" number="97"/><controlChangeMessage enable="true" number="98"/><controlChangeMessage enable="true" number="99"/><controlChangeMessage enable="true" number="100"/><controlChangeMessage enable="true" number="101"/><controlChangeMessage enable="true" number="102"/><controlChangeMessage enable="true" number="103"/><controlChangeMessage enable="true" number="104"/><controlChangeMessage enable="true" number="105"/><controlChangeMessage enable="true" number="106"/><controlChangeMessage enable="true" number="107"/><controlChangeMessage enable="true" number="108"/><controlChangeMessage enable="true" number="109"/><controlChangeMessage enable="true" number="110"/><controlChangeMessage enable="true" number="111"/><controlChangeMessage enable="true" number="112"/><controlChangeMessage enable="true" number="113"/><controlChangeMessage enable="true" number="114"/><controlChangeMessage enable="true" number="115"/><controlChangeMessage enable="true" number="116"/><controlChangeMessage enable="true" number="117"/><controlChangeMessage enable="true" number="118"/><controlChangeMessage enable="true" number="119"/><controlChangeMessage enable="true" number="120"/><controlChangeMessage enable="true" number="121"/><controlChangeMessage enable="true" number="122"/><controlChangeMessage enable="true" number="123"/><controlChangeMessage enable="true" number="124"/><controlChangeMessage enable="true" number="125"/><controlChangeMessage enable="true" number="126"/><controlChangeMessage enable="true" number="127"/></controlChangeMessages><channels><channel enable="true" number="1"/><channel enable="true" number="2"/><channel enable="true" number="3"/><channel enable="true" number="4"/><channel enable="true" number="5"/><channel enable="true" number="6"/><channel enable="true" number="7"/><channel enable="true" number="8"/><channel enable="true" number="9"/><channel enable="true" number="10"/><channel enable="true" number="11"/><channel enable="true" number="12"/><channel enable="true" number="13"/><channel enable="true" number="14"/><channel enable="true" number="15"/><channel enable="true" number="16"/></channels></voiceMessages><systemCommonMessages enable="true"><systemCommonMessage enable="true" number="240"/><systemCommonMessage enable="false" number="241"/><systemCommonMessage enable="true" number="242"/><systemCommonMessage enable="true" number="243"/><systemCommonMessage enable="true" number="244"/><systemCommonMessage enable="true" number="245"/><systemCommonMessage enable="true" number="246"/><systemCommonMessage enable="true" number="247"/></systemCommonMessages><systemRealtimeMessages enable="true"><systemRealtimeMessage enable="true" number="248"/><systemRealtimeMessage enable="true" number="249"/><systemRealtimeMessage enable="false" number="250"/><systemRealtimeMessage enable="true" number="251"/><systemRealtimeMessage enable="true" number="252"/><systemRealtimeMessage enable="true" number="253"/><systemRealtimeMessage enable="true" number="254"/><systemRealtimeMessage enable="true" number="255"/></systemRealtimeMessages><sysexMessages enable="true"/><metaMessage enable="true"/></midiFilter></midiFilterDevice></midiFilterDevices></midiFilterDeviceManager><midiOutPortMonitorDevice hashCode="460686317" name="MIDI Monitor: OUT"><midiMonitorFiltered><midiFilter><voiceMessages enable="true"><voiceMessage enable="true" number="128"/><voiceMessage enable="true" number="144"/><voiceMessage enable="true" number="160"/><voiceMessage enable="false" number="176"/><voiceMessage enable="true" number="192"/><voiceMessage enable="true" number="208"/><voiceMessage enable="true" number="224"/><voiceMessage enable="true" number="240"/><controlChangeMessages><controlChangeMessage enable="true" number="0"/><controlChangeMessage enable="true" number="1"/><controlChangeMessage enable="true" number="2"/><controlChangeMessage enable="true" number="3"/><controlChangeMessage enable="true" number="4"/><controlChangeMessage enable="true" number="5"/><controlChangeMessage enable="true" number="6"/><controlChangeMessage enable="true" number="7"/><controlChangeMessage enable="true" number="8"/><controlChangeMessage enable="true" number="9"/><controlChangeMessage enable="true" number="10"/><controlChangeMessage enable="true" number="11"/><controlChangeMessage enable="true" number="12"/><controlChangeMessage enable="true" number="13"/><controlChangeMessage enable="true" number="14"/><controlChangeMessage enable="true" number="15"/><controlChangeMessage enable="true" number="16"/><controlChangeMessage enable="true" number="17"/><controlChangeMessage enable="true" number="18"/><controlChangeMessage enable="true" number="19"/><controlChangeMessage enable="true" number="20"/><controlChangeMessage enable="true" number="21"/><controlChangeMessage enable="true" number="22"/><controlChangeMessage enable="true" number="23"/><controlChangeMessage enable="true" number="24"/><controlChangeMessage enable="true" number="25"/><controlChangeMessage enable="true" number="26"/><controlChangeMessage enable="true" number="27"/><controlChangeMessage enable="true" number="28"/><controlChangeMessage enable="true" number="29"/><controlChangeMessage enable="true" number="30"/><controlChangeMessage enable="true" number="31"/><controlChangeMessage enable="true" number="32"/><controlChangeMessage enable="true" number="33"/><controlChangeMessage enable="true" number="34"/><controlChangeMessage enable="true" number="35"/><controlChangeMessage enable="true" number="36"/><controlChangeMessage enable="true" number="37"/><controlChangeMessage enable="true" number="38"/><controlChangeMessage enable="true" number="39"/><controlChangeMessage enable="true" number="40"/><controlChangeMessage enable="true" number="41"/><controlChangeMessage enable="true" number="42"/><controlChangeMessage enable="true" number="43"/><controlChangeMessage enable="true" number="44"/><controlChangeMessage enable="true" number="45"/><controlChangeMessage enable="true" number="46"/><controlChangeMessage enable="true" number="47"/><controlChangeMessage enable="true" number="48"/><controlChangeMessage enable="true" number="49"/><controlChangeMessage enable="true" number="50"/><controlChangeMessage enable="true" number="51"/><controlChangeMessage enable="true" number="52"/><controlChangeMessage enable="true" number="53"/><controlChangeMessage enable="true" number="54"/><controlChangeMessage enable="true" number="55"/><controlChangeMessage enable="true" number="56"/><controlChangeMessage enable="true" number="57"/><controlChangeMessage enable="true" number="58"/><controlChangeMessage enable="true" number="59"/><controlChangeMessage enable="true" number="60"/><controlChangeMessage enable="true" number="61"/><controlChangeMessage enable="true" number="62"/><controlChangeMessage enable="true" number="63"/><controlChangeMessage enable="true" number="64"/><controlChangeMessage enable="true" number="65"/><controlChangeMessage enable="true" number="66"/><controlChangeMessage enable="true" number="67"/><controlChangeMessage enable="true" number="68"/><controlChangeMessage enable="true" number="69"/><controlChangeMessage enable="true" number="70"/><controlChangeMessage enable="true" number="71"/><controlChangeMessage enable="true" number="72"/><controlChangeMessage enable="true" number="73"/><controlChangeMessage enable="true" number="74"/><controlChangeMessage enable="true" number="75"/><controlChangeMessage enable="true" number="76"/><controlChangeMessage enable="true" number="77"/><controlChangeMessage enable="true" number="78"/><controlChangeMessage enable="true" number="79"/><controlChangeMessage enable="true" number="80"/><controlChangeMessage enable="true" number="81"/><controlChangeMessage enable="true" number="82"/><controlChangeMessage enable="true" number="83"/><controlChangeMessage enable="true" number="84"/><controlChangeMessage enable="true" number="85"/><controlChangeMessage enable="true" number="86"/><controlChangeMessage enable="true" number="87"/><controlChangeMessage enable="true" number="88"/><controlChangeMessage enable="true" number="89"/><controlChangeMessage enable="true" number="90"/><controlChangeMessage enable="true" number="91"/><controlChangeMessage enable="true" number="92"/><controlChangeMessage enable="true" number="93"/><controlChangeMessage enable="true" number="94"/><controlChangeMessage enable="true" number="95"/><controlChangeMessage enable="true" number="96"/><controlChangeMessage enable="true" number="97"/><controlChangeMessage enable="true" number="98"/><controlChangeMessage enable="true" number="99"/><controlChangeMessage enable="true" number="100"/><controlChangeMessage enable="true" number="101"/><controlChangeMessage enable="true" number="102"/><controlChangeMessage enable="true" number="103"/><controlChangeMessage enable="true" number="104"/><controlChangeMessage enable="true" number="105"/><controlChangeMessage enable="true" number="106"/><controlChangeMessage enable="true" number="107"/><controlChangeMessage enable="true" number="108"/><controlChangeMessage enable="true" number="109"/><controlChangeMessage enable="true" number="110"/><controlChangeMessage enable="true" number="111"/><controlChangeMessage enable="true" number="112"/><controlChangeMessage enable="true" number="113"/><controlChangeMessage enable="true" number="114"/><controlChangeMessage enable="true" number="115"/><controlChangeMessage enable="true" number="116"/><controlChangeMessage enable="true" number="117"/><controlChangeMessage enable="true" number="118"/><controlChangeMessage enable="true" number="119"/><controlChangeMessage enable="true" number="120"/><controlChangeMessage enable="true" number="121"/><controlChangeMessage enable="true" number="122"/><controlChangeMessage enable="true" number="123"/><controlChangeMessage enable="true" number="124"/><controlChangeMessage enable="true" number="125"/><controlChangeMessage enable="true" number="126"/><controlChangeMessage enable="true" number="127"/></controlChangeMessages><channels><channel enable="true" number="1"/><channel enable="true" number="2"/><channel enable="true" number="3"/><channel enable="true" number="4"/><channel enable="true" number="5"/><channel enable="true" number="6"/><channel enable="true" number="7"/><channel enable="true" number="8"/><channel enable="true" number="9"/><channel enable="true" number="10"/><channel enable="true" number="11"/><channel enable="true" number="12"/><channel enable="true" number="13"/><channel enable="true" number="14"/><channel enable="true" number="15"/><channel enable="true" number="16"/></channels></voiceMessages><systemCommonMessages enable="true"><systemCommonMessage enable="true" number="240"/><systemCommonMessage enable="true" number="241"/><systemCommonMessage enable="true" number="242"/><systemCommonMessage enable="true" number="243"/><systemCommonMessage enable="true" number="244"/><systemCommonMessage enable="true" number="245"/><systemCommonMessage enable="true" number="246"/><systemCommonMessage enable="true" number="247"/></systemCommonMessages><systemRealtimeMessages enable="true"><systemRealtimeMessage enable="true" number="248"/><systemRealtimeMessage enable="true" number="249"/><systemRealtimeMessage enable="true" number="250"/><systemRealtimeMessage enable="true" number="251"/><systemRealtimeMessage enable="true" number="252"/><systemRealtimeMessage enable="true" number="253"/><systemRealtimeMessage enable="true" number="254"/><systemRealtimeMessage enable="true" number="255"/></systemRealtimeMessages><sysexMessages enable="true"/><metaMessage enable="true"/></midiFilter></midiMonitorFiltered></midiOutPortMonitorDevice><midiInPortMonitorDevice hashCode="846144646" name="MIDI Monitor: IN"><midiMonitorFiltered><midiFilter><voiceMessages enable="true"><voiceMessage enable="false" number="128"/><voiceMessage enable="true" number="144"/><voiceMessage enable="true" number="160"/><voiceMessage enable="true" number="176"/><voiceMessage enable="true" number="192"/><voiceMessage enable="true" number="208"/><voiceMessage enable="true" number="224"/><voiceMessage enable="true" number="240"/><controlChangeMessages><controlChangeMessage enable="true" number="0"/><controlChangeMessage enable="true" number="1"/><controlChangeMessage enable="true" number="2"/><controlChangeMessage enable="true" number="3"/><controlChangeMessage enable="true" number="4"/><controlChangeMessage enable="true" number="5"/><controlChangeMessage enable="true" number="6"/><controlChangeMessage enable="true" number="7"/><controlChangeMessage enable="true" number="8"/><controlChangeMessage enable="true" number="9"/><controlChangeMessage enable="true" number="10"/><controlChangeMessage enable="true" number="11"/><controlChangeMessage enable="true" number="12"/><controlChangeMessage enable="true" number="13"/><controlChangeMessage enable="true" number="14"/><controlChangeMessage enable="true" number="15"/><controlChangeMessage enable="true" number="16"/><controlChangeMessage enable="true" number="17"/><controlChangeMessage enable="true" number="18"/><controlChangeMessage enable="true" number="19"/><controlChangeMessage enable="true" number="20"/><controlChangeMessage enable="true" number="21"/><controlChangeMessage enable="true" number="22"/><controlChangeMessage enable="true" number="23"/><controlChangeMessage enable="true" number="24"/><controlChangeMessage enable="true" number="25"/><controlChangeMessage enable="true" number="26"/><controlChangeMessage enable="true" number="27"/><controlChangeMessage enable="true" number="28"/><controlChangeMessage enable="true" number="29"/><controlChangeMessage enable="true" number="30"/><controlChangeMessage enable="true" number="31"/><controlChangeMessage enable="true" number="32"/><controlChangeMessage enable="true" number="33"/><controlChangeMessage enable="true" number="34"/><controlChangeMessage enable="true" number="35"/><controlChangeMessage enable="true" number="36"/><controlChangeMessage enable="true" number="37"/><controlChangeMessage enable="true" number="38"/><controlChangeMessage enable="true" number="39"/><controlChangeMessage enable="true" number="40"/><controlChangeMessage enable="true" number="41"/><controlChangeMessage enable="true" number="42"/><controlChangeMessage enable="true" number="43"/><controlChangeMessage enable="true" number="44"/><controlChangeMessage enable="true" number="45"/><controlChangeMessage enable="true" number="46"/><controlChangeMessage enable="true" number="47"/><controlChangeMessage enable="true" number="48"/><controlChangeMessage enable="true" number="49"/><controlChangeMessage enable="true" number="50"/><controlChangeMessage enable="true" number="51"/><controlChangeMessage enable="true" number="52"/><controlChangeMessage enable="true" number="53"/><controlChangeMessage enable="true" number="54"/><controlChangeMessage enable="true" number="55"/><controlChangeMessage enable="true" number="56"/><controlChangeMessage enable="true" number="57"/><controlChangeMessage enable="true" number="58"/><controlChangeMessage enable="true" number="59"/><controlChangeMessage enable="true" number="60"/><controlChangeMessage enable="true" number="61"/><controlChangeMessage enable="true" number="62"/><controlChangeMessage enable="true" number="63"/><controlChangeMessage enable="true" number="64"/><controlChangeMessage enable="true" number="65"/><controlChangeMessage enable="true" number="66"/><controlChangeMessage enable="true" number="67"/><controlChangeMessage enable="true" number="68"/><controlChangeMessage enable="true" number="69"/><controlChangeMessage enable="true" number="70"/><controlChangeMessage enable="true" number="71"/><controlChangeMessage enable="true" number="72"/><controlChangeMessage enable="true" number="73"/><controlChangeMessage enable="true" number="74"/><controlChangeMessage enable="true" number="75"/><controlChangeMessage enable="true" number="76"/><controlChangeMessage enable="true" number="77"/><controlChangeMessage enable="true" number="78"/><controlChangeMessage enable="true" number="79"/><controlChangeMessage enable="true" number="80"/><controlChangeMessage enable="true" number="81"/><controlChangeMessage enable="true" number="82"/><controlChangeMessage enable="true" number="83"/><controlChangeMessage enable="true" number="84"/><controlChangeMessage enable="true" number="85"/><controlChangeMessage enable="true" number="86"/><controlChangeMessage enable="true" number="87"/><controlChangeMessage enable="true" number="88"/><controlChangeMessage enable="true" number="89"/><controlChangeMessage enable="true" number="90"/><controlChangeMessage enable="true" number="91"/><controlChangeMessage enable="true" number="92"/><controlChangeMessage enable="true" number="93"/><controlChangeMessage enable="true" number="94"/><controlChangeMessage enable="true" number="95"/><controlChangeMessage enable="true" number="96"/><controlChangeMessage enable="true" number="97"/><controlChangeMessage enable="true" number="98"/><controlChangeMessage enable="true" number="99"/><controlChangeMessage enable="true" number="100"/><controlChangeMessage enable="true" number="101"/><controlChangeMessage enable="true" number="102"/><controlChangeMessage enable="true" number="103"/><controlChangeMessage enable="true" number="104"/><controlChangeMessage enable="true" number="105"/><controlChangeMessage enable="true" number="106"/><controlChangeMessage enable="true" number="107"/><controlChangeMessage enable="true" number="108"/><controlChangeMessage enable="true" number="109"/><controlChangeMessage enable="true" number="110"/><controlChangeMessage enable="true" number="111"/><controlChangeMessage enable="true" number="112"/><controlChangeMessage enable="true" number="113"/><controlChangeMessage enable="true" number="114"/><controlChangeMessage enable="true" number="115"/><controlChangeMessage enable="true" number="116"/><controlChangeMessage enable="true" number="117"/><controlChangeMessage enable="true" number="118"/><controlChangeMessage enable="true" number="119"/><controlChangeMessage enable="true" number="120"/><controlChangeMessage enable="true" number="121"/><controlChangeMessage enable="true" number="122"/><controlChangeMessage enable="true" number="123"/><controlChangeMessage enable="true" number="124"/><controlChangeMessage enable="true" number="125"/><controlChangeMessage enable="true" number="126"/><controlChangeMessage enable="true" number="127"/></controlChangeMessages><channels><channel enable="true" number="1"/><channel enable="true" number="2"/><channel enable="true" number="3"/><channel enable="true" number="4"/><channel enable="true" number="5"/><channel enable="true" number="6"/><channel enable="true" number="7"/><channel enable="true" number="8"/><channel enable="true" number="9"/><channel enable="true" number="10"/><channel enable="true" number="11"/><channel enable="true" number="12"/><channel enable="true" number="13"/><channel enable="true" number="14"/><channel enable="true" number="15"/><channel enable="true" number="16"/></channels></voiceMessages><systemCommonMessages enable="true"><systemCommonMessage enable="true" number="240"/><systemCommonMessage enable="true" number="241"/><systemCommonMessage enable="true" number="242"/><systemCommonMessage enable="true" number="243"/><systemCommonMessage enable="true" number="244"/><systemCommonMessage enable="true" number="245"/><systemCommonMessage enable="true" number="246"/><systemCommonMessage enable="true" number="247"/></systemCommonMessages><systemRealtimeMessages enable="true"><systemRealtimeMessage enable="true" number="248"/><systemRealtimeMessage enable="true" number="249"/><systemRealtimeMessage enable="true" number="250"/><systemRealtimeMessage enable="true" number="251"/><systemRealtimeMessage enable="true" number="252"/><systemRealtimeMessage enable="true" number="253"/><systemRealtimeMessage enable="true" number="254"/><systemRealtimeMessage enable="true" number="255"/></systemRealtimeMessages><sysexMessages enable="true"/><metaMessage enable="true"/></midiFilter></midiMonitorFiltered></midiInPortMonitorDevice><midiKeyboardControllerDevice hashCode="-2132454922" name="MIDI Keyboard Controller"><midiKeyboardController globalChannel="0" velocityVal="100"><midiParameterControls><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="7" receive="true" send="true" status="176" type="0" value="127"/><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="8" receive="true" send="true" status="176" type="0" value="64"/><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="10" receive="true" send="true" status="176" type="0" value="64"/><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="11" receive="true" send="true" status="176" type="0" value="127"/><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="12" receive="true" send="true" status="176" type="0" value="0"/><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="13" receive="true" send="true" status="176" type="0" value="0"/><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="64" receive="true" send="true" status="176" type="1" value="0"/><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="69" receive="true" send="true" status="176" type="1" value="0"/><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="124" receive="true" send="true" status="176" type="1" value="0"/><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="125" receive="true" send="true" status="176" type="1" value="0"/><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="126" receive="true" send="true" status="176" type="1" value="0"/><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="127" receive="true" send="true" status="176" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="24" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="25" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="26" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="27" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="28" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="29" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="30" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="31" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="32" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="33" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="34" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="35" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="36" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="37" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="38" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="39" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="40" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="41" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="42" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="43" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="44" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="45" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="46" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="47" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="48" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="49" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="50" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="51" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="52" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="53" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="54" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="55" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="56" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="57" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="58" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="59" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="60" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="61" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="62" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="63" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="64" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="65" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="66" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="67" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="68" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="69" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="70" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="71" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="72" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="73" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="74" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="75" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="76" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="77" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="78" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="79" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="80" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="81" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="82" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="83" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="84" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="85" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="86" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="87" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="88" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="89" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="90" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="91" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="92" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="93" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="94" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="95" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="0" global="true" highResolution="true" learn="false" number="0" receive="false" send="true" status="176" type="0" value="0"/><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="0" receive="false" send="true" status="192" type="0" value="0"/><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="1" receive="true" send="true" status="176" type="0" value="0"/><midiParameterControl channel="0" defaultValue="8192" global="true" highResolution="false" learn="false" number="0" receive="true" send="true" status="224" type="0" value="8191"/></midiParameterControls></midiKeyboardController></midiKeyboardControllerDevice><hexFileUploadDeviceManager><hexFileUploadDevices/></hexFileUploadDeviceManager><lcdMessageDevice hashCode="-1809423148" name="MIOS LCD Message"><lcdMessage deviceID="0" lcdHeight="2" lcdWidth="16" loop="false" mios32Mode="false" mode="0" posX="0" posY="0"><messageText/></lcdMessage></lcdMessageDevice><debugFunctionDevice hashCode="1801647845" name="MIOS Debug Function"><debugFunction delayTime="300" deviceID="0" mios32Mode="false" mode="1" sramReadAddress="0" sramReadCounter="0" sramWriteAddress="0" sramWriteData="0"><debugFunctionParameters><debugFunctionParameters address="0" param1="0" param2="0" param3="0" wreg="0"/></debugFunctionParameters></debugFunction></debugFunctionDevice><miosTeminalDevice hashCode="1534315068" name="MIOS Terminal"><midiMonitorFiltered><midiFilter><voiceMessages enable="true"><voiceMessage enable="false" number="128"/><voiceMessage enable="false" number="144"/><voiceMessage enable="false" number="160"/><voiceMessage enable="false" number="176"/><voiceMessage enable="false" number="192"/><voiceMessage enable="false" number="208"/><voiceMessage enable="false" number="224"/><voiceMessage enable="true" number="240"/><controlChangeMessages><controlChangeMessage enable="true" number="0"/><controlChangeMessage enable="true" number="1"/><controlChangeMessage enable="true" number="2"/><controlChangeMessage enable="true" number="3"/><controlChangeMessage enable="true" number="4"/><controlChangeMessage enable="true" number="5"/><controlChangeMessage enable="true" number="6"/><controlChangeMessage enable="true" number="7"/><controlChangeMessage enable="true" number="8"/><controlChangeMessage enable="true" number="9"/><controlChangeMessage enable="true" number="10"/><controlChangeMessage enable="true" number="11"/><controlChangeMessage enable="true" number="12"/><controlChangeMessage enable="true" number="13"/><controlChangeMessage enable="true" number="14"/><controlChangeMessage enable="true" number="15"/><controlChangeMessage enable="true" number="16"/><controlChangeMessage enable="true" number="17"/><controlChangeMessage enable="true" number="18"/><controlChangeMessage enable="true" number="19"/><controlChangeMessage enable="true" number="20"/><controlChangeMessage enable="true" number="21"/><controlChangeMessage enable="true" number="22"/><controlChangeMessage enable="true" number="23"/><controlChangeMessage enable="true" number="24"/><controlChangeMessage enable="true" number="25"/><controlChangeMessage enable="true" number="26"/><controlChangeMessage enable="true" number="27"/><controlChangeMessage enable="true" number="28"/><controlChangeMessage enable="true" number="29"/><controlChangeMessage enable="true" number="30"/><controlChangeMessage enable="true" number="31"/><controlChangeMessage enable="true" number="32"/><controlChangeMessage enable="true" number="33"/><controlChangeMessage enable="true" number="34"/><controlChangeMessage enable="true" number="35"/><controlChangeMessage enable="true" number="36"/><controlChangeMessage enable="true" number="37"/><controlChangeMessage enable="true" number="38"/><controlChangeMessage enable="true" number="39"/><controlChangeMessage enable="true" number="40"/><controlChangeMessage enable="true" number="41"/><controlChangeMessage enable="true" number="42"/><controlChangeMessage enable="true" number="43"/><controlChangeMessage enable="true" number="44"/><controlChangeMessage enable="true" number="45"/><controlChangeMessage enable="true" number="46"/><controlChangeMessage enable="true" number="47"/><controlChangeMessage enable="true" number="48"/><controlChangeMessage enable="true" number="49"/><controlChangeMessage enable="true" number="50"/><controlChangeMessage enable="true" number="51"/><controlChangeMessage enable="true" number="52"/><controlChangeMessage enable="true" number="53"/><controlChangeMessage enable="true" number="54"/><controlChangeMessage enable="true" number="55"/><controlChangeMessage enable="true" number="56"/><controlChangeMessage enable="true" number="57"/><controlChangeMessage enable="true" number="58"/><controlChangeMessage enable="true" number="59"/><controlChangeMessage enable="true" number="60"/><controlChangeMessage enable="true" number="61"/><controlChangeMessage enable="true" number="62"/><controlChangeMessage enable="true" number="63"/><controlChangeMessage enable="true" number="64"/><controlChangeMessage enable="true" number="65"/><controlChangeMessage enable="true" number="66"/><controlChangeMessage enable="true" number="67"/><controlChangeMessage enable="true" number="68"/><controlChangeMessage enable="true" number="69"/><controlChangeMessage enable="true" number="70"/><controlChangeMessage enable="true" number="71"/><controlChangeMessage enable="true" number="72"/><controlChangeMessage enable="true" number="73"/><controlChangeMessage enable="true" number="74"/><controlChangeMessage enable="true" number="75"/><controlChangeMessage enable="true" number="76"/><controlChangeMessage enable="true" number="77"/><controlChangeMessage enable="true" number="78"/><controlChangeMessage enable="true" number="79"/><controlChangeMessage enable="true" number="80"/><controlChangeMessage enable="true" number="81"/><controlChangeMessage enable="true" number="82"/><controlChangeMessage enable="true" number="83"/><controlChangeMessage enable="true" number="84"/><controlChangeMessage enable="true" number="85"/><controlChangeMessage enable="true" number="86"/><controlChangeMessage enable="true" number="87"/><controlChangeMessage enable="true" number="88"/><controlChangeMessage enable="true" number="89"/><controlChangeMessage enable="true" number="90"/><controlChangeMessage enable="true" number="91"/><controlChangeMessage enable="true" number="92"/><controlChangeMessage enable="true" number="93"/><controlChangeMessage enable="true" number="94"/><controlChangeMessage enable="true" number="95"/><controlChangeMessage enable="true" number="96"/><controlChangeMessage enable="true" number="97"/><controlChangeMessage enable="true" number="98"/><controlChangeMessage enable="true" number="99"/><controlChangeMessage enable="true" number="100"/><controlChangeMessage enable="true" number="101"/><controlChangeMessage enable="true" number="102"/><controlChangeMessage enable="true" number="103"/><controlChangeMessage enable="true" number="104"/><controlChangeMessage enable="true" number="105"/><controlChangeMessage enable="true" number="106"/><controlChangeMessage enable="true" number="107"/><controlChangeMessage enable="true" number="108"/><controlChangeMessage enable="true" number="109"/><controlChangeMessage enable="true" number="110"/><controlChangeMessage enable="true" number="111"/><controlChangeMessage enable="true" number="112"/><controlChangeMessage enable="true" number="113"/><controlChangeMessage enable="true" number="114"/><controlChangeMessage enable="true" number="115"/><controlChangeMessage enable="true" number="116"/><controlChangeMessage enable="true" number="117"/><controlChangeMessage enable="true" number="118"/><controlChangeMessage enable="true" number="119"/><controlChangeMessage enable="true" number="120"/><controlChangeMessage enable="true" number="121"/><controlChangeMessage enable="true" number="122"/><controlChangeMessage enable="true" number="123"/><controlChangeMessage enable="true" number="124"/><controlChangeMessage enable="true" number="125"/><controlChangeMessage enable="true" number="126"/><controlChangeMessage enable="true" number="127"/></controlChangeMessages><channels><channel enable="true" number="1"/><channel enable="true" number="2"/><channel enable="true" number="3"/><channel enable="true" number="4"/><channel enable="true" number="5"/><channel enable="true" number="6"/><channel enable="true" number="7"/><channel enable="true" number="8"/><channel enable="true" number="9"/><channel enable="true" number="10"/><channel enable="true" number="11"/><channel enable="true" number="12"/><channel enable="true" number="13"/><channel enable="true" number="14"/><channel enable="true" number="15"/><channel enable="true" number="16"/></channels></voiceMessages><systemCommonMessages enable="true"><systemCommonMessage enable="true" number="240"/><systemCommonMessage enable="false" number="241"/><systemCommonMessage enable="false" number="242"/><systemCommonMessage enable="false" number="243"/><systemCommonMessage enable="true" number="244"/><systemCommonMessage enable="true" number="245"/><systemCommonMessage enable="false" number="246"/><systemCommonMessage enable="true" number="247"/></systemCommonMessages><systemRealtimeMessages enable="true"><systemRealtimeMessage enable="false" number="248"/><systemRealtimeMessage enable="true" number="249"/><systemRealtimeMessage enable="false" number="250"/><systemRealtimeMessage enable="false" number="251"/><systemRealtimeMessage enable="false" number="252"/><systemRealtimeMessage enable="true" number="253"/><systemRealtimeMessage enable="false" number="254"/><systemRealtimeMessage enable="false" number="255"/></systemRealtimeMessages><sysexMessages enable="true"/><metaMessage enable="true"/></midiFilter></midiMonitorFiltered></miosTeminalDevice><midiDeviceRouting portsReleased="false"><logicalConnections><logicalConnection><sourceMidiDevice hashCode="1929408018" name="MIOS Studio In Port"/><targetMidiDevice hashCode="-1860208521" name="MIOS Studio Thru Filter"/></logicalConnection><logicalConnection><sourceMidiDevice hashCode="-1860208521" name="MIOS Studio Thru Filter"/><targetMidiDevice hashCode="-792692416" name="MIOS Studio Thru Port"/></logicalConnection><logicalConnection><sourceMidiDevice hashCode="1929408018" name="MIOS Studio In Port"/><targetMidiDevice hashCode="846144646" name="MIDI Monitor: IN"/></logicalConnection><logicalConnection><sourceMidiDevice hashCode="1531218333" name="MIOS Studio Out Port"/><targetMidiDevice hashCode="460686317" name="MIDI Monitor: OUT"/></logicalConnection><logicalConnection><sourceMidiDevice hashCode="1929408018" name="MIOS Studio In Port"/><targetMidiDevice hashCode="-2132454922" name="MIDI Keyboard Controller"/></logicalConnection><logicalConnection><sourceMidiDevice hashCode="-2132454922" name="MIDI Keyboard Controller"/><targetMidiDevice hashCode="1531218333" name="MIOS Studio Out Port"/></logicalConnection><logicalConnection><sourceMidiDevice hashCode="-1809423148" name="MIOS LCD Message"/><targetMidiDevice hashCode="1531218333" name="MIOS Studio Out Port"/></logicalConnection><logicalConnection><sourceMidiDevice hashCode="1929408018" name="MIOS Studio In Port"/><targetMidiDevice hashCode="1801647845" name="MIOS Debug Function"/></logicalConnection><logicalConnection><sourceMidiDevice hashCode="1801647845" name="MIOS Debug Function"/><targetMidiDevice hashCode="1531218333" name="MIOS Studio Out Port"/></logicalConnection><logicalConnection><sourceMidiDevice hashCode="1929408018" name="MIOS Studio In Port"/><targetMidiDevice hashCode="1534315068" name="MIOS Terminal"/></logicalConnection><logicalConnection><sourceMidiDevice hashCode="-2113784367" name="SB Live! MIDI UART"/><targetMidiDevice hashCode="1929408018" name="MIOS Studio In Port"/></logicalConnection><logicalConnection><sourceMidiDevice hashCode="1531218333" name="MIOS Studio Out Port"/><targetMidiDevice hashCode="-2113784367" name="SB Live! MIDI UART"/></logicalConnection></logicalConnections></midiDeviceRouting></miosStudio>
<?xml version="1.0" encoding="UTF-8" standalone="no"?><miosStudio midiThruOutPort="true" routeIndividualDevices="false"><thruMidiFilterDevice hashCode="-1860208521" name="MIOS Studio Thru Filter"><midiFilter><voiceMessages enable="true"><voiceMessage enable="true" number="128"/><voiceMessage enable="true" number="144"/><voiceMessage enable="true" number="160"/><voiceMessage enable="true" number="176"/><voiceMessage enable="true" number="192"/><voiceMessage enable="true" number="208"/><voiceMessage enable="true" number="224"/><voiceMessage enable="true" number="240"/><controlChangeMessages><controlChangeMessage enable="true" number="0"/><controlChangeMessage enable="true" number="1"/><controlChangeMessage enable="true" number="2"/><controlChangeMessage enable="true" number="3"/><controlChangeMessage enable="true" number="4"/><controlChangeMessage enable="true" number="5"/><controlChangeMessage enable="true" number="6"/><controlChangeMessage enable="true" number="7"/><controlChangeMessage enable="true" number="8"/><controlChangeMessage enable="true" number="9"/><controlChangeMessage enable="true" number="10"/><controlChangeMessage enable="true" number="11"/><controlChangeMessage enable="true" number="12"/><controlChangeMessage enable="true" number="13"/><controlChangeMessage enable="true" number="14"/><controlChangeMessage enable="true" number="15"/><controlChangeMessage enable="true" number="16"/><controlChangeMessage enable="true" number="17"/><controlChangeMessage enable="true" number="18"/><controlChangeMessage enable="true" number="19"/><controlChangeMessage enable="true" number="20"/><controlChangeMessage enable="true" number="21"/><controlChangeMessage enable="true" number="22"/><controlChangeMessage enable="true" number="23"/><controlChangeMessage enable="true" number="24"/><controlChangeMessage enable="true" number="25"/><controlChangeMessage enable="true" number="26"/><controlChangeMessage enable="true" number="27"/><controlChangeMessage enable="true" number="28"/><controlChangeMessage enable="true" number="29"/><controlChangeMessage enable="true" number="30"/><controlChangeMessage enable="true" number="31"/><controlChangeMessage enable="true" number="32"/><controlChangeMessage enable="true" number="33"/><controlChangeMessage enable="true" number="34"/><controlChangeMessage enable="true" number="35"/><controlChangeMessage enable="true" number="36"/><controlChangeMessage enable="true" number="37"/><controlChangeMessage enable="true" number="38"/><controlChangeMessage enable="true" number="39"/><controlChangeMessage enable="true" number="40"/><controlChangeMessage enable="true" number="41"/><controlChangeMessage enable="true" number="42"/><controlChangeMessage enable="true" number="43"/><controlChangeMessage enable="true" number="44"/><controlChangeMessage enable="true" number="45"/><controlChangeMessage enable="true" number="46"/><controlChangeMessage enable="true" number="47"/><controlChangeMessage enable="true" number="48"/><controlChangeMessage enable="true" number="49"/><controlChangeMessage enable="true" number="50"/><controlChangeMessage enable="true" number="51"/><controlChangeMessage enable="true" number="52"/><controlChangeMessage enable="true" number="53"/><controlChangeMessage enable="true" number="54"/><controlChangeMessage enable="true" number="55"/><controlChangeMessage enable="true" number="56"/><controlChangeMessage enable="true" number="57"/><controlChangeMessage enable="true" number="58"/><controlChangeMessage enable="true" number="59"/><controlChangeMessage enable="true" number="60"/><controlChangeMessage enable="true" number="61"/><controlChangeMessage enable="true" number="62"/><controlChangeMessage enable="true" number="63"/><controlChangeMessage enable="true" number="64"/><controlChangeMessage enable="true" number="65"/><controlChangeMessage enable="true" number="66"/><controlChangeMessage enable="true" number="67"/><controlChangeMessage enable="true" number="68"/><controlChangeMessage enable="true" number="69"/><controlChangeMessage enable="true" number="70"/><controlChangeMessage enable="true" number="71"/><controlChangeMessage enable="true" number="72"/><controlChangeMessage enable="true" number="73"/><controlChangeMessage enable="true" number="74"/><controlChangeMessage enable="true" number="75"/><controlChangeMessage enable="true" number="76"/><controlChangeMessage enable="true" number="77"/><controlChangeMessage enable="true" number="78"/><controlChangeMessage enable="true" number="79"/><controlChangeMessage enable="true" number="80"/><controlChangeMessage enable="true" number="81"/><controlChangeMessage enable="true" number="82"/><controlChangeMessage enable="true" number="83"/><controlChangeMessage enable="true" number="84"/><controlChangeMessage enable="true" number="85"/><controlChangeMessage enable="true" number="86"/><controlChangeMessage enable="true" number="87"/><controlChangeMessage enable="true" number="88"/><controlChangeMessage enable="true" number="89"/><controlChangeMessage enable="true" number="90"/><controlChangeMessage enable="true" number="91"/><controlChangeMessage enable="true" number="92"/><controlChangeMessage enable="true" number="93"/><controlChangeMessage enable="true" number="94"/><controlChangeMessage enable="true" number="95"/><controlChangeMessage enable="true" number="96"/><controlChangeMessage enable="true" number="97"/><controlChangeMessage enable="true" number="98"/><controlChangeMessage enable="true" number="99"/><controlChangeMessage enable="true" number="100"/><controlChangeMessage enable="true" number="101"/><controlChangeMessage enable="true" number="102"/><controlChangeMessage enable="true" number="103"/><controlChangeMessage enable="true" number="104"/><controlChangeMessage enable="true" number="105"/><controlChangeMessage enable="true" number="106"/><controlChangeMessage enable="true" number="107"/><controlChangeMessage enable="true" number="108"/><controlChangeMessage enable="true" number="109"/><controlChangeMessage enable="true" number="110"/><controlChangeMessage enable="true" number="111"/><controlChangeMessage enable="true" number="112"/><controlChangeMessage enable="true" number="113"/><controlChangeMessage enable="true" number="114"/><controlChangeMessage enable="true" number="115"/><controlChangeMessage enable="true" number="116"/><controlChangeMessage enable="true" number="117"/><controlChangeMessage enable="true" number="118"/><controlChangeMessage enable="true" number="119"/><controlChangeMessage enable="true" number="120"/><controlChangeMessage enable="true" number="121"/><controlChangeMessage enable="true" number="122"/><controlChangeMessage enable="true" number="123"/><controlChangeMessage enable="true" number="124"/><controlChangeMessage enable="true" number="125"/><controlChangeMessage enable="true" number="126"/><controlChangeMessage enable="true" number="127"/></controlChangeMessages><channels><channel enable="true" number="1"/><channel enable="true" number="2"/><channel enable="true" number="3"/><channel enable="true" number="4"/><channel enable="true" number="5"/><channel enable="true" number="6"/><channel enable="true" number="7"/><channel enable="true" number="8"/><channel enable="true" number="9"/><channel enable="true" number="10"/><channel enable="true" number="11"/><channel enable="true" number="12"/><channel enable="true" number="13"/><channel enable="true" number="14"/><channel enable="true" number="15"/><channel enable="true" number="16"/></channels></voiceMessages><systemCommonMessages enable="true"><systemCommonMessage enable="true" number="240"/><systemCommonMessage enable="true" number="241"/><systemCommonMessage enable="true" number="242"/><systemCommonMessage enable="true" number="243"/><systemCommonMessage enable="true" number="244"/><systemCommonMessage enable="true" number="245"/><systemCommonMessage enable="true" number="246"/><systemCommonMessage enable="true" number="247"/></systemCommonMessages><systemRealtimeMessages enable="true"><systemRealtimeMessage enable="true" number="248"/><systemRealtimeMessage enable="true" number="249"/><systemRealtimeMessage enable="true" number="250"/><systemRealtimeMessage enable="true" number="251"/><systemRealtimeMessage enable="true" number="252"/><systemRealtimeMessage enable="true" number="253"/><systemRealtimeMessage enable="true" number="254"/><systemRealtimeMessage enable="true" number="255"/></systemRealtimeMessages><sysexMessages enable="true"/><metaMessage enable="true"/></midiFilter></thruMidiFilterDevice><midiDeviceManager><selectedMidiReadDevices><selectedMidiReadDevice hashCode="1125014476" name="In From MIDI Yoke: 2"/></selectedMidiReadDevices><selectedMidiWriteDevices><selectedMidiWriteDevice hashCode="1301007571" name="Out To MIDI Yoke: 1"/></selectedMidiWriteDevices></midiDeviceManager><midiFilterDeviceManager><midiFilterDevices><midiFilterDevice hashCode="-2043809848" name="MIDI Filter 1"><midiFilter><voiceMessages enable="true"><voiceMessage enable="true" number="128"/><voiceMessage enable="true" number="144"/><voiceMessage enable="true" number="160"/><voiceMessage enable="true" number="176"/><voiceMessage enable="true" number="192"/><voiceMessage enable="true" number="208"/><voiceMessage enable="true" number="224"/><voiceMessage enable="true" number="240"/><controlChangeMessages><controlChangeMessage enable="true" number="0"/><controlChangeMessage enable="true" number="1"/><controlChangeMessage enable="true" number="2"/><controlChangeMessage enable="true" number="3"/><controlChangeMessage enable="true" number="4"/><controlChangeMessage enable="true" number="5"/><controlChangeMessage enable="true" number="6"/><controlChangeMessage enable="true" number="7"/><controlChangeMessage enable="true" number="8"/><controlChangeMessage enable="true" number="9"/><controlChangeMessage enable="true" number="10"/><controlChangeMessage enable="true" number="11"/><controlChangeMessage enable="true" number="12"/><controlChangeMessage enable="true" number="13"/><controlChangeMessage enable="true" number="14"/><controlChangeMessage enable="true" number="15"/><controlChangeMessage enable="true" number="16"/><controlChangeMessage enable="true" number="17"/><controlChangeMessage enable="true" number="18"/><controlChangeMessage enable="true" number="19"/><controlChangeMessage enable="true" number="20"/><controlChangeMessage enable="true" number="21"/><controlChangeMessage enable="true" number="22"/><controlChangeMessage enable="true" number="23"/><controlChangeMessage enable="true" number="24"/><controlChangeMessage enable="true" number="25"/><controlChangeMessage enable="true" number="26"/><controlChangeMessage enable="true" number="27"/><controlChangeMessage enable="true" number="28"/><controlChangeMessage enable="true" number="29"/><controlChangeMessage enable="true" number="30"/><controlChangeMessage enable="true" number="31"/><controlChangeMessage enable="true" number="32"/><controlChangeMessage enable="true" number="33"/><controlChangeMessage enable="true" number="34"/><controlChangeMessage enable="true" number="35"/><controlChangeMessage enable="true" number="36"/><controlChangeMessage enable="true" number="37"/><controlChangeMessage enable="true" number="38"/><controlChangeMessage enable="true" number="39"/><controlChangeMessage enable="true" number="40"/><controlChangeMessage enable="true" number="41"/><controlChangeMessage enable="true" number="42"/><controlChangeMessage enable="true" number="43"/><controlChangeMessage enable="true" number="44"/><controlChangeMessage enable="true" number="45"/><controlChangeMessage enable="true" number="46"/><controlChangeMessage enable="true" number="47"/><controlChangeMessage enable="true" number="48"/><controlChangeMessage enable="true" number="49"/><controlChangeMessage enable="true" number="50"/><controlChangeMessage enable="true" number="51"/><controlChangeMessage enable="true" number="52"/><controlChangeMessage enable="true" number="53"/><controlChangeMessage enable="true" number="54"/><controlChangeMessage enable="true" number="55"/><controlChangeMessage enable="true" number="56"/><controlChangeMessage enable="true" number="57"/><controlChangeMessage enable="true" number="58"/><controlChangeMessage enable="true" number="59"/><controlChangeMessage enable="true" number="60"/><controlChangeMessage enable="true" number="61"/><controlChangeMessage enable="true" number="62"/><controlChangeMessage enable="true" number="63"/><controlChangeMessage enable="true" number="64"/><controlChangeMessage enable="true" number="65"/><controlChangeMessage enable="true" number="66"/><controlChangeMessage enable="true" number="67"/><controlChangeMessage enable="true" number="68"/><controlChangeMessage enable="true" number="69"/><controlChangeMessage enable="true" number="70"/><controlChangeMessage enable="true" number="71"/><controlChangeMessage enable="true" number="72"/><controlChangeMessage enable="true" number="73"/><controlChangeMessage enable="true" number="74"/><controlChangeMessage enable="true" number="75"/><controlChangeMessage enable="true" number="76"/><controlChangeMessage enable="true" number="77"/><controlChangeMessage enable="true" number="78"/><controlChangeMessage enable="true" number="79"/><controlChangeMessage enable="true" number="80"/><controlChangeMessage enable="true" number="81"/><controlChangeMessage enable="true" number="82"/><controlChangeMessage enable="true" number="83"/><controlChangeMessage enable="true" number="84"/><controlChangeMessage enable="true" number="85"/><controlChangeMessage enable="true" number="86"/><controlChangeMessage enable="true" number="87"/><controlChangeMessage enable="true" number="88"/><controlChangeMessage enable="true" number="89"/><controlChangeMessage enable="true" number="90"/><controlChangeMessage enable="true" number="91"/><controlChangeMessage enable="true" number="92"/><controlChangeMessage enable="true" number="93"/><controlChangeMessage enable="true" number="94"/><controlChangeMessage enable="true" number="95"/><controlChangeMessage enable="true" number="96"/><controlChangeMessage enable="true" number="97"/><controlChangeMessage enable="true" number="98"/><controlChangeMessage enable="true" number="99"/><controlChangeMessage enable="true" number="100"/><controlChangeMessage enable="true" number="101"/><controlChangeMessage enable="true" number="102"/><controlChangeMessage enable="true" number="103"/><controlChangeMessage enable="true" number="104"/><controlChangeMessage enable="true" number="105"/><controlChangeMessage enable="true" number="106"/><controlChangeMessage enable="true" number="107"/><controlChangeMessage enable="true" number="108"/><controlChangeMessage enable="true" number="109"/><controlChangeMessage enable="true" number="110"/><controlChangeMessage enable="true" number="111"/><controlChangeMessage enable="true" number="112"/><controlChangeMessage enable="true" number="113"/><controlChangeMessage enable="true" number="114"/><controlChangeMessage enable="true" number="115"/><controlChangeMessage enable="true" number="116"/><controlChangeMessage enable="true" number="117"/><controlChangeMessage enable="true" number="118"/><controlChangeMessage enable="true" number="119"/><controlChangeMessage enable="true" number="120"/><controlChangeMessage enable="true" number="121"/><controlChangeMessage enable="true" number="122"/><controlChangeMessage enable="true" number="123"/><controlChangeMessage enable="true" number="124"/><controlChangeMessage enable="true" number="125"/><controlChangeMessage enable="true" number="126"/><controlChangeMessage enable="true" number="127"/></controlChangeMessages><channels><channel enable="true" number="1"/><channel enable="true" number="2"/><channel enable="true" number="3"/><channel enable="true" number="4"/><channel enable="true" number="5"/><channel enable="true" number="6"/><channel enable="true" number="7"/><channel enable="true" number="8"/><channel enable="true" number="9"/><channel enable="true" number="10"/><channel enable="true" number="11"/><channel enable="true" number="12"/><channel enable="true" number="13"/><channel enable="true" number="14"/><channel enable="true" number="15"/><channel enable="true" number="16"/></channels></voiceMessages><systemCommonMessages enable="true"><systemCommonMessage enable="true" number="240"/><systemCommonMessage enable="true" number="241"/><systemCommonMessage enable="true" number="242"/><systemCommonMessage enable="true" number="243"/><systemCommonMessage enable="true" number="244"/><systemCommonMessage enable="true" number="245"/><systemCommonMessage enable="true" number="246"/><systemCommonMessage enable="true" number="247"/></systemCommonMessages><systemRealtimeMessages enable="true"><systemRealtimeMessage enable="true" number="248"/><systemRealtimeMessage enable="true" number="249"/><systemRealtimeMessage enable="true" number="250"/><systemRealtimeMessage enable="true" number="251"/><systemRealtimeMessage enable="true" number="252"/><systemRealtimeMessage enable="true" number="253"/><systemRealtimeMessage enable="true" number="254"/><systemRealtimeMessage enable="true" number="255"/></systemRealtimeMessages><sysexMessages enable="true"/><metaMessage enable="true"/></midiFilter></midiFilterDevice><midiFilterDevice hashCode="-2043809847" name="MIDI Filter 2"><midiFilter><voiceMessages enable="true"><voiceMessage enable="true" number="128"/><voiceMessage enable="true" number="144"/><voiceMessage enable="true" number="160"/><voiceMessage enable="true" number="176"/><voiceMessage enable="true" number="192"/><voiceMessage enable="true" number="208"/><voiceMessage enable="true" number="224"/><voiceMessage enable="true" number="240"/><controlChangeMessages><controlChangeMessage enable="true" number="0"/><controlChangeMessage enable="true" number="1"/><controlChangeMessage enable="true" number="2"/><controlChangeMessage enable="true" number="3"/><controlChangeMessage enable="true" number="4"/><controlChangeMessage enable="true" number="5"/><controlChangeMessage enable="true" number="6"/><controlChangeMessage enable="true" number="7"/><controlChangeMessage enable="true" number="8"/><controlChangeMessage enable="true" number="9"/><controlChangeMessage enable="true" number="10"/><controlChangeMessage enable="true" number="11"/><controlChangeMessage enable="true" number="12"/><controlChangeMessage enable="true" number="13"/><controlChangeMessage enable="true" number="14"/><controlChangeMessage enable="true" number="15"/><controlChangeMessage enable="true" number="16"/><controlChangeMessage enable="true" number="17"/><controlChangeMessage enable="true" number="18"/><controlChangeMessage enable="true" number="19"/><controlChangeMessage enable="true" number="20"/><controlChangeMessage enable="true" number="21"/><controlChangeMessage enable="true" number="22"/><controlChangeMessage enable="true" number="23"/><controlChangeMessage enable="true" number="24"/><controlChangeMessage enable="true" number="25"/><controlChangeMessage enable="true" number="26"/><controlChangeMessage enable="true" number="27"/><controlChangeMessage enable="true" number="28"/><controlChangeMessage enable="true" number="29"/><controlChangeMessage enable="true" number="30"/><controlChangeMessage enable="true" number="31"/><controlChangeMessage enable="true" number="32"/><controlChangeMessage enable="true" number="33"/><controlChangeMessage enable="true" number="34"/><controlChangeMessage enable="true" number="35"/><controlChangeMessage enable="true" number="36"/><controlChangeMessage enable="true" number="37"/><controlChangeMessage enable="true" number="38"/><controlChangeMessage enable="true" number="39"/><controlChangeMessage enable="true" number="40"/><controlChangeMessage enable="true" number="41"/><controlChangeMessage enable="true" number="42"/><controlChangeMessage enable="true" number="43"/><controlChangeMessage enable="true" number="44"/><controlChangeMessage enable="true" number="45"/><controlChangeMessage enable="true" number="46"/><controlChangeMessage enable="true" number="47"/><controlChangeMessage enable="true" number="48"/><controlChangeMessage enable="true" number="49"/><controlChangeMessage enable="true" number="50"/><controlChangeMessage enable="true" number="51"/><controlChangeMessage enable="true" number="52"/><controlChangeMessage enable="true" number="53"/><controlChangeMessage enable="true" number="54"/><controlChangeMessage enable="true" number="55"/><controlChangeMessage enable="true" number="56"/><controlChangeMessage enable="true" number="57"/><controlChangeMessage enable="true" number="58"/><controlChangeMessage enable="true" number="59"/><controlChangeMessage enable="true" number="60"/><controlChangeMessage enable="true" number="61"/><controlChangeMessage enable="true" number="62"/><controlChangeMessage enable="true" number="63"/><controlChangeMessage enable="true" number="64"/><controlChangeMessage enable="true" number="65"/><controlChangeMessage enable="true" number="66"/><controlChangeMessage enable="true" number="67"/><controlChangeMessage enable="true" number="68"/><controlChangeMessage enable="true" number="69"/><controlChangeMessage enable="true" number="70"/><controlChangeMessage enable="true" number="71"/><controlChangeMessage enable="true" number="72"/><controlChangeMessage enable="true" number="73"/><controlChangeMessage enable="true" number="74"/><controlChangeMessage enable="true" number="75"/><controlChangeMessage enable="true" number="76"/><controlChangeMessage enable="true" number="77"/><controlChangeMessage enable="true" number="78"/><controlChangeMessage enable="true" number="79"/><controlChangeMessage enable="true" number="80"/><controlChangeMessage enable="true" number="81"/><controlChangeMessage enable="true" number="82"/><controlChangeMessage enable="true" number="83"/><controlChangeMessage enable="true" number="84"/><controlChangeMessage enable="true" number="85"/><controlChangeMessage enable="true" number="86"/><controlChangeMessage enable="true" number="87"/><controlChangeMessage enable="true" number="88"/><controlChangeMessage enable="true" number="89"/><controlChangeMessage enable="true" number="90"/><controlChangeMessage enable="true" number="91"/><controlChangeMessage enable="true" number="92"/><controlChangeMessage enable="true" number="93"/><controlChangeMessage enable="true" number="94"/><controlChangeMessage enable="true" number="95"/><controlChangeMessage enable="true" number="96"/><controlChangeMessage enable="true" number="97"/><controlChangeMessage enable="true" number="98"/><controlChangeMessage enable="true" number="99"/><controlChangeMessage enable="true" number="100"/><controlChangeMessage enable="true" number="101"/><controlChangeMessage enable="true" number="102"/><controlChangeMessage enable="true" number="103"/><controlChangeMessage enable="true" number="104"/><controlChangeMessage enable="true" number="105"/><controlChangeMessage enable="true" number="106"/><controlChangeMessage enable="true" number="107"/><controlChangeMessage enable="true" number="108"/><controlChangeMessage enable="true" number="109"/><controlChangeMessage enable="true" number="110"/><controlChangeMessage enable="true" number="111"/><controlChangeMessage enable="true" number="112"/><controlChangeMessage enable="true" number="113"/><controlChangeMessage enable="true" number="114"/><controlChangeMessage enable="true" number="115"/><controlChangeMessage enable="true" number="116"/><controlChangeMessage enable="true" number="117"/><controlChangeMessage enable="true" number="118"/><controlChangeMessage enable="true" number="119"/><controlChangeMessage enable="true" number="120"/><controlChangeMessage enable="true" number="121"/><controlChangeMessage enable="true" number="122"/><controlChangeMessage enable="true" number="123"/><controlChangeMessage enable="true" number="124"/><controlChangeMessage enable="true" number="125"/><controlChangeMessage enable="true" number="126"/><controlChangeMessage enable="true" number="127"/></controlChangeMessages><channels><channel enable="true" number="1"/><channel enable="true" number="2"/><channel enable="true" number="3"/><channel enable="true" number="4"/><channel enable="true" number="5"/><channel enable="true" number="6"/><channel enable="true" number="7"/><channel enable="true" number="8"/><channel enable="true" number="9"/><channel enable="true" number="10"/><channel enable="true" number="11"/><channel enable="true" number="12"/><channel enable="true" number="13"/><channel enable="true" number="14"/><channel enable="true" number="15"/><channel enable="true" number="16"/></channels></voiceMessages><systemCommonMessages enable="true"><systemCommonMessage enable="true" number="240"/><systemCommonMessage enable="false" number="241"/><systemCommonMessage enable="true" number="242"/><systemCommonMessage enable="true" number="243"/><systemCommonMessage enable="true" number="244"/><systemCommonMessage enable="true" number="245"/><systemCommonMessage enable="true" number="246"/><systemCommonMessage enable="true" number="247"/></systemCommonMessages><systemRealtimeMessages enable="true"><systemRealtimeMessage enable="true" number="248"/><systemRealtimeMessage enable="true" number="249"/><systemRealtimeMessage enable="false" number="250"/><systemRealtimeMessage enable="true" number="251"/><systemRealtimeMessage enable="true" number="252"/><systemRealtimeMessage enable="true" number="253"/><systemRealtimeMessage enable="true" number="254"/><systemRealtimeMessage enable="true" number="255"/></systemRealtimeMessages><sysexMessages enable="true"/><metaMessage enable="true"/></midiFilter></midiFilterDevice></midiFilterDevices></midiFilterDeviceManager><outPortMidiMonitorFilteredDevice hashCode="460686317" name="MIDI Monitor: OUT"><midiMonitorFiltered><midiFilter><voiceMessages enable="true"><voiceMessage enable="true" number="128"/><voiceMessage enable="true" number="144"/><voiceMessage enable="true" number="160"/><voiceMessage enable="true" number="176"/><voiceMessage enable="true" number="192"/><voiceMessage enable="true" number="208"/><voiceMessage enable="true" number="224"/><voiceMessage enable="true" number="240"/><controlChangeMessages><controlChangeMessage enable="true" number="0"/><controlChangeMessage enable="true" number="1"/><controlChangeMessage enable="true" number="2"/><controlChangeMessage enable="true" number="3"/><controlChangeMessage enable="true" number="4"/><controlChangeMessage enable="true" number="5"/><controlChangeMessage enable="true" number="6"/><controlChangeMessage enable="true" number="7"/><controlChangeMessage enable="true" number="8"/><controlChangeMessage enable="true" number="9"/><controlChangeMessage enable="true" number="10"/><controlChangeMessage enable="true" number="11"/><controlChangeMessage enable="true" number="12"/><controlChangeMessage enable="true" number="13"/><controlChangeMessage enable="true" number="14"/><controlChangeMessage enable="true" number="15"/><controlChangeMessage enable="true" number="16"/><controlChangeMessage enable="true" number="17"/><controlChangeMessage enable="true" number="18"/><controlChangeMessage enable="true" number="19"/><controlChangeMessage enable="true" number="20"/><controlChangeMessage enable="true" number="21"/><controlChangeMessage enable="true" number="22"/><controlChangeMessage enable="true" number="23"/><controlChangeMessage enable="true" number="24"/><controlChangeMessage enable="true" number="25"/><controlChangeMessage enable="true" number="26"/><controlChangeMessage enable="true" number="27"/><controlChangeMessage enable="true" number="28"/><controlChangeMessage enable="true" number="29"/><controlChangeMessage enable="true" number="30"/><controlChangeMessage enable="true" number="31"/><controlChangeMessage enable="true" number="32"/><controlChangeMessage enable="true" number="33"/><controlChangeMessage enable="true" number="34"/><controlChangeMessage enable="true" number="35"/><controlChangeMessage enable="true" number="36"/><controlChangeMessage enable="true" number="37"/><controlChangeMessage enable="true" number="38"/><controlChangeMessage enable="true" number="39"/><controlChangeMessage enable="true" number="40"/><controlChangeMessage enable="true" number="41"/><controlChangeMessage enable="true" number="42"/><controlChangeMessage enable="true" number="43"/><controlChangeMessage enable="true" number="44"/><controlChangeMessage enable="true" number="45"/><controlChangeMessage enable="true" number="46"/><controlChangeMessage enable="true" number="47"/><controlChangeMessage enable="true" number="48"/><controlChangeMessage enable="true" number="49"/><controlChangeMessage enable="true" number="50"/><controlChangeMessage enable="true" number="51"/><controlChangeMessage enable="true" number="52"/><controlChangeMessage enable="true" number="53"/><controlChangeMessage enable="true" number="54"/><controlChangeMessage enable="true" number="55"/><controlChangeMessage enable="true" number="56"/><controlChangeMessage enable="true" number="57"/><controlChangeMessage enable="true" number="58"/><controlChangeMessage enable="true" number="59"/><controlChangeMessage enable="true" number="60"/><controlChangeMessage enable="true" number="61"/><controlChangeMessage enable="true" number="62"/><controlChangeMessage enable="true" number="63"/><controlChangeMessage enable="true" number="64"/><controlChangeMessage enable="true" number="65"/><controlChangeMessage enable="true" number="66"/><controlChangeMessage enable="true" number="67"/><controlChangeMessage enable="true" number="68"/><controlChangeMessage enable="true" number="69"/><controlChangeMessage enable="true" number="70"/><controlChangeMessage enable="true" number="71"/><controlChangeMessage enable="true" number="72"/><controlChangeMessage enable="true" number="73"/><controlChangeMessage enable="true" number="74"/><controlChangeMessage enable="true" number="75"/><controlChangeMessage enable="true" number="76"/><controlChangeMessage enable="true" number="77"/><controlChangeMessage enable="true" number="78"/><controlChangeMessage enable="true" number="79"/><controlChangeMessage enable="true" number="80"/><controlChangeMessage enable="true" number="81"/><controlChangeMessage enable="true" number="82"/><controlChangeMessage enable="true" number="83"/><controlChangeMessage enable="true" number="84"/><controlChangeMessage enable="true" number="85"/><controlChangeMessage enable="true" number="86"/><controlChangeMessage enable="true" number="87"/><controlChangeMessage enable="true" number="88"/><controlChangeMessage enable="true" number="89"/><controlChangeMessage enable="true" number="90"/><controlChangeMessage enable="true" number="91"/><controlChangeMessage enable="true" number="92"/><controlChangeMessage enable="true" number="93"/><controlChangeMessage enable="true" number="94"/><controlChangeMessage enable="true" number="95"/><controlChangeMessage enable="true" number="96"/><controlChangeMessage enable="true" number="97"/><controlChangeMessage enable="true" number="98"/><controlChangeMessage enable="true" number="99"/><controlChangeMessage enable="true" number="100"/><controlChangeMessage enable="true" number="101"/><controlChangeMessage enable="true" number="102"/><controlChangeMessage enable="true" number="103"/><controlChangeMessage enable="true" number="104"/><controlChangeMessage enable="true" number="105"/><controlChangeMessage enable="true" number="106"/><controlChangeMessage enable="true" number="107"/><controlChangeMessage enable="true" number="108"/><controlChangeMessage enable="true" number="109"/><controlChangeMessage enable="true" number="110"/><controlChangeMessage enable="true" number="111"/><controlChangeMessage enable="true" number="112"/><controlChangeMessage enable="true" number="113"/><controlChangeMessage enable="true" number="114"/><controlChangeMessage enable="true" number="115"/><controlChangeMessage enable="true" number="116"/><controlChangeMessage enable="true" number="117"/><controlChangeMessage enable="true" number="118"/><controlChangeMessage enable="true" number="119"/><controlChangeMessage enable="true" number="120"/><controlChangeMessage enable="true" number="121"/><controlChangeMessage enable="true" number="122"/><controlChangeMessage enable="true" number="123"/><controlChangeMessage enable="true" number="124"/><controlChangeMessage enable="true" number="125"/><controlChangeMessage enable="true" number="126"/><controlChangeMessage enable="true" number="127"/></controlChangeMessages><channels><channel enable="true" number="1"/><channel enable="true" number="2"/><channel enable="true" number="3"/><channel enable="true" number="4"/><channel enable="true" number="5"/><channel enable="true" number="6"/><channel enable="true" number="7"/><channel enable="true" number="8"/><channel enable="true" number="9"/><channel enable="true" number="10"/><channel enable="true" number="11"/><channel enable="true" number="12"/><channel enable="true" number="13"/><channel enable="true" number="14"/><channel enable="true" number="15"/><channel enable="true" number="16"/></channels></voiceMessages><systemCommonMessages enable="true"><systemCommonMessage enable="true" number="240"/><systemCommonMessage enable="true" number="241"/><systemCommonMessage enable="true" number="242"/><systemCommonMessage enable="true" number="243"/><systemCommonMessage enable="true" number="244"/><systemCommonMessage enable="true" number="245"/><systemCommonMessage enable="true" number="246"/><systemCommonMessage enable="true" number="247"/></systemCommonMessages><systemRealtimeMessages enable="true"><systemRealtimeMessage enable="true" number="248"/><systemRealtimeMessage enable="true" number="249"/><systemRealtimeMessage enable="true" number="250"/><systemRealtimeMessage enable="true" number="251"/><systemRealtimeMessage enable="true" number="252"/><systemRealtimeMessage enable="true" number="253"/><systemRealtimeMessage enable="true" number="254"/><systemRealtimeMessage enable="true" number="255"/></systemRealtimeMessages><sysexMessages enable="true"/><metaMessage enable="true"/></midiFilter></midiMonitorFiltered></outPortMidiMonitorFilteredDevice><inPortMidiMonitorFilteredDevice hashCode="846144646" name="MIDI Monitor: IN"><midiMonitorFiltered><midiFilter><voiceMessages enable="true"><voiceMessage enable="true" number="128"/><voiceMessage enable="true" number="144"/><voiceMessage enable="true" number="160"/><voiceMessage enable="true" number="176"/><voiceMessage enable="true" number="192"/><voiceMessage enable="true" number="208"/><voiceMessage enable="true" number="224"/><voiceMessage enable="true" number="240"/><controlChangeMessages><controlChangeMessage enable="true" number="0"/><controlChangeMessage enable="true" number="1"/><controlChangeMessage enable="true" number="2"/><controlChangeMessage enable="true" number="3"/><controlChangeMessage enable="true" number="4"/><controlChangeMessage enable="true" number="5"/><controlChangeMessage enable="true" number="6"/><controlChangeMessage enable="true" number="7"/><controlChangeMessage enable="true" number="8"/><controlChangeMessage enable="true" number="9"/><controlChangeMessage enable="true" number="10"/><controlChangeMessage enable="true" number="11"/><controlChangeMessage enable="true" number="12"/><controlChangeMessage enable="true" number="13"/><controlChangeMessage enable="true" number="14"/><controlChangeMessage enable="true" number="15"/><controlChangeMessage enable="true" number="16"/><controlChangeMessage enable="true" number="17"/><controlChangeMessage enable="true" number="18"/><controlChangeMessage enable="true" number="19"/><controlChangeMessage enable="true" number="20"/><controlChangeMessage enable="true" number="21"/><controlChangeMessage enable="true" number="22"/><controlChangeMessage enable="true" number="23"/><controlChangeMessage enable="true" number="24"/><controlChangeMessage enable="true" number="25"/><controlChangeMessage enable="true" number="26"/><controlChangeMessage enable="true" number="27"/><controlChangeMessage enable="true" number="28"/><controlChangeMessage enable="true" number="29"/><controlChangeMessage enable="true" number="30"/><controlChangeMessage enable="true" number="31"/><controlChangeMessage enable="true" number="32"/><controlChangeMessage enable="true" number="33"/><controlChangeMessage enable="true" number="34"/><controlChangeMessage enable="true" number="35"/><controlChangeMessage enable="true" number="36"/><controlChangeMessage enable="true" number="37"/><controlChangeMessage enable="true" number="38"/><controlChangeMessage enable="true" number="39"/><controlChangeMessage enable="true" number="40"/><controlChangeMessage enable="true" number="41"/><controlChangeMessage enable="true" number="42"/><controlChangeMessage enable="true" number="43"/><controlChangeMessage enable="true" number="44"/><controlChangeMessage enable="true" number="45"/><controlChangeMessage enable="true" number="46"/><controlChangeMessage enable="true" number="47"/><controlChangeMessage enable="true" number="48"/><controlChangeMessage enable="true" number="49"/><controlChangeMessage enable="true" number="50"/><controlChangeMessage enable="true" number="51"/><controlChangeMessage enable="true" number="52"/><controlChangeMessage enable="true" number="53"/><controlChangeMessage enable="true" number="54"/><controlChangeMessage enable="true" number="55"/><controlChangeMessage enable="true" number="56"/><controlChangeMessage enable="true" number="57"/><controlChangeMessage enable="true" number="58"/><controlChangeMessage enable="true" number="59"/><controlChangeMessage enable="true" number="60"/><controlChangeMessage enable="true" number="61"/><controlChangeMessage enable="true" number="62"/><controlChangeMessage enable="true" number="63"/><controlChangeMessage enable="true" number="64"/><controlChangeMessage enable="true" number="65"/><controlChangeMessage enable="true" number="66"/><controlChangeMessage enable="true" number="67"/><controlChangeMessage enable="true" number="68"/><controlChangeMessage enable="true" number="69"/><controlChangeMessage enable="true" number="70"/><controlChangeMessage enable="true" number="71"/><controlChangeMessage enable="true" number="72"/><controlChangeMessage enable="true" number="73"/><controlChangeMessage enable="true" number="74"/><controlChangeMessage enable="true" number="75"/><controlChangeMessage enable="true" number="76"/><controlChangeMessage enable="true" number="77"/><controlChangeMessage enable="true" number="78"/><controlChangeMessage enable="true" number="79"/><controlChangeMessage enable="true" number="80"/><controlChangeMessage enable="true" number="81"/><controlChangeMessage enable="true" number="82"/><controlChangeMessage enable="true" number="83"/><controlChangeMessage enable="true" number="84"/><controlChangeMessage enable="true" number="85"/><controlChangeMessage enable="true" number="86"/><controlChangeMessage enable="true" number="87"/><controlChangeMessage enable="true" number="88"/><controlChangeMessage enable="true" number="89"/><controlChangeMessage enable="true" number="90"/><controlChangeMessage enable="true" number="91"/><controlChangeMessage enable="true" number="92"/><controlChangeMessage enable="true" number="93"/><controlChangeMessage enable="true" number="94"/><controlChangeMessage enable="true" number="95"/><controlChangeMessage enable="true" number="96"/><controlChangeMessage enable="true" number="97"/><controlChangeMessage enable="true" number="98"/><controlChangeMessage enable="true" number="99"/><controlChangeMessage enable="true" number="100"/><controlChangeMessage enable="true" number="101"/><controlChangeMessage enable="true" number="102"/><controlChangeMessage enable="true" number="103"/><controlChangeMessage enable="true" number="104"/><controlChangeMessage enable="true" number="105"/><controlChangeMessage enable="true" number="106"/><controlChangeMessage enable="true" number="107"/><controlChangeMessage enable="true" number="108"/><controlChangeMessage enable="true" number="109"/><controlChangeMessage enable="true" number="110"/><controlChangeMessage enable="true" number="111"/><controlChangeMessage enable="true" number="112"/><controlChangeMessage enable="true" number="113"/><controlChangeMessage enable="true" number="114"/><controlChangeMessage enable="true" number="115"/><controlChangeMessage enable="true" number="116"/><controlChangeMessage enable="true" number="117"/><controlChangeMessage enable="true" number="118"/><controlChangeMessage enable="true" number="119"/><controlChangeMessage enable="true" number="120"/><controlChangeMessage enable="true" number="121"/><controlChangeMessage enable="true" number="122"/><controlChangeMessage enable="true" number="123"/><controlChangeMessage enable="true" number="124"/><controlChangeMessage enable="true" number="125"/><controlChangeMessage enable="true" number="126"/><controlChangeMessage enable="true" number="127"/></controlChangeMessages><channels><channel enable="true" number="1"/><channel enable="true" number="2"/><channel enable="true" number="3"/><channel enable="false" number="4"/><channel enable="true" number="5"/><channel enable="true" number="6"/><channel enable="true" number="7"/><channel enable="true" number="8"/><channel enable="true" number="9"/><channel enable="true" number="10"/><channel enable="true" number="11"/><channel enable="true" number="12"/><channel enable="true" number="13"/><channel enable="true" number="14"/><channel enable="true" number="15"/><channel enable="true" number="16"/></channels></voiceMessages><systemCommonMessages enable="true"><systemCommonMessage enable="true" number="240"/><systemCommonMessage enable="true" number="241"/><systemCommonMessage enable="false" number="242"/><systemCommonMessage enable="true" number="243"/><systemCommonMessage enable="true" number="244"/><systemCommonMessage enable="true" number="245"/><systemCommonMessage enable="true" number="246"/><systemCommonMessage enable="true" number="247"/></systemCommonMessages><systemRealtimeMessages enable="true"><systemRealtimeMessage enable="true" number="248"/><systemRealtimeMessage enable="true" number="249"/><systemRealtimeMessage enable="true" number="250"/><systemRealtimeMessage enable="true" number="251"/><systemRealtimeMessage enable="false" number="252"/><systemRealtimeMessage enable="true" number="253"/><systemRealtimeMessage enable="true" number="254"/><systemRealtimeMessage enable="true" number="255"/></systemRealtimeMessages><sysexMessages enable="true"/><metaMessage enable="true"/></midiFilter></midiMonitorFiltered></inPortMidiMonitorFilteredDevice><midiKeyboardControllerDevice hashCode="-2132454922" name="MIDI Keyboard Controller"><midiKeyboarController globalChannel="0" velocityVal="100"><midiParameterControls><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="7" receive="true" send="true" status="176" type="0" value="127"/><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="8" receive="true" send="true" status="176" type="0" value="64"/><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="10" receive="true" send="true" status="176" type="0" value="64"/><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="11" receive="true" send="true" status="176" type="0" value="127"/><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="12" receive="true" send="true" status="176" type="0" value="0"/><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="13" receive="true" send="true" status="176" type="0" value="0"/><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="64" receive="true" send="true" status="176" type="1" value="0"/><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="69" receive="true" send="true" status="176" type="1" value="0"/><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="124" receive="true" send="true" status="176" type="1" value="0"/><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="125" receive="true" send="true" status="176" type="1" value="0"/><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="126" receive="true" send="true" status="176" type="1" value="0"/><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="127" receive="true" send="true" status="176" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="24" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="25" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="26" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="27" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="28" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="29" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="30" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="31" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="32" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="33" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="34" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="35" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="36" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="37" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="38" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="39" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="40" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="41" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="42" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="43" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="44" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="45" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="46" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="47" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="48" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="49" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="50" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="51" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="52" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="53" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="54" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="55" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="56" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="57" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="58" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="59" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="60" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="61" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="62" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="63" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="64" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="65" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="66" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="67" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="68" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="69" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="70" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="71" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="72" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="73" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="74" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="75" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="76" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="77" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="78" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="79" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="80" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="81" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="82" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="83" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="84" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="85" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="86" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="87" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="88" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="89" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="90" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="91" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="92" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="93" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="94" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="100" global="true" highResolution="false" learn="false" number="95" receive="true" send="true" status="144" type="1" value="0"/><midiParameterControl channel="0" defaultValue="0" global="true" highResolution="true" learn="false" number="0" receive="false" send="true" status="176" type="0" value="0"/><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="0" receive="false" send="true" status="192" type="0" value="0"/><midiParameterControl channel="0" defaultValue="64" global="true" highResolution="false" learn="false" number="1" receive="true" send="true" status="176" type="0" value="0"/><midiParameterControl channel="0" defaultValue="8192" global="true" highResolution="false" learn="false" number="0" receive="true" send="true" status="224" type="0" value="8191"/></midiParameterControls></midiKeyboarController></midiKeyboardControllerDevice><hexFileUploadDeviceManager><hexFileUploadDevices/></hexFileUploadDeviceManager><lcdMessageDevice hashCode="-1809423148" name="MIOS LCD Message"><lcdMessage deviceID="0" lcdHeight="2" lcdWidth="16" loop="false" mios32Mode="false" mode="0" posX="0" posY="0"><messageText/></lcdMessage></lcdMessageDevice><debugFunctionDevice hashCode="1801647845" name="MIOS Debug Function"><debugFunction delayTime="300" deviceID="0" mios32Mode="false" mode="1" sramReadAddress="0" sramReadCounter="0" sramWriteAddress="0" sramWriteData="0"><debugFunctionParametersList><debugFunctionParameters address="0" param1="0" param2="0" param3="0" wreg="0"/></debugFunctionParametersList></debugFunction></debugFunctionDevice><miosTeminalMidiMonitorFilteredDevice hashCode="1534315068" name="MIOS Terminal"><midiMonitorFiltered><midiFilter><voiceMessages enable="true"><voiceMessage enable="false" number="128"/><voiceMessage enable="false" number="144"/><voiceMessage enable="false" number="160"/><voiceMessage enable="false" number="176"/><voiceMessage enable="false" number="192"/><voiceMessage enable="false" number="208"/><voiceMessage enable="false" number="224"/><voiceMessage enable="true" number="240"/><controlChangeMessages><controlChangeMessage enable="true" number="0"/><controlChangeMessage enable="true" number="1"/><controlChangeMessage enable="true" number="2"/><controlChangeMessage enable="true" number="3"/><controlChangeMessage enable="true" number="4"/><controlChangeMessage enable="true" number="5"/><controlChangeMessage enable="true" number="6"/><controlChangeMessage enable="true" number="7"/><controlChangeMessage enable="true" number="8"/><controlChangeMessage enable="true" number="9"/><controlChangeMessage enable="true" number="10"/><controlChangeMessage enable="true" number="11"/><controlChangeMessage enable="true" number="12"/><controlChangeMessage enable="true" number="13"/><controlChangeMessage enable="true" number="14"/><controlChangeMessage enable="true" number="15"/><controlChangeMessage enable="true" number="16"/><controlChangeMessage enable="true" number="17"/><controlChangeMessage enable="true" number="18"/><controlChangeMessage enable="true" number="19"/><controlChangeMessage enable="true" number="20"/><controlChangeMessage enable="true" number="21"/><controlChangeMessage enable="true" number="22"/><controlChangeMessage enable="true" number="23"/><controlChangeMessage enable="true" number="24"/><controlChangeMessage enable="true" number="25"/><controlChangeMessage enable="true" number="26"/><controlChangeMessage enable="true" number="27"/><controlChangeMessage enable="true" number="28"/><controlChangeMessage enable="true" number="29"/><controlChangeMessage enable="true" number="30"/><controlChangeMessage enable="true" number="31"/><controlChangeMessage enable="true" number="32"/><controlChangeMessage enable="true" number="33"/><controlChangeMessage enable="true" number="34"/><controlChangeMessage enable="true" number="35"/><controlChangeMessage enable="true" number="36"/><controlChangeMessage enable="true" number="37"/><controlChangeMessage enable="true" number="38"/><controlChangeMessage enable="true" number="39"/><controlChangeMessage enable="true" number="40"/><controlChangeMessage enable="true" number="41"/><controlChangeMessage enable="true" number="42"/><controlChangeMessage enable="true" number="43"/><controlChangeMessage enable="true" number="44"/><controlChangeMessage enable="true" number="45"/><controlChangeMessage enable="true" number="46"/><controlChangeMessage enable="true" number="47"/><controlChangeMessage enable="true" number="48"/><controlChangeMessage enable="true" number="49"/><controlChangeMessage enable="true" number="50"/><controlChangeMessage enable="true" number="51"/><controlChangeMessage enable="true" number="52"/><controlChangeMessage enable="true" number="53"/><controlChangeMessage enable="true" number="54"/><controlChangeMessage enable="true" number="55"/><controlChangeMessage enable="true" number="56"/><controlChangeMessage enable="true" number="57"/><controlChangeMessage enable="true" number="58"/><controlChangeMessage enable="true" number="59"/><controlChangeMessage enable="true" number="60"/><controlChangeMessage enable="true" number="61"/><controlChangeMessage enable="true" number="62"/><controlChangeMessage enable="true" number="63"/><controlChangeMessage enable="true" number="64"/><controlChangeMessage enable="true" number="65"/><controlChangeMessage enable="true" number="66"/><controlChangeMessage enable="true" number="67"/><controlChangeMessage enable="true" number="68"/><controlChangeMessage enable="true" number="69"/><controlChangeMessage enable="true" number="70"/><controlChangeMessage enable="true" number="71"/><controlChangeMessage enable="true" number="72"/><controlChangeMessage enable="true" number="73"/><controlChangeMessage enable="true" number="74"/><controlChangeMessage enable="true" number="75"/><controlChangeMessage enable="true" number="76"/><controlChangeMessage enable="true" number="77"/><controlChangeMessage enable="true" number="78"/><controlChangeMessage enable="true" number="79"/><controlChangeMessage enable="true" number="80"/><controlChangeMessage enable="true" number="81"/><controlChangeMessage enable="true" number="82"/><controlChangeMessage enable="true" number="83"/><controlChangeMessage enable="true" number="84"/><controlChangeMessage enable="true" number="85"/><controlChangeMessage enable="true" number="86"/><controlChangeMessage enable="true" number="87"/><controlChangeMessage enable="true" number="88"/><controlChangeMessage enable="true" number="89"/><controlChangeMessage enable="true" number="90"/><controlChangeMessage enable="true" number="91"/><controlChangeMessage enable="true" number="92"/><controlChangeMessage enable="true" number="93"/><controlChangeMessage enable="true" number="94"/><controlChangeMessage enable="true" number="95"/><controlChangeMessage enable="true" number="96"/><controlChangeMessage enable="true" number="97"/><controlChangeMessage enable="true" number="98"/><controlChangeMessage enable="true" number="99"/><controlChangeMessage enable="true" number="100"/><controlChangeMessage enable="true" number="101"/><controlChangeMessage enable="true" number="102"/><controlChangeMessage enable="true" number="103"/><controlChangeMessage enable="true" number="104"/><controlChangeMessage enable="true" number="105"/><controlChangeMessage enable="true" number="106"/><controlChangeMessage enable="true" number="107"/><controlChangeMessage enable="true" number="108"/><controlChangeMessage enable="true" number="109"/><controlChangeMessage enable="true" number="110"/><controlChangeMessage enable="true" number="111"/><controlChangeMessage enable="true" number="112"/><controlChangeMessage enable="true" number="113"/><controlChangeMessage enable="true" number="114"/><controlChangeMessage enable="true" number="115"/><controlChangeMessage enable="true" number="116"/><controlChangeMessage enable="true" number="117"/><controlChangeMessage enable="true" number="118"/><controlChangeMessage enable="true" number="119"/><controlChangeMessage enable="true" number="120"/><controlChangeMessage enable="true" number="121"/><controlChangeMessage enable="true" number="122"/><controlChangeMessage enable="true" number="123"/><controlChangeMessage enable="true" number="124"/><controlChangeMessage enable="true" number="125"/><controlChangeMessage enable="true" number="126"/><controlChangeMessage enable="true" number="127"/></controlChangeMessages><channels><channel enable="true" number="1"/><channel enable="true" number="2"/><channel enable="true" number="3"/><channel enable="true" number="4"/><channel enable="true" number="5"/><channel enable="true" number="6"/><channel enable="true" number="7"/><channel enable="true" number="8"/><channel enable="true" number="9"/><channel enable="true" number="10"/><channel enable="true" number="11"/><channel enable="true" number="12"/><channel enable="true" number="13"/><channel enable="true" number="14"/><channel enable="true" number="15"/><channel enable="true" number="16"/></channels></voiceMessages><systemCommonMessages enable="true"><systemCommonMessage enable="true" number="240"/><systemCommonMessage enable="false" number="241"/><systemCommonMessage enable="false" number="242"/><systemCommonMessage enable="false" number="243"/><systemCommonMessage enable="true" number="244"/><systemCommonMessage enable="true" number="245"/><systemCommonMessage enable="false" number="246"/><systemCommonMessage enable="true" number="247"/></systemCommonMessages><systemRealtimeMessages enable="true"><systemRealtimeMessage enable="false" number="248"/><systemRealtimeMessage enable="true" number="249"/><systemRealtimeMessage enable="false" number="250"/><systemRealtimeMessage enable="false" number="251"/><systemRealtimeMessage enable="false" number="252"/><systemRealtimeMessage enable="true" number="253"/><systemRealtimeMessage enable="false" number="254"/><systemRealtimeMessage enable="false" number="255"/></systemRealtimeMessages><sysexMessages enable="true"/><metaMessage enable="false"/></midiFilter></midiMonitorFiltered></miosTeminalMidiMonitorFilteredDevice><midiDeviceRouting portsReleased="false"><logicalConnections><logicalConnection><sourceMidiDevice hashCode="1929408018" name="MIOS Studio In Port"/><targetMidiDevice hashCode="-1860208521" name="MIOS Studio Thru Filter"/></logicalConnection><logicalConnection><sourceMidiDevice hashCode="1929408018" name="MIOS Studio In Port"/><targetMidiDevice hashCode="846144646" name="MIDI Monitor: IN"/></logicalConnection><logicalConnection><sourceMidiDevice hashCode="1531218333" name="MIOS Studio Out Port"/><targetMidiDevice hashCode="460686317" name="MIDI Monitor: OUT"/></logicalConnection><logicalConnection><sourceMidiDevice hashCode="1929408018" name="MIOS Studio In Port"/><targetMidiDevice hashCode="-2132454922" name="MIDI Keyboard Controller"/></logicalConnection><logicalConnection><sourceMidiDevice hashCode="-2132454922" name="MIDI Keyboard Controller"/><targetMidiDevice hashCode="1531218333" name="MIOS Studio Out Port"/></logicalConnection><logicalConnection><sourceMidiDevice hashCode="-1809423148" name="MIOS LCD Message"/><targetMidiDevice hashCode="1531218333" name="MIOS Studio Out Port"/></logicalConnection><logicalConnection><sourceMidiDevice hashCode="1929408018" name="MIOS Studio In Port"/><targetMidiDevice hashCode="1801647845" name="MIOS Debug Function"/></logicalConnection><logicalConnection><sourceMidiDevice hashCode="1801647845" name="MIOS Debug Function"/><targetMidiDevice hashCode="1531218333" name="MIOS Studio Out Port"/></logicalConnection><logicalConnection><sourceMidiDevice hashCode="1929408018" name="MIOS Studio In Port"/><targetMidiDevice hashCode="1534315068" name="MIOS Terminal"/></logicalConnection><logicalConnection><sourceMidiDevice hashCode="1531218333" name="MIOS Studio Out Port"/><targetMidiDevice hashCode="1301007571" name="Out To MIDI Yoke: 1"/></logicalConnection><logicalConnection><sourceMidiDevice hashCode="1125014476" name="In From MIDI Yoke: 2"/><targetMidiDevice hashCode="1929408018" name="MIOS Studio In Port"/></logicalConnection><logicalConnection><sourceMidiDevice hashCode="-1860208521" name="MIOS Studio Thru Filter"/><targetMidiDevice hashCode="1531218333" name="MIOS Studio Out Port"/></logicalConnection></logicalConnections></midiDeviceRouting></miosStudio>