/* * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */package com.sun.media.sound;/** * This class is used to store modulator/artiuclation data. * A modulator connects one synthesizer source to * a destination. For example a note on velocity * can be mapped to the gain of the synthesized voice. * It is stored as a "art1" or "art2" chunk inside DLS files. * * @author Karl Helgason */public class DLSModulator { // DLS1 Destinations public static final int CONN_DST_NONE = 0x000; // 0 public static final int CONN_DST_GAIN = 0x001; // cB public static final int CONN_DST_PITCH = 0x003; // cent public static final int CONN_DST_PAN = 0x004; // 0.1% public static final int CONN_DST_LFO_FREQUENCY = 0x104; // cent (default 5 Hz) public static final int CONN_DST_LFO_STARTDELAY = 0x105; // timecent public static final int CONN_DST_EG1_ATTACKTIME = 0x206; // timecent public static final int CONN_DST_EG1_DECAYTIME = 0x207; // timecent public static final int CONN_DST_EG1_RELEASETIME = 0x209; // timecent public static final int CONN_DST_EG1_SUSTAINLEVEL = 0x20A; // 0.1% public static final int CONN_DST_EG2_ATTACKTIME = 0x30A; // timecent public static final int CONN_DST_EG2_DECAYTIME = 0x30B; // timecent public static final int CONN_DST_EG2_RELEASETIME = 0x30D; // timecent public static final int CONN_DST_EG2_SUSTAINLEVEL = 0x30E; // 0.1% // DLS2 Destinations public static final int CONN_DST_KEYNUMBER = 0x005; public static final int CONN_DST_LEFT = 0x010; // 0.1% public static final int CONN_DST_RIGHT = 0x011; // 0.1% public static final int CONN_DST_CENTER = 0x012; // 0.1% public static final int CONN_DST_LEFTREAR = 0x013; // 0.1% public static final int CONN_DST_RIGHTREAR = 0x014; // 0.1% public static final int CONN_DST_LFE_CHANNEL = 0x015; // 0.1% public static final int CONN_DST_CHORUS = 0x080; // 0.1% public static final int CONN_DST_REVERB = 0x081; // 0.1% public static final int CONN_DST_VIB_FREQUENCY = 0x114; // cent public static final int CONN_DST_VIB_STARTDELAY = 0x115; // dB public static final int CONN_DST_EG1_DELAYTIME = 0x20B; // timecent public static final int CONN_DST_EG1_HOLDTIME = 0x20C; // timecent public static final int CONN_DST_EG1_SHUTDOWNTIME = 0x20D; // timecent public static final int CONN_DST_EG2_DELAYTIME = 0x30F; // timecent public static final int CONN_DST_EG2_HOLDTIME = 0x310; // timecent public static final int CONN_DST_FILTER_CUTOFF = 0x500; // cent public static final int CONN_DST_FILTER_Q = 0x501; // dB // DLS1 Sources public static final int CONN_SRC_NONE = 0x000; // 1 public static final int CONN_SRC_LFO = 0x001; // linear (sine wave) public static final int CONN_SRC_KEYONVELOCITY = 0x002; // ??db or velocity?? public static final int CONN_SRC_KEYNUMBER = 0x003; // ??cent or keynumber?? public static final int CONN_SRC_EG1 = 0x004; // linear direct from eg public static final int CONN_SRC_EG2 = 0x005; // linear direct from eg public static final int CONN_SRC_PITCHWHEEL = 0x006; // linear -1..1 public static final int CONN_SRC_CC1 = 0x081; // linear 0..1 public static final int CONN_SRC_CC7 = 0x087; // linear 0..1 public static final int CONN_SRC_CC10 = 0x08A; // linear 0..1 public static final int CONN_SRC_CC11 = 0x08B; // linear 0..1 public static final int CONN_SRC_RPN0 = 0x100; // ?? // Pitch Bend Range public static final int CONN_SRC_RPN1 = 0x101; // ?? // Fine Tune public static final int CONN_SRC_RPN2 = 0x102; // ?? // Course Tune // DLS2 Sources public static final int CONN_SRC_POLYPRESSURE = 0x007; // linear 0..1 public static final int CONN_SRC_CHANNELPRESSURE = 0x008; // linear 0..1 public static final int CONN_SRC_VIBRATO = 0x009; // linear 0..1 public static final int CONN_SRC_MONOPRESSURE = 0x00A; // linear 0..1 public static final int CONN_SRC_CC91 = 0x0DB; // linear 0..1 public static final int CONN_SRC_CC93 = 0x0DD; // linear 0..1 // DLS1 Transforms public static final int CONN_TRN_NONE = 0x000; public static final int CONN_TRN_CONCAVE = 0x001; // DLS2 Transforms public static final int CONN_TRN_CONVEX = 0x002; public static final int CONN_TRN_SWITCH = 0x003; public static final int DST_FORMAT_CB = 1; public static final int DST_FORMAT_CENT = 1; public static final int DST_FORMAT_TIMECENT = 2; public static final int DST_FORMAT_PERCENT = 3; protected int source; protected int control; protected int destination; protected int transform; protected int scale; protected int version = 1; public int getControl() { return control; } public void setControl(int control) { this.control = control; } public static int getDestinationFormat(int destination) { if (destination == CONN_DST_GAIN) return DST_FORMAT_CB; if (destination == CONN_DST_PITCH) return DST_FORMAT_CENT; if (destination == CONN_DST_PAN) return DST_FORMAT_PERCENT; if (destination == CONN_DST_LFO_FREQUENCY) return DST_FORMAT_CENT; if (destination == CONN_DST_LFO_STARTDELAY) return DST_FORMAT_TIMECENT; if (destination == CONN_DST_EG1_ATTACKTIME) return DST_FORMAT_TIMECENT; if (destination == CONN_DST_EG1_DECAYTIME) return DST_FORMAT_TIMECENT; if (destination == CONN_DST_EG1_RELEASETIME) return DST_FORMAT_TIMECENT; if (destination == CONN_DST_EG1_SUSTAINLEVEL) return DST_FORMAT_PERCENT; if (destination == CONN_DST_EG2_ATTACKTIME) return DST_FORMAT_TIMECENT; if (destination == CONN_DST_EG2_DECAYTIME) return DST_FORMAT_TIMECENT; if (destination == CONN_DST_EG2_RELEASETIME) return DST_FORMAT_TIMECENT; if (destination == CONN_DST_EG2_SUSTAINLEVEL) return DST_FORMAT_PERCENT; if (destination == CONN_DST_KEYNUMBER) return DST_FORMAT_CENT; // NOT SURE WITHOUT DLS 2 SPEC if (destination == CONN_DST_LEFT) return DST_FORMAT_CB; if (destination == CONN_DST_RIGHT) return DST_FORMAT_CB; if (destination == CONN_DST_CENTER) return DST_FORMAT_CB; if (destination == CONN_DST_LEFTREAR) return DST_FORMAT_CB; if (destination == CONN_DST_RIGHTREAR) return DST_FORMAT_CB; if (destination == CONN_DST_LFE_CHANNEL) return DST_FORMAT_CB; if (destination == CONN_DST_CHORUS) return DST_FORMAT_PERCENT; if (destination == CONN_DST_REVERB) return DST_FORMAT_PERCENT; if (destination == CONN_DST_VIB_FREQUENCY) return DST_FORMAT_CENT; if (destination == CONN_DST_VIB_STARTDELAY) return DST_FORMAT_TIMECENT; if (destination == CONN_DST_EG1_DELAYTIME) return DST_FORMAT_TIMECENT; if (destination == CONN_DST_EG1_HOLDTIME) return DST_FORMAT_TIMECENT; if (destination == CONN_DST_EG1_SHUTDOWNTIME) return DST_FORMAT_TIMECENT; if (destination == CONN_DST_EG2_DELAYTIME) return DST_FORMAT_TIMECENT; if (destination == CONN_DST_EG2_HOLDTIME) return DST_FORMAT_TIMECENT; if (destination == CONN_DST_FILTER_CUTOFF) return DST_FORMAT_CENT; if (destination == CONN_DST_FILTER_Q) return DST_FORMAT_CB; return -1; } public static String getDestinationName(int destination) { if (destination == CONN_DST_GAIN) return "gain"; if (destination == CONN_DST_PITCH) return "pitch"; if (destination == CONN_DST_PAN) return "pan"; if (destination == CONN_DST_LFO_FREQUENCY) return "lfo1.freq"; if (destination == CONN_DST_LFO_STARTDELAY) return "lfo1.delay"; if (destination == CONN_DST_EG1_ATTACKTIME) return "eg1.attack"; if (destination == CONN_DST_EG1_DECAYTIME) return "eg1.decay"; if (destination == CONN_DST_EG1_RELEASETIME) return "eg1.release"; if (destination == CONN_DST_EG1_SUSTAINLEVEL) return "eg1.sustain"; if (destination == CONN_DST_EG2_ATTACKTIME) return "eg2.attack"; if (destination == CONN_DST_EG2_DECAYTIME) return "eg2.decay"; if (destination == CONN_DST_EG2_RELEASETIME) return "eg2.release"; if (destination == CONN_DST_EG2_SUSTAINLEVEL) return "eg2.sustain"; if (destination == CONN_DST_KEYNUMBER) return "keynumber"; if (destination == CONN_DST_LEFT) return "left"; if (destination == CONN_DST_RIGHT) return "right"; if (destination == CONN_DST_CENTER) return "center"; if (destination == CONN_DST_LEFTREAR) return "leftrear"; if (destination == CONN_DST_RIGHTREAR) return "rightrear"; if (destination == CONN_DST_LFE_CHANNEL) return "lfe_channel"; if (destination == CONN_DST_CHORUS) return "chorus"; if (destination == CONN_DST_REVERB) return "reverb"; if (destination == CONN_DST_VIB_FREQUENCY) return "vib.freq"; if (destination == CONN_DST_VIB_STARTDELAY) return "vib.delay"; if (destination == CONN_DST_EG1_DELAYTIME) return "eg1.delay"; if (destination == CONN_DST_EG1_HOLDTIME) return "eg1.hold"; if (destination == CONN_DST_EG1_SHUTDOWNTIME) return "eg1.shutdown"; if (destination == CONN_DST_EG2_DELAYTIME) return "eg2.delay"; if (destination == CONN_DST_EG2_HOLDTIME) return "eg.2hold"; if (destination == CONN_DST_FILTER_CUTOFF) return "filter.cutoff"; // NOT SURE WITHOUT DLS 2 SPEC if (destination == CONN_DST_FILTER_Q) return "filter.q"; // NOT SURE WITHOUT DLS 2 SPEC return null; } public static String getSourceName(int source) { if (source == CONN_SRC_NONE) return "none"; if (source == CONN_SRC_LFO) return "lfo"; if (source == CONN_SRC_KEYONVELOCITY) return "keyonvelocity"; if (source == CONN_SRC_KEYNUMBER) return "keynumber"; if (source == CONN_SRC_EG1) return "eg1"; if (source == CONN_SRC_EG2) return "eg2"; if (source == CONN_SRC_PITCHWHEEL) return "pitchweel"; if (source == CONN_SRC_CC1) return "cc1"; if (source == CONN_SRC_CC7) return "cc7"; if (source == CONN_SRC_CC10) return "c10"; if (source == CONN_SRC_CC11) return "cc11"; if (source == CONN_SRC_POLYPRESSURE) return "polypressure"; if (source == CONN_SRC_CHANNELPRESSURE) return "channelpressure"; if (source == CONN_SRC_VIBRATO) return "vibrato"; if (source == CONN_SRC_MONOPRESSURE) return "monopressure"; if (source == CONN_SRC_CC91) return "cc91"; if (source == CONN_SRC_CC93) return "cc93"; return null; } public int getDestination() { return destination; } public void setDestination(int destination) { this.destination = destination; } public int getScale() { return scale; } public void setScale(int scale) { this.scale = scale; } public int getSource() { return source; } public void setSource(int source) { this.source = source; } public int getVersion() { return version; } public void setVersion(int version) { this.version = version; } public int getTransform() { return transform; } public void setTransform(int transform) { this.transform = transform; }}
/*
* Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.media.sound;
/**
* This class is used to store modulator/artiuclation data.
* A modulator connects one synthesizer source to
* a destination. For example a note on velocity
* can be mapped to the gain of the synthesized voice.
* It is stored as a "art1" or "art2" chunk inside DLS files.
*
* @author Karl Helgason
*/
public class DLSModulator {
// DLS1 Destinations
public static final int CONN_DST_NONE = 0x000; // 0
public static final int CONN_DST_GAIN = 0x001; // cB
public static final int CONN_DST_PITCH = 0x003; // cent
public static final int CONN_DST_PAN = 0x004; // 0.1%
public static final int CONN_DST_LFO_FREQUENCY = 0x104; // cent (default 5 Hz)
public static final int CONN_DST_LFO_STARTDELAY = 0x105; // timecent
public static final int CONN_DST_EG1_ATTACKTIME = 0x206; // timecent
public static final int CONN_DST_EG1_DECAYTIME = 0x207; // timecent
public static final int CONN_DST_EG1_RELEASETIME = 0x209; // timecent
public static final int CONN_DST_EG1_SUSTAINLEVEL = 0x20A; // 0.1%
public static final int CONN_DST_EG2_ATTACKTIME = 0x30A; // timecent
public static final int CONN_DST_EG2_DECAYTIME = 0x30B; // timecent
public static final int CONN_DST_EG2_RELEASETIME = 0x30D; // timecent
public static final int CONN_DST_EG2_SUSTAINLEVEL = 0x30E; // 0.1%
// DLS2 Destinations
public static final int CONN_DST_KEYNUMBER = 0x005;
public static final int CONN_DST_LEFT = 0x010; // 0.1%
public static final int CONN_DST_RIGHT = 0x011; // 0.1%
public static final int CONN_DST_CENTER = 0x012; // 0.1%
public static final int CONN_DST_LEFTREAR = 0x013; // 0.1%
public static final int CONN_DST_RIGHTREAR = 0x014; // 0.1%
public static final int CONN_DST_LFE_CHANNEL = 0x015; // 0.1%
public static final int CONN_DST_CHORUS = 0x080; // 0.1%
public static final int CONN_DST_REVERB = 0x081; // 0.1%
public static final int CONN_DST_VIB_FREQUENCY = 0x114; // cent
public static final int CONN_DST_VIB_STARTDELAY = 0x115; // dB
public static final int CONN_DST_EG1_DELAYTIME = 0x20B; // timecent
public static final int CONN_DST_EG1_HOLDTIME = 0x20C; // timecent
public static final int CONN_DST_EG1_SHUTDOWNTIME = 0x20D; // timecent
public static final int CONN_DST_EG2_DELAYTIME = 0x30F; // timecent
public static final int CONN_DST_EG2_HOLDTIME = 0x310; // timecent
public static final int CONN_DST_FILTER_CUTOFF = 0x500; // cent
public static final int CONN_DST_FILTER_Q = 0x501; // dB
// DLS1 Sources
public static final int CONN_SRC_NONE = 0x000; // 1
public static final int CONN_SRC_LFO = 0x001; // linear (sine wave)
public static final int CONN_SRC_KEYONVELOCITY = 0x002; // ??db or velocity??
public static final int CONN_SRC_KEYNUMBER = 0x003; // ??cent or keynumber??
public static final int CONN_SRC_EG1 = 0x004; // linear direct from eg
public static final int CONN_SRC_EG2 = 0x005; // linear direct from eg
public static final int CONN_SRC_PITCHWHEEL = 0x006; // linear -1..1
public static final int CONN_SRC_CC1 = 0x081; // linear 0..1
public static final int CONN_SRC_CC7 = 0x087; // linear 0..1
public static final int CONN_SRC_CC10 = 0x08A; // linear 0..1
public static final int CONN_SRC_CC11 = 0x08B; // linear 0..1
public static final int CONN_SRC_RPN0 = 0x100; // ?? // Pitch Bend Range
public static final int CONN_SRC_RPN1 = 0x101; // ?? // Fine Tune
public static final int CONN_SRC_RPN2 = 0x102; // ?? // Course Tune
// DLS2 Sources
public static final int CONN_SRC_POLYPRESSURE = 0x007; // linear 0..1
public static final int CONN_SRC_CHANNELPRESSURE = 0x008; // linear 0..1
public static final int CONN_SRC_VIBRATO = 0x009; // linear 0..1
public static final int CONN_SRC_MONOPRESSURE = 0x00A; // linear 0..1
public static final int CONN_SRC_CC91 = 0x0DB; // linear 0..1
public static final int CONN_SRC_CC93 = 0x0DD; // linear 0..1
// DLS1 Transforms
public static final int CONN_TRN_NONE = 0x000;
public static final int CONN_TRN_CONCAVE = 0x001;
// DLS2 Transforms
public static final int CONN_TRN_CONVEX = 0x002;
public static final int CONN_TRN_SWITCH = 0x003;
public static final int DST_FORMAT_CB = 1;
public static final int DST_FORMAT_CENT = 1;
public static final int DST_FORMAT_TIMECENT = 2;
public static final int DST_FORMAT_PERCENT = 3;
protected int source;
protected int control;
protected int destination;
protected int transform;
protected int scale;
protected int version = 1;
public int getControl() {
return control;
}
public void setControl(int control) {
this.control = control;
}
public static int getDestinationFormat(int destination) {
if (destination == CONN_DST_GAIN)
return DST_FORMAT_CB;
if (destination == CONN_DST_PITCH)
return DST_FORMAT_CENT;
if (destination == CONN_DST_PAN)
return DST_FORMAT_PERCENT;
if (destination == CONN_DST_LFO_FREQUENCY)
return DST_FORMAT_CENT;
if (destination == CONN_DST_LFO_STARTDELAY)
return DST_FORMAT_TIMECENT;
if (destination == CONN_DST_EG1_ATTACKTIME)
return DST_FORMAT_TIMECENT;
if (destination == CONN_DST_EG1_DECAYTIME)
return DST_FORMAT_TIMECENT;
if (destination == CONN_DST_EG1_RELEASETIME)
return DST_FORMAT_TIMECENT;
if (destination == CONN_DST_EG1_SUSTAINLEVEL)
return DST_FORMAT_PERCENT;
if (destination == CONN_DST_EG2_ATTACKTIME)
return DST_FORMAT_TIMECENT;
if (destination == CONN_DST_EG2_DECAYTIME)
return DST_FORMAT_TIMECENT;
if (destination == CONN_DST_EG2_RELEASETIME)
return DST_FORMAT_TIMECENT;
if (destination == CONN_DST_EG2_SUSTAINLEVEL)
return DST_FORMAT_PERCENT;
if (destination == CONN_DST_KEYNUMBER)
return DST_FORMAT_CENT; // NOT SURE WITHOUT DLS 2 SPEC
if (destination == CONN_DST_LEFT)
return DST_FORMAT_CB;
if (destination == CONN_DST_RIGHT)
return DST_FORMAT_CB;
if (destination == CONN_DST_CENTER)
return DST_FORMAT_CB;
if (destination == CONN_DST_LEFTREAR)
return DST_FORMAT_CB;
if (destination == CONN_DST_RIGHTREAR)
return DST_FORMAT_CB;
if (destination == CONN_DST_LFE_CHANNEL)
return DST_FORMAT_CB;
if (destination == CONN_DST_CHORUS)
return DST_FORMAT_PERCENT;
if (destination == CONN_DST_REVERB)
return DST_FORMAT_PERCENT;
if (destination == CONN_DST_VIB_FREQUENCY)
return DST_FORMAT_CENT;
if (destination == CONN_DST_VIB_STARTDELAY)
return DST_FORMAT_TIMECENT;
if (destination == CONN_DST_EG1_DELAYTIME)
return DST_FORMAT_TIMECENT;
if (destination == CONN_DST_EG1_HOLDTIME)
return DST_FORMAT_TIMECENT;
if (destination == CONN_DST_EG1_SHUTDOWNTIME)
return DST_FORMAT_TIMECENT;
if (destination == CONN_DST_EG2_DELAYTIME)
return DST_FORMAT_TIMECENT;
if (destination == CONN_DST_EG2_HOLDTIME)
return DST_FORMAT_TIMECENT;
if (destination == CONN_DST_FILTER_CUTOFF)
return DST_FORMAT_CENT;
if (destination == CONN_DST_FILTER_Q)
return DST_FORMAT_CB;
return -1;
}
public static String getDestinationName(int destination) {
if (destination == CONN_DST_GAIN)
return "gain";
if (destination == CONN_DST_PITCH)
return "pitch";
if (destination == CONN_DST_PAN)
return "pan";
if (destination == CONN_DST_LFO_FREQUENCY)
return "lfo1.freq";
if (destination == CONN_DST_LFO_STARTDELAY)
return "lfo1.delay";
if (destination == CONN_DST_EG1_ATTACKTIME)
return "eg1.attack";
if (destination == CONN_DST_EG1_DECAYTIME)
return "eg1.decay";
if (destination == CONN_DST_EG1_RELEASETIME)
return "eg1.release";
if (destination == CONN_DST_EG1_SUSTAINLEVEL)
return "eg1.sustain";
if (destination == CONN_DST_EG2_ATTACKTIME)
return "eg2.attack";
if (destination == CONN_DST_EG2_DECAYTIME)
return "eg2.decay";
if (destination == CONN_DST_EG2_RELEASETIME)
return "eg2.release";
if (destination == CONN_DST_EG2_SUSTAINLEVEL)
return "eg2.sustain";
if (destination == CONN_DST_KEYNUMBER)
return "keynumber";
if (destination == CONN_DST_LEFT)
return "left";
if (destination == CONN_DST_RIGHT)
return "right";
if (destination == CONN_DST_CENTER)
return "center";
if (destination == CONN_DST_LEFTREAR)
return "leftrear";
if (destination == CONN_DST_RIGHTREAR)
return "rightrear";
if (destination == CONN_DST_LFE_CHANNEL)
return "lfe_channel";
if (destination == CONN_DST_CHORUS)
return "chorus";
if (destination == CONN_DST_REVERB)
return "reverb";
if (destination == CONN_DST_VIB_FREQUENCY)
return "vib.freq";
if (destination == CONN_DST_VIB_STARTDELAY)
return "vib.delay";
if (destination == CONN_DST_EG1_DELAYTIME)
return "eg1.delay";
if (destination == CONN_DST_EG1_HOLDTIME)
return "eg1.hold";
if (destination == CONN_DST_EG1_SHUTDOWNTIME)
return "eg1.shutdown";
if (destination == CONN_DST_EG2_DELAYTIME)
return "eg2.delay";
if (destination == CONN_DST_EG2_HOLDTIME)
return "eg.2hold";
if (destination == CONN_DST_FILTER_CUTOFF)
return "filter.cutoff"; // NOT SURE WITHOUT DLS 2 SPEC
if (destination == CONN_DST_FILTER_Q)
return "filter.q"; // NOT SURE WITHOUT DLS 2 SPEC
return null;
}
public static String getSourceName(int source) {
if (source == CONN_SRC_NONE)
return "none";
if (source == CONN_SRC_LFO)
return "lfo";
if (source == CONN_SRC_KEYONVELOCITY)
return "keyonvelocity";
if (source == CONN_SRC_KEYNUMBER)
return "keynumber";
if (source == CONN_SRC_EG1)
return "eg1";
if (source == CONN_SRC_EG2)
return "eg2";
if (source == CONN_SRC_PITCHWHEEL)
return "pitchweel";
if (source == CONN_SRC_CC1)
return "cc1";
if (source == CONN_SRC_CC7)
return "cc7";
if (source == CONN_SRC_CC10)
return "c10";
if (source == CONN_SRC_CC11)
return "cc11";
if (source == CONN_SRC_POLYPRESSURE)
return "polypressure";
if (source == CONN_SRC_CHANNELPRESSURE)
return "channelpressure";
if (source == CONN_SRC_VIBRATO)
return "vibrato";
if (source == CONN_SRC_MONOPRESSURE)
return "monopressure";
if (source == CONN_SRC_CC91)
return "cc91";
if (source == CONN_SRC_CC93)
return "cc93";
return null;
}
public int getDestination() {
return destination;
}
public void setDestination(int destination) {
this.destination = destination;
}
public int getScale() {
return scale;
}
public void setScale(int scale) {
this.scale = scale;
}
public int getSource() {
return source;
}
public void setSource(int source) {
this.source = source;
}
public int getVersion() {
return version;
}
public void setVersion(int version) {
this.version = version;
}
public int getTransform() {
return transform;
}
public void setTransform(int transform) {
this.transform = transform;
}
}