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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 912 - (show annotations) (download)
Mon Aug 7 18:34:40 2006 UTC (17 years, 8 months ago) by iliev
File size: 6478 byte(s)
* updating to JSampler 0.3a

1 /*
2 * JSampler - a java front-end for LinuxSampler
3 *
4 * Copyright (C) 2005, 2006 Grigor Kirilov Iliev
5 *
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 *
27 * @author Grigor Iliev
28 */
29 public class LscpTree {
30 private static LscpNode rootNode;
31
32 static {
33 LscpNode add = new LscpNode("ADD");
34 LscpNode create = new LscpNode("CREATE");
35 LscpNode destroy = new LscpNode("DESTROY");
36 LscpNode get = new LscpNode("GET");
37 LscpNode list = new LscpNode("LIST");
38 LscpNode load = new LscpNode("LOAD");
39 LscpNode quit = new LscpNode("QUIT", true, false);
40 LscpNode remove = new LscpNode("REMOVE", new LscpNode("CHANNEL"));
41 LscpNode reset = new LscpNode("RESET", new LscpNode("CHANNEL"), true, false);
42 LscpNode set = new LscpNode("SET");
43 LscpNode subscribe = new LscpNode("SUBSCRIBE");
44 LscpNode unsubscribe = new LscpNode("UNSUBSCRIBE");
45
46 LscpNode[] cmds = {
47 add, create, destroy, get, list, load, quit,
48 remove, reset, set, subscribe, unsubscribe
49 };
50
51 rootNode = new LscpNode("", cmds);
52
53 // ADD command
54 LscpNode[] nodes = { new LscpNode("CHANNEL", true, false) };
55 add.setChildren(nodes);
56
57 // CREATE command
58 nodes = new LscpNode[2];
59 nodes[0] = new LscpNode("AUDIO_OUTPUT_DEVICE");
60 nodes[1] = new LscpNode("MIDI_INPUT_DEVICE");
61 create.setChildren(nodes);
62
63 // DESTROY command
64 nodes = new LscpNode[2];
65 nodes[0] = new LscpNode("AUDIO_OUTPUT_DEVICE");
66 nodes[1] = new LscpNode("MIDI_INPUT_DEVICE");
67 destroy.setChildren(nodes);
68
69 // GET command
70 nodes = new LscpNode[19];
71 nodes[0] = new LscpNode("AUDIO_OUTPUT_CHANNEL", new LscpNode("INFO"));
72 nodes[1] = new LscpNode("AUDIO_OUTPUT_CHANNEL_PARAMETER", new LscpNode("INFO"));
73 nodes[2] = new LscpNode("AUDIO_OUTPUT_DEVICE", new LscpNode("INFO"));
74 nodes[3] = new LscpNode("AUDIO_OUTPUT_DEVICES", true, false);
75 nodes[4] = new LscpNode("AUDIO_OUTPUT_DRIVER", new LscpNode("INFO"));
76 nodes[5] = new LscpNode("AUDIO_OUTPUT_DRIVER_PARAMETER", new LscpNode("INFO"));
77 nodes[6] = new LscpNode("AVAILABLE_AUDIO_OUTPUT_DRIVERS", true, false);
78 nodes[7] = new LscpNode("AVAILABLE_ENGINES", true, false);
79 nodes[8] = new LscpNode("AVAILABLE_MIDI_INPUT_DRIVERS", true, false);
80 LscpNode getChn = new LscpNode("CHANNEL");
81 nodes[9] = getChn;
82 nodes[10] = new LscpNode("CHANNELS", true, false);
83 nodes[11] = new LscpNode("ENGINE", new LscpNode("INFO"));
84 nodes[12] = new LscpNode("MIDI_INPUT_DEVICE", new LscpNode("INFO"));
85 nodes[13] = new LscpNode("MIDI_INPUT_DEVICES", true, false);
86 nodes[14] = new LscpNode("MIDI_INPUT_DRIVER", new LscpNode("INFO"));
87 nodes[15] = new LscpNode("MIDI_INPUT_DRIVER_PARAMETER", new LscpNode("INFO"));
88 nodes[16] = new LscpNode("MIDI_INPUT_PORT", new LscpNode("INFO"));
89 nodes[17] = new LscpNode("MIDI_INPUT_PORT_PARAMETER", new LscpNode("INFO"));
90 nodes[18] = new LscpNode("SERVER", new LscpNode("INFO", true, false));
91 get.setChildren(nodes);
92
93 // GET CHANNEL command
94 nodes = new LscpNode[4];
95 nodes[0] = new LscpNode("BUFFER_FILL");
96 nodes[1] = new LscpNode("INFO");
97 nodes[2] = new LscpNode("STREAM_COUNT");
98 nodes[3] = new LscpNode("VOICE_COUNT");
99 getChn.setChildren(nodes);
100
101 // LIST command
102 nodes = new LscpNode[6];
103 nodes[0] = new LscpNode("AUDIO_OUTPUT_DEVICES", true, false);
104 nodes[1] = new LscpNode("AVAILABLE_AUDIO_OUTPUT_DRIVERS", true, false);
105 nodes[2] = new LscpNode("AVAILABLE_ENGINES", true, false);
106 nodes[3] = new LscpNode("AVAILABLE_MIDI_INPUT_DRIVERS", true, false);
107 nodes[4] = new LscpNode("CHANNELS", true, false);
108 nodes[5] = new LscpNode("MIDI_INPUT_DEVICES", true, false);
109 list.setChildren(nodes);
110
111 // LOAD command
112 nodes = new LscpNode[2];
113 nodes[0] = new LscpNode("ENGINE");
114 nodes[1] = new LscpNode("INSTRUMENT", new LscpNode("NON_MODAL"), true);
115 load.setChildren(nodes);
116
117 // SET command
118 nodes = new LscpNode[6];
119 nodes[0] = new LscpNode("AUDIO_OUTPUT_CHANNEL_PARAMETER");
120 nodes[1] = new LscpNode("AUDIO_OUTPUT_DEVICE_PARAMETER");
121 LscpNode setChn = new LscpNode("CHANNEL");
122 nodes[2] = setChn;
123 nodes[3] = new LscpNode("ECHO");
124 nodes[4] = new LscpNode("MIDI_INPUT_DEVICE_PARAMETER");
125 nodes[5] = new LscpNode("MIDI_INPUT_PORT_PARAMETER");
126 set.setChildren(nodes);
127
128 // SET CHANNEL command
129 nodes = new LscpNode[11];
130 nodes[0] = new LscpNode("AUDIO_OUTPUT_CHANNEL");
131 nodes[1] = new LscpNode("AUDIO_OUTPUT_DEVICE");
132 nodes[2] = new LscpNode("AUDIO_OUTPUT_TYPE");
133 nodes[3] = new LscpNode("MIDI_INPUT");
134 nodes[4] = new LscpNode("MIDI_INPUT_CHANNEL");
135 nodes[5] = new LscpNode("MIDI_INPUT_DEVICE");
136 nodes[6] = new LscpNode("MIDI_INPUT_PORT");
137 nodes[7] = new LscpNode("MIDI_INPUT_TYPE");
138 nodes[8] = new LscpNode("MUTE");
139 nodes[9] = new LscpNode("SOLO");
140 nodes[10] = new LscpNode("VOLUME");
141 setChn.setChildren(nodes);
142
143 // SUBSCRIBE command
144 nodes = new LscpNode[6];
145 nodes[0] = new LscpNode("BUFFER_FILL", true, false);
146 nodes[1] = new LscpNode("CHANNEL_COUNT", true, false);
147 nodes[2] = new LscpNode("CHANNEL_INFO", true, false);
148 nodes[3] = new LscpNode("MISCELLANEOUS", true, false);
149 nodes[4] = new LscpNode("STREAM_COUNT", true, false);
150 nodes[5] = new LscpNode("VOICE_COUNT", true, false);
151 subscribe.setChildren(nodes);
152
153 // UNSUBSCRIBE command
154 nodes = new LscpNode[6];
155 nodes[0] = new LscpNode("BUFFER_FILL", true, false);
156 nodes[1] = new LscpNode("CHANNEL_COUNT", true, false);
157 nodes[2] = new LscpNode("CHANNEL_INFO", true, false);
158 nodes[3] = new LscpNode("MISCELLANEOUS", true, false);
159 nodes[4] = new LscpNode("STREAM_COUNT", true, false);
160 nodes[5] = new LscpNode("VOICE_COUNT", true, false);
161 unsubscribe.setChildren(nodes);
162 }
163
164 /** Forbits the instantiation of this class. */
165 private
166 LscpTree() { }
167
168 /**
169 * Gets the root node of the tree.
170 */
171 public static LscpNode
172 getRoot() { return rootNode; }
173 }

  ViewVC Help
Powered by ViewVC