/[svn]/jsampler/trunk/src/org/jsampler/LscpTree.java
ViewVC logotype

Annotation of /jsampler/trunk/src/org/jsampler/LscpTree.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2200 - (hide annotations) (download)
Sun Jul 3 22:01:16 2011 UTC (12 years, 10 months ago) by iliev
File size: 17066 byte(s)
* added support for exporting effects to LSCP script
* Sampler Browser (work in progress): initial
  implementation of sampler channels

1 iliev 912 /*
2     * JSampler - a java front-end for LinuxSampler
3     *
4 iliev 2200 * Copyright (C) 2005-2011 Grigor Iliev <grigor@grigoriliev.com>
5 iliev 912 *
6     * This file is part of JSampler.
7     *
8     * JSampler is free software; you can redistribute it and/or modify
9     * it under the terms of the GNU General Public License version 2
10     * as published by the Free Software Foundation.
11     *
12     * JSampler is distributed in the hope that it will be useful,
13     * but WITHOUT ANY WARRANTY; without even the implied warranty of
14     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15     * GNU General Public License for more details.
16     *
17     * You should have received a copy of the GNU General Public License
18     * along with JSampler; if not, write to the Free Software
19     * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
20     * MA 02111-1307 USA
21     */
22    
23     package org.jsampler;
24    
25     /**
26 iliev 1143 * Provides the LSCP grammar represented in a tree structure.
27 iliev 912 * @author Grigor Iliev
28     */
29     public class LscpTree {
30     private static LscpNode rootNode;
31    
32     static {
33     LscpNode add = new LscpNode("ADD");
34 iliev 2192 LscpNode append = new LscpNode("APPEND");
35 iliev 1143 LscpNode clear = new LscpNode("CLEAR", new LscpNode("MIDI_INSTRUMENTS", true, false));
36 iliev 1204 LscpNode copy = new LscpNode("COPY");
37 iliev 912 LscpNode create = new LscpNode("CREATE");
38     LscpNode destroy = new LscpNode("DESTROY");
39 iliev 1467 LscpNode edit = new LscpNode("EDIT");
40 iliev 1204 LscpNode find = new LscpNode("FIND");
41 iliev 1355 LscpNode format = new LscpNode("FORMAT", new LscpNode("INSTRUMENTS_DB", true, false));
42 iliev 912 LscpNode get = new LscpNode("GET");
43 iliev 2192 LscpNode insert = new LscpNode("INSERT");
44 iliev 912 LscpNode list = new LscpNode("LIST");
45     LscpNode load = new LscpNode("LOAD");
46 iliev 1143 LscpNode map = new LscpNode("MAP", new LscpNode("MIDI_INSTRUMENT", true));
47 iliev 1204 LscpNode move = new LscpNode("MOVE");
48 iliev 912 LscpNode quit = new LscpNode("QUIT", true, false);
49 iliev 1143 LscpNode remove = new LscpNode("REMOVE");
50 iliev 912 LscpNode reset = new LscpNode("RESET", new LscpNode("CHANNEL"), true, false);
51     LscpNode set = new LscpNode("SET");
52     LscpNode subscribe = new LscpNode("SUBSCRIBE");
53 iliev 1143 LscpNode unmap = new LscpNode("UNMAP", new LscpNode("MIDI_INSTRUMENT"), true);
54 iliev 912 LscpNode unsubscribe = new LscpNode("UNSUBSCRIBE");
55    
56     LscpNode[] cmds = {
57 iliev 2192 add, append, clear, copy, create, destroy, edit, find, format, get, insert,
58     list, load, map, move, quit, remove, reset, set, subscribe, unmap, unsubscribe
59 iliev 912 };
60    
61     rootNode = new LscpNode("", cmds);
62    
63     // ADD command
64 iliev 2192 LscpNode[] nodes = new LscpNode[5];
65 iliev 1143 nodes[0] = new LscpNode("CHANNEL", true, false);
66 iliev 1204 nodes[1] = new LscpNode("DB_INSTRUMENT_DIRECTORY");
67     LscpNode addDbInstr = new LscpNode("DB_INSTRUMENTS", true);
68     nodes[2] = addDbInstr;
69 iliev 1767 nodes[3] = new LscpNode("MIDI_INSTRUMENT_MAP", true);
70 iliev 2192 nodes[4] = new LscpNode("SEND_EFFECT_CHAIN", true);
71 iliev 912 add.setChildren(nodes);
72    
73 iliev 1204 // ADD DB_INSTRUMENTS command
74     nodes = new LscpNode[4];
75     nodes[0] = new LscpNode("FLAT", true);
76     LscpNode addDbInstrnNonModal = new LscpNode("NON_MODAL", true);
77     nodes[1] = addDbInstrnNonModal;
78     nodes[2] = new LscpNode("NON_RECURSIVE", true);
79     nodes[3] = new LscpNode("RECURSIVE", true);
80     addDbInstr.setChildren(nodes);
81    
82     // ADD DB_INSTRUMENTS NON_MODAL command
83     nodes = new LscpNode[3];
84     nodes[0] = new LscpNode("FLAT", true);
85     nodes[1] = new LscpNode("NON_RECURSIVE", true);
86     nodes[2] = new LscpNode("RECURSIVE", true);
87     addDbInstrnNonModal.setChildren(nodes);
88    
89 iliev 2192 // APPEND command
90     nodes = new LscpNode[1];
91     nodes[0] = new LscpNode("SEND_EFFECT_CHAIN", new LscpNode("EFFECT", true));
92     append.setChildren(nodes);
93    
94 iliev 1204 // COPY command
95     nodes = new LscpNode[2];
96     nodes[0] = new LscpNode("DB_INSTRUMENT", true);
97     nodes[1] = new LscpNode("DB_INSTRUMENT_DIRECTORY", true);
98     copy.setChildren(nodes);
99    
100 iliev 912 // CREATE command
101 iliev 2192 nodes = new LscpNode[4];
102 iliev 1767 nodes[0] = new LscpNode("AUDIO_OUTPUT_DEVICE", true);
103 iliev 2192 nodes[1] = new LscpNode("EFFECT_INSTANCE", true);
104     nodes[2] = new LscpNode("FX_SEND", true);
105     nodes[3] = new LscpNode("MIDI_INPUT_DEVICE", true);
106 iliev 912 create.setChildren(nodes);
107    
108     // DESTROY command
109 iliev 2192 nodes = new LscpNode[4];
110 iliev 1767 nodes[0] = new LscpNode("AUDIO_OUTPUT_DEVICE", true);
111 iliev 2192 nodes[1] = new LscpNode("EFFECT_INSTANCE", true);
112     nodes[2] = new LscpNode("FX_SEND", true);
113     nodes[3] = new LscpNode("MIDI_INPUT_DEVICE", true);
114 iliev 912 destroy.setChildren(nodes);
115    
116 iliev 1467 //EDIT command
117     nodes = new LscpNode[1];
118     LscpNode editChn = new LscpNode("CHANNEL", new LscpNode("INSTRUMENT", true, true));
119     nodes[0] = editChn;
120     edit.setChildren(nodes);
121    
122    
123 iliev 1204 // FIND command
124 iliev 1767 nodes = new LscpNode[3];
125 iliev 1204 LscpNode n = new LscpNode("NON_RECURSIVE", true);
126     nodes[0] = new LscpNode("DB_INSTRUMENT_DIRECTORIES", n, true);
127     n = new LscpNode("NON_RECURSIVE", true);
128     nodes[1] = new LscpNode("DB_INSTRUMENTS", n, true);
129 iliev 1767 nodes[2] = new LscpNode("LOST", new LscpNode("DB_INSTRUMENT_FILES", true, false));
130 iliev 1204 find.setChildren(nodes);
131    
132 iliev 912 // GET command
133 iliev 2192 nodes = new LscpNode[41];
134 iliev 1767 nodes[0] = new LscpNode("AUDIO_OUTPUT_CHANNEL", new LscpNode("INFO", true));
135     nodes[1] = new LscpNode("AUDIO_OUTPUT_CHANNEL_PARAMETER", new LscpNode("INFO", true));
136     nodes[2] = new LscpNode("AUDIO_OUTPUT_DEVICE", new LscpNode("INFO", true));
137 iliev 912 nodes[3] = new LscpNode("AUDIO_OUTPUT_DEVICES", true, false);
138 iliev 1767 nodes[4] = new LscpNode("AUDIO_OUTPUT_DRIVER", new LscpNode("INFO", true));
139     nodes[5] = new LscpNode("AUDIO_OUTPUT_DRIVER_PARAMETER", new LscpNode("INFO", true));
140 iliev 912 nodes[6] = new LscpNode("AVAILABLE_AUDIO_OUTPUT_DRIVERS", true, false);
141 iliev 2192 nodes[7] = new LscpNode("AVAILABLE_EFFECTS", true, false);
142     nodes[8] = new LscpNode("AVAILABLE_ENGINES", true, false);
143     nodes[9] = new LscpNode("AVAILABLE_MIDI_INPUT_DRIVERS", true, false);
144 iliev 912 LscpNode getChn = new LscpNode("CHANNEL");
145 iliev 2192 nodes[10] = getChn;
146     nodes[11] = new LscpNode("CHANNELS", true, false);
147     nodes[12] = new LscpNode("DB_INSTRUMENT", new LscpNode("INFO", true));
148     nodes[13] = new LscpNode("DB_INSTRUMENT_DIRECTORIES", true);
149     nodes[14] = new LscpNode("DB_INSTRUMENT_DIRECTORY", new LscpNode("INFO", true));
150     nodes[15] = new LscpNode("DB_INSTRUMENTS", true);
151     nodes[16] = new LscpNode("DB_INSTRUMENTS_JOB", new LscpNode("INFO", true));
152     nodes[17] = new LscpNode("EFFECT", new LscpNode("INFO", true));
153     nodes[18] = new LscpNode("EFFECT_INSTANCE", new LscpNode("INFO", true));
154     nodes[19] = new LscpNode("EFFECT_INSTANCE_INPUT_CONTROL", new LscpNode("INFO", true));
155     nodes[20] = new LscpNode("EFFECT_INSTANCES", true, false);
156     nodes[21] = new LscpNode("ENGINE", new LscpNode("INFO", true));
157 iliev 1767 LscpNode getFile = new LscpNode("FILE");
158 iliev 2192 nodes[22] = getFile;
159     nodes[23] = new LscpNode("FX_SEND", new LscpNode("INFO", true));
160     nodes[24] = new LscpNode("FX_SENDS");
161     nodes[25] = new LscpNode("MIDI_INPUT_DEVICE", new LscpNode("INFO", true));
162     nodes[26] = new LscpNode("MIDI_INPUT_DEVICES", true, false);
163     nodes[27] = new LscpNode("MIDI_INPUT_DRIVER", new LscpNode("INFO", true));
164     nodes[28] = new LscpNode("MIDI_INPUT_DRIVER_PARAMETER", new LscpNode("INFO", true));
165     nodes[29] = new LscpNode("MIDI_INPUT_PORT", new LscpNode("INFO", true));
166     nodes[30] = new LscpNode("MIDI_INPUT_PORT_PARAMETER", new LscpNode("INFO", true));
167     nodes[31] = new LscpNode("MIDI_INSTRUMENT", new LscpNode("INFO", true));
168     nodes[32] = new LscpNode("MIDI_INSTRUMENT_MAP", new LscpNode("INFO", true));
169     nodes[33] = new LscpNode("MIDI_INSTRUMENT_MAPS", true, false);
170     nodes[34] = new LscpNode("MIDI_INSTRUMENTS", new LscpNode("ALL", true, false), true);
171     nodes[35] = new LscpNode("DB_INSTRUMENT_DIRECTORY", new LscpNode("INFO", true));
172     nodes[36] = new LscpNode("SEND_EFFECT_CHAIN", new LscpNode("INFO", true));
173     nodes[37] = new LscpNode("SEND_EFFECT_CHAINS", true);
174     nodes[38] = new LscpNode("STREAMS", true, false);
175     nodes[39] = new LscpNode("VOICES", true, false);
176     nodes[40] = new LscpNode("VOLUME", true, false);
177 iliev 912 get.setChildren(nodes);
178    
179     // GET CHANNEL command
180     nodes = new LscpNode[4];
181 iliev 1767 LscpNode getChnBufFill = new LscpNode("BUFFER_FILL");
182     nodes[0] = getChnBufFill;
183     nodes[1] = new LscpNode("INFO", true);
184     nodes[2] = new LscpNode("STREAM_COUNT", true);
185     nodes[3] = new LscpNode("VOICE_COUNT", true);
186 iliev 912 getChn.setChildren(nodes);
187    
188 iliev 1767 // GET CHANNEL BUFFER_FILL command
189     nodes = new LscpNode[2];
190     nodes[0] = new LscpNode("BYTES", true);
191     nodes[1] = new LscpNode("PERCENTAGE", true);
192     getChnBufFill.setChildren(nodes);
193    
194     // GET FILE command
195     nodes = new LscpNode[2];
196     nodes[0] = new LscpNode("INSTRUMENT", new LscpNode("INFO", true));
197     nodes[1] = new LscpNode("INSTRUMENTS", true);
198     getFile.setChildren(nodes);
199    
200 iliev 2192 // INSERT command
201     nodes = new LscpNode[1];
202     nodes[0] = new LscpNode("SEND_EFFECT_CHAIN", new LscpNode("EFFECT", true));
203     insert.setChildren(nodes);
204    
205 iliev 912 // LIST command
206 iliev 2192 nodes = new LscpNode[15];
207 iliev 912 nodes[0] = new LscpNode("AUDIO_OUTPUT_DEVICES", true, false);
208     nodes[1] = new LscpNode("AVAILABLE_AUDIO_OUTPUT_DRIVERS", true, false);
209 iliev 2192 nodes[2] = new LscpNode("AVAILABLE_EFFECTS", true, false);
210     nodes[3] = new LscpNode("AVAILABLE_ENGINES", true, false);
211     nodes[4] = new LscpNode("AVAILABLE_MIDI_INPUT_DRIVERS", true, false);
212     nodes[5] = new LscpNode("CHANNELS", true, false);
213     nodes[6] = new LscpNode("DB_INSTRUMENT_DIRECTORIES", true);
214     nodes[7] = new LscpNode("DB_INSTRUMENTS", true);
215     nodes[8] = new LscpNode("EFFECT_INSTANCES", true, false);
216     nodes[9] = new LscpNode("FILE", new LscpNode("INSTRUMENTS", true));
217     nodes[10] = new LscpNode("FX_SENDS");
218     nodes[11] = new LscpNode("MIDI_INPUT_DEVICES", true, false);
219     nodes[12] = new LscpNode("MIDI_INSTRUMENT_MAPS", true, false);
220     nodes[13] = new LscpNode("MIDI_INSTRUMENTS", true);
221     nodes[14] = new LscpNode("SEND_EFFECT_CHAINS", true);
222 iliev 912 list.setChildren(nodes);
223    
224     // LOAD command
225     nodes = new LscpNode[2];
226 iliev 1767 nodes[0] = new LscpNode("ENGINE", true);
227 iliev 912 nodes[1] = new LscpNode("INSTRUMENT", new LscpNode("NON_MODAL"), true);
228     load.setChildren(nodes);
229    
230 iliev 1204 // MOVE command
231     nodes = new LscpNode[2];
232     nodes[0] = new LscpNode("DB_INSTRUMENT", true);
233     nodes[1] = new LscpNode("DB_INSTRUMENT_DIRECTORY", true);
234     move.setChildren(nodes);
235    
236 iliev 1143 // REMOVE command
237 iliev 2200 nodes = new LscpNode[6];
238 iliev 1767 nodes[0] = new LscpNode("CHANNEL", true);
239 iliev 1204 nodes[1] = new LscpNode("DB_INSTRUMENT", true);
240     nodes[2] = new LscpNode("DB_INSTRUMENT_DIRECTORY", new LscpNode("FORCE", true), true);
241 iliev 2200 nodes[3] = new LscpNode("FX_SEND", new LscpNode("EFFECT", true), true);
242     nodes[4] = new LscpNode("MIDI_INSTRUMENT_MAP", new LscpNode("ALL", true, false), true);
243     nodes[5] = new LscpNode("SEND_EFFECT_CHAIN", new LscpNode("EFFECT", true), true);
244 iliev 1143 remove.setChildren(nodes);
245    
246 iliev 912 // SET command
247 iliev 2192 nodes = new LscpNode[14];
248 iliev 1767 nodes[0] = new LscpNode("AUDIO_OUTPUT_CHANNEL_PARAMETER", true);
249     nodes[1] = new LscpNode("AUDIO_OUTPUT_DEVICE_PARAMETER", true);
250 iliev 912 LscpNode setChn = new LscpNode("CHANNEL");
251     nodes[2] = setChn;
252 iliev 1204 LscpNode setDbInstr = new LscpNode("DB_INSTRUMENT");
253     nodes[3] = setDbInstr;
254     LscpNode setDbDir = new LscpNode("DB_INSTRUMENT_DIRECTORY");
255     nodes[4] = setDbDir;
256 iliev 1767 nodes[5] = new LscpNode("ECHO", true);
257 iliev 2192 nodes[6] = new LscpNode("EFFECT_INSTANCE_INPUT_CONTROL", new LscpNode("VALUE", true));
258 iliev 1204 LscpNode setFxSend = new LscpNode("FX_SEND");
259 iliev 2192 nodes[7] = setFxSend;
260     nodes[8] = new LscpNode("MIDI_INPUT_DEVICE_PARAMETER", true);
261     nodes[9] = new LscpNode("MIDI_INPUT_PORT_PARAMETER", true);
262     nodes[10] = new LscpNode("MIDI_INSTRUMENT_MAP", new LscpNode("NAME", true));
263     nodes[11] = new LscpNode("STREAMS", true);
264     nodes[12] = new LscpNode("VOICES", true);
265     nodes[13] = new LscpNode("VOLUME", true);
266 iliev 912 set.setChildren(nodes);
267    
268     // SET CHANNEL command
269 iliev 1143 nodes = new LscpNode[12];
270 iliev 1767 nodes[0] = new LscpNode("AUDIO_OUTPUT_CHANNEL", true);
271     nodes[1] = new LscpNode("AUDIO_OUTPUT_DEVICE", true);
272     nodes[2] = new LscpNode("AUDIO_OUTPUT_TYPE", true);
273     nodes[3] = new LscpNode("MIDI_INPUT", true);
274     nodes[4] = new LscpNode("MIDI_INPUT_CHANNEL", true);
275     nodes[5] = new LscpNode("MIDI_INPUT_DEVICE", true);
276     nodes[6] = new LscpNode("MIDI_INPUT_PORT", true);
277     nodes[7] = new LscpNode("MIDI_INPUT_TYPE", true);
278     nodes[8] = new LscpNode("MIDI_INSTRUMENT_MAP", true);
279     nodes[9] = new LscpNode("MUTE", true);
280     nodes[10] = new LscpNode("SOLO", true);
281     nodes[11] = new LscpNode("VOLUME", true);
282 iliev 912 setChn.setChildren(nodes);
283    
284 iliev 1204 // SET DB_INSTRUMENT
285 iliev 1767 nodes = new LscpNode[3];
286     nodes[0] = new LscpNode("DESCRIPTION", true);
287     nodes[1] = new LscpNode("FILE_PATH", true);
288     nodes[2] = new LscpNode("NAME", true);
289 iliev 1204 setDbInstr.setChildren(nodes);
290    
291     // SET DB_INSTRUMENT_DIRECTORY
292     nodes = new LscpNode[2];
293 iliev 1767 nodes[0] = new LscpNode("NAME", true);
294     nodes[1] = new LscpNode("DESCRIPTION", true);
295 iliev 1204 setDbDir.setChildren(nodes);
296    
297 iliev 1143 // SET FX_SEND command
298 iliev 2200 nodes = new LscpNode[5];
299 iliev 1767 nodes[0] = new LscpNode("AUDIO_OUTPUT_CHANNEL", true);
300 iliev 2200 nodes[1] = new LscpNode("EFFECT", true);
301     nodes[2] = new LscpNode("LEVEL", true);
302     nodes[3] = new LscpNode("MIDI_CONTROLLER", true);
303     nodes[4] = new LscpNode("NAME", true);
304 iliev 1204 setFxSend.setChildren(nodes);
305 iliev 1143
306 iliev 912 // SUBSCRIBE command
307 iliev 2192 nodes = new LscpNode[30];
308 iliev 1143 nodes[0] = new LscpNode("AUDIO_OUTPUT_DEVICE_COUNT", true, false);
309     nodes[1] = new LscpNode("AUDIO_OUTPUT_DEVICE_INFO", true, false);
310     nodes[2] = new LscpNode("BUFFER_FILL", true, false);
311     nodes[3] = new LscpNode("CHANNEL_COUNT", true, false);
312     nodes[4] = new LscpNode("CHANNEL_INFO", true, false);
313 iliev 1767 nodes[5] = new LscpNode("CHANNEL_MIDI", true, false);
314     nodes[6] = new LscpNode("DB_INSTRUMENT_DIRECTORY_COUNT", true, false);
315     nodes[7] = new LscpNode("DB_INSTRUMENT_DIRECTORY_INFO", true, false);
316     nodes[8] = new LscpNode("DB_INSTRUMENT_COUNT", true, false);
317     nodes[9] = new LscpNode("DB_INSTRUMENT_INFO", true, false);
318     nodes[10] = new LscpNode("DB_INSTRUMENTS_JOB_INFO", true, false);
319     nodes[11] = new LscpNode("DEVICE_MIDI", true, false);
320 iliev 2192 nodes[12] = new LscpNode("EFFECT_INSTANCE_COUNT", true, false);
321     nodes[13] = new LscpNode("EFFECT_INSTANCE_INFO", true, false);
322     nodes[14] = new LscpNode("FX_SEND_COUNT", true, false);
323     nodes[15] = new LscpNode("FX_SEND_INFO", true, false);
324     nodes[16] = new LscpNode("GLOBAL_INFO", true, false);
325     nodes[17] = new LscpNode("MIDI_INPUT_DEVICE_COUNT", true, false);
326     nodes[18] = new LscpNode("MIDI_INPUT_DEVICE_INFO", true, false);
327     nodes[19] = new LscpNode("MIDI_INSTRUMENT_COUNT", true, false);
328     nodes[20] = new LscpNode("MIDI_INSTRUMENT_INFO", true, false);
329     nodes[21] = new LscpNode("MIDI_INSTRUMENT_MAP_COUNT", true, false);
330     nodes[22] = new LscpNode("MIDI_INSTRUMENT_MAP_INFO", true, false);
331     nodes[23] = new LscpNode("MISCELLANEOUS", true, false);
332     nodes[24] = new LscpNode("SEND_EFFECT_CHAIN_COUNT", true, false);
333     nodes[25] = new LscpNode("SEND_EFFECT_CHAIN_INFO", true, false);
334     nodes[26] = new LscpNode("STREAM_COUNT", true, false);
335     nodes[27] = new LscpNode("TOTAL_STREAM_COUNT", true, false);
336     nodes[28] = new LscpNode("TOTAL_VOICE_COUNT", true, false);
337     nodes[29] = new LscpNode("VOICE_COUNT", true, false);
338 iliev 912 subscribe.setChildren(nodes);
339    
340     // UNSUBSCRIBE command
341 iliev 2192 nodes = new LscpNode[30];
342 iliev 1143 nodes[0] = new LscpNode("AUDIO_OUTPUT_DEVICE_COUNT", true, false);
343     nodes[1] = new LscpNode("AUDIO_OUTPUT_DEVICE_INFO", true, false);
344     nodes[2] = new LscpNode("BUFFER_FILL", true, false);
345     nodes[3] = new LscpNode("CHANNEL_COUNT", true, false);
346     nodes[4] = new LscpNode("CHANNEL_INFO", true, false);
347 iliev 1767 nodes[5] = new LscpNode("CHANNEL_MIDI", true, false);
348     nodes[6] = new LscpNode("DB_INSTRUMENT_DIRECTORY_COUNT", true, false);
349     nodes[7] = new LscpNode("DB_INSTRUMENT_DIRECTORY_INFO", true, false);
350     nodes[8] = new LscpNode("DB_INSTRUMENT_COUNT", true, false);
351     nodes[9] = new LscpNode("DB_INSTRUMENT_INFO", true, false);
352     nodes[10] = new LscpNode("DB_INSTRUMENTS_JOB_INFO", true, false);
353     nodes[11] = new LscpNode("DEVICE_MIDI", true, false);
354 iliev 2192 nodes[12] = new LscpNode("EFFECT_INSTANCE_COUNT", true, false);
355     nodes[13] = new LscpNode("EFFECT_INSTANCE_INFO", true, false);
356     nodes[14] = new LscpNode("FX_SEND_COUNT", true, false);
357     nodes[15] = new LscpNode("FX_SEND_INFO", true, false);
358     nodes[16] = new LscpNode("GLOBAL_INFO", true, false);
359     nodes[17] = new LscpNode("MIDI_INPUT_DEVICE_COUNT", true, false);
360     nodes[18] = new LscpNode("MIDI_INPUT_DEVICE_INFO", true, false);
361     nodes[19] = new LscpNode("MIDI_INSTRUMENT_COUNT", true, false);
362     nodes[20] = new LscpNode("MIDI_INSTRUMENT_INFO", true, false);
363     nodes[21] = new LscpNode("MIDI_INSTRUMENT_MAP_COUNT", true, false);
364     nodes[22] = new LscpNode("MIDI_INSTRUMENT_MAP_INFO", true, false);
365     nodes[23] = new LscpNode("MISCELLANEOUS", true, false);
366     nodes[24] = new LscpNode("SEND_EFFECT_CHAIN_COUNT", true, false);
367     nodes[25] = new LscpNode("SEND_EFFECT_CHAIN_INFO", true, false);
368     nodes[26] = new LscpNode("STREAM_COUNT", true, false);
369     nodes[27] = new LscpNode("TOTAL_STREAM_COUNT", true, false);
370     nodes[28] = new LscpNode("TOTAL_VOICE_COUNT", true, false);
371     nodes[29] = new LscpNode("VOICE_COUNT", true, false);
372 iliev 912 unsubscribe.setChildren(nodes);
373     }
374    
375     /** Forbits the instantiation of this class. */
376     private
377     LscpTree() { }
378    
379     /**
380     * Gets the root node of the tree.
381     */
382     public static LscpNode
383     getRoot() { return rootNode; }
384     }

  ViewVC Help
Powered by ViewVC