2 |
|
|
3 |
|
|
4 |
LinuxSampler Developers C. Schoenebeck |
LinuxSampler Developers C. Schoenebeck |
5 |
Internet-Draft Interessengemeinschaft Software |
Internet-Draft LinuxSampler.org |
6 |
Intended status: Standards Track Engineering e. V. |
Intended status: Standards Track January 9, 2014 |
7 |
Expires: May 5, 2010 November 1, 2009 |
Expires: July 13, 2014 |
8 |
|
|
9 |
|
|
10 |
LinuxSampler Control Protocol |
LinuxSampler Control Protocol |
11 |
LSCP 1.5 |
LSCP 1.6 |
12 |
|
|
13 |
Abstract |
Abstract |
14 |
|
|
26 |
aware will be disclosed, in accordance with Section 6 of BCP 79. |
aware will be disclosed, in accordance with Section 6 of BCP 79. |
27 |
|
|
28 |
Internet-Drafts are working documents of the Internet Engineering |
Internet-Drafts are working documents of the Internet Engineering |
29 |
Task Force (IETF), its areas, and its working groups. Note that |
Task Force (IETF). Note that other groups may also distribute |
30 |
other groups may also distribute working documents as Internet- |
working documents as Internet-Drafts. The list of current Internet- |
31 |
Drafts. |
Drafts is at http://datatracker.ietf.org/drafts/current/. |
32 |
|
|
33 |
Internet-Drafts are draft documents valid for a maximum of six months |
Internet-Drafts are draft documents valid for a maximum of six months |
34 |
and may be updated, replaced, or obsoleted by other documents at any |
and may be updated, replaced, or obsoleted by other documents at any |
35 |
time. It is inappropriate to use Internet-Drafts as reference |
time. It is inappropriate to use Internet-Drafts as reference |
36 |
material or to cite them other than as "work in progress." |
material or to cite them other than as "work in progress." |
37 |
|
|
38 |
The list of current Internet-Drafts can be accessed at |
This Internet-Draft will expire on July 13, 2014. |
|
http://www.ietf.org/ietf/1id-abstracts.txt. |
|
39 |
|
|
|
The list of Internet-Draft Shadow Directories can be accessed at |
|
|
http://www.ietf.org/shadow.html. |
|
40 |
|
|
|
This Internet-Draft will expire on May 5, 2010. |
|
41 |
|
|
42 |
|
|
43 |
|
|
48 |
|
|
49 |
|
|
50 |
|
|
51 |
Schoenebeck Expires May 5, 2010 [Page 1] |
|
52 |
|
|
53 |
|
|
54 |
|
|
55 |
|
Schoenebeck Expires July 13, 2014 [Page 1] |
56 |
|
|
57 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
58 |
|
|
59 |
|
|
60 |
Table of Contents |
Table of Contents |
61 |
|
|
62 |
1. Requirements notation . . . . . . . . . . . . . . . . . . . . 6 |
1. Requirements notation . . . . . . . . . . . . . . . . . . . . 7 |
63 |
2. Versioning of this specification . . . . . . . . . . . . . . 7 |
2. Versioning of this specification . . . . . . . . . . . . . . 8 |
64 |
3. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 8 |
3. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 9 |
65 |
4. Focus of this protocol . . . . . . . . . . . . . . . . . . . 9 |
4. Focus of this protocol . . . . . . . . . . . . . . . . . . . 10 |
66 |
5. Communication Overview . . . . . . . . . . . . . . . . . . . 10 |
5. Communication Overview . . . . . . . . . . . . . . . . . . . 11 |
67 |
5.1. Request/response communication method . . . . . . . . . . 10 |
5.1. Request/response communication method . . . . . . . . . . 11 |
68 |
5.1.1. Result format . . . . . . . . . . . . . . . . . . . . 11 |
5.1.1. Result format . . . . . . . . . . . . . . . . . . . 12 |
69 |
5.2. Subscribe/notify communication method . . . . . . . . . . 13 |
5.2. Subscribe/notify communication method . . . . . . . . . . 14 |
70 |
6. Description for control commands . . . . . . . . . . . . . . 15 |
6. Description for control commands . . . . . . . . . . . . . . 16 |
71 |
6.1. Ignored lines and comments . . . . . . . . . . . . . . . 15 |
6.1. Ignored lines and comments . . . . . . . . . . . . . . . 16 |
72 |
6.2. Configuring audio drivers . . . . . . . . . . . . . . . . 15 |
6.2. Configuring audio drivers . . . . . . . . . . . . . . . . 16 |
73 |
6.2.1. Getting amount of available audio output drivers . . 16 |
6.2.1. Getting amount of available audio output drivers . . 17 |
74 |
6.2.2. Getting all available audio output drivers . . . . . 16 |
6.2.2. Getting all available audio output drivers . . . . . 17 |
75 |
6.2.3. Getting information about a specific audio output |
6.2.3. Getting information about a specific audio output |
76 |
driver . . . . . . . . . . . . . . . . . . . . . . . 16 |
driver . . . . . . . . . . . . . . . . . . . . . . . 17 |
77 |
6.2.4. Getting information about specific audio output |
6.2.4. Getting information about specific audio output |
78 |
driver parameter . . . . . . . . . . . . . . . . . . 17 |
driver parameter . . . . . . . . . . . . . . . . . . 18 |
79 |
6.2.5. Creating an audio output device . . . . . . . . . . . 21 |
6.2.5. Creating an audio output device . . . . . . . . . . 22 |
80 |
6.2.6. Destroying an audio output device . . . . . . . . . . 22 |
6.2.6. Destroying an audio output device . . . . . . . . . 23 |
81 |
6.2.7. Getting all created audio output device count . . . . 23 |
6.2.7. Getting all created audio output device count . . . 24 |
82 |
6.2.8. Getting all created audio output device list . . . . 23 |
6.2.8. Getting all created audio output device list . . . . 24 |
83 |
6.2.9. Getting current settings of an audio output device . 23 |
6.2.9. Getting current settings of an audio output device . 24 |
84 |
6.2.10. Changing settings of audio output devices . . . . . . 25 |
6.2.10. Changing settings of audio output devices . . . . . 26 |
85 |
6.2.11. Getting information about an audio channel . . . . . 26 |
6.2.11. Getting information about an audio channel . . . . . 27 |
86 |
6.2.12. Getting information about specific audio channel |
6.2.12. Getting information about specific audio channel |
87 |
parameter . . . . . . . . . . . . . . . . . . . . . . 27 |
parameter . . . . . . . . . . . . . . . . . . . . . 28 |
88 |
6.2.13. Changing settings of audio output channels . . . . . 29 |
6.2.13. Changing settings of audio output channels . . . . . 30 |
89 |
6.3. Configuring MIDI input drivers . . . . . . . . . . . . . 30 |
6.3. Configuring MIDI input drivers . . . . . . . . . . . . . 31 |
90 |
6.3.1. Getting amount of available MIDI input drivers . . . 31 |
6.3.1. Getting amount of available MIDI input drivers . . . 32 |
91 |
6.3.2. Getting all available MIDI input drivers . . . . . . 31 |
6.3.2. Getting all available MIDI input drivers . . . . . . 32 |
92 |
6.3.3. Getting information about a specific MIDI input |
6.3.3. Getting information about a specific MIDI input |
93 |
driver . . . . . . . . . . . . . . . . . . . . . . . 32 |
driver . . . . . . . . . . . . . . . . . . . . . . . 33 |
94 |
6.3.4. Getting information about specific MIDI input |
6.3.4. Getting information about specific MIDI input |
95 |
driver parameter . . . . . . . . . . . . . . . . . . 33 |
driver parameter . . . . . . . . . . . . . . . . . . 34 |
96 |
6.3.5. Creating a MIDI input device . . . . . . . . . . . . 35 |
6.3.5. Creating a MIDI input device . . . . . . . . . . . . 36 |
97 |
6.3.6. Destroying a MIDI input device . . . . . . . . . . . 36 |
6.3.6. Destroying a MIDI input device . . . . . . . . . . . 37 |
98 |
6.3.7. Getting all created MIDI input device count . . . . . 37 |
6.3.7. Getting all created MIDI input device count . . . . 38 |
99 |
6.3.8. Getting all created MIDI input device list . . . . . 37 |
6.3.8. Getting all created MIDI input device list . . . . . 38 |
100 |
6.3.9. Getting current settings of a MIDI input device . . . 38 |
6.3.9. Getting current settings of a MIDI input device . . 39 |
101 |
6.3.10. Changing settings of MIDI input devices . . . . . . . 39 |
6.3.10. Changing settings of MIDI input devices . . . . . . 40 |
102 |
6.3.11. Getting information about a MIDI port . . . . . . . . 39 |
6.3.11. Getting information about a MIDI port . . . . . . . 40 |
103 |
6.3.12. Getting information about specific MIDI port |
6.3.12. Getting information about specific MIDI port |
104 |
parameter . . . . . . . . . . . . . . . . . . . . . . 40 |
parameter . . . . . . . . . . . . . . . . . . . . . 41 |
105 |
6.3.13. Changing settings of MIDI input ports . . . . . . . . 42 |
6.3.13. Changing settings of MIDI input ports . . . . . . . 43 |
106 |
6.4. Configuring sampler channels . . . . . . . . . . . . . . 43 |
6.4. Configuring sampler channels . . . . . . . . . . . . . . 44 |
107 |
6.4.1. Loading an instrument . . . . . . . . . . . . . . . . 43 |
6.4.1. Loading an instrument . . . . . . . . . . . . . . . 44 |
108 |
|
|
109 |
|
|
110 |
|
|
111 |
Schoenebeck Expires May 5, 2010 [Page 2] |
Schoenebeck Expires July 13, 2014 [Page 2] |
112 |
|
|
113 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
114 |
|
|
115 |
|
|
116 |
6.4.2. Loading a sampler engine . . . . . . . . . . . . . . 44 |
6.4.2. Loading a sampler engine . . . . . . . . . . . . . . 45 |
117 |
6.4.3. Getting all created sampler channel count . . . . . . 45 |
6.4.3. Getting all created sampler channel count . . . . . 46 |
118 |
6.4.4. Getting all created sampler channel list . . . . . . 46 |
6.4.4. Getting all created sampler channel list . . . . . . 47 |
119 |
6.4.5. Adding a new sampler channel . . . . . . . . . . . . 46 |
6.4.5. Adding a new sampler channel . . . . . . . . . . . . 47 |
120 |
6.4.6. Removing a sampler channel . . . . . . . . . . . . . 47 |
6.4.6. Removing a sampler channel . . . . . . . . . . . . . 48 |
121 |
6.4.7. Getting amount of available engines . . . . . . . . . 48 |
6.4.7. Getting amount of available engines . . . . . . . . 49 |
122 |
6.4.8. Getting all available engines . . . . . . . . . . . . 48 |
6.4.8. Getting all available engines . . . . . . . . . . . 49 |
123 |
6.4.9. Getting information about an engine . . . . . . . . . 48 |
6.4.9. Getting information about an engine . . . . . . . . 49 |
124 |
6.4.10. Getting sampler channel information . . . . . . . . . 49 |
6.4.10. Getting sampler channel information . . . . . . . . 51 |
125 |
6.4.11. Current number of active voices . . . . . . . . . . . 52 |
6.4.11. Current number of active voices . . . . . . . . . . 54 |
126 |
6.4.12. Current number of active disk streams . . . . . . . . 53 |
6.4.12. Current number of active disk streams . . . . . . . 54 |
127 |
6.4.13. Current fill state of disk stream buffers . . . . . . 53 |
6.4.13. Current fill state of disk stream buffers . . . . . 55 |
128 |
6.4.14. Setting audio output device . . . . . . . . . . . . . 54 |
6.4.14. Setting audio output device . . . . . . . . . . . . 56 |
129 |
6.4.15. Setting audio output type . . . . . . . . . . . . . . 55 |
6.4.15. Setting audio output type . . . . . . . . . . . . . 56 |
130 |
6.4.16. Setting audio output channel . . . . . . . . . . . . 56 |
6.4.16. Setting audio output channel . . . . . . . . . . . . 57 |
131 |
6.4.17. Setting MIDI input device . . . . . . . . . . . . . . 57 |
6.4.17. Add MIDI input to sampler channel . . . . . . . . . 58 |
132 |
6.4.18. Setting MIDI input type . . . . . . . . . . . . . . . 57 |
6.4.18. Remove MIDI input(s) from sampler channel . . . . . 59 |
133 |
6.4.19. Setting MIDI input port . . . . . . . . . . . . . . . 58 |
6.4.19. Getting all MIDI inputs of a sampler channel . . . . 60 |
134 |
6.4.20. Setting MIDI input channel . . . . . . . . . . . . . 59 |
6.4.20. Setting MIDI input device . . . . . . . . . . . . . 61 |
135 |
6.4.21. Setting channel volume . . . . . . . . . . . . . . . 59 |
6.4.21. Setting MIDI input type . . . . . . . . . . . . . . 62 |
136 |
6.4.22. Muting a sampler channel . . . . . . . . . . . . . . 60 |
6.4.22. Setting MIDI input port . . . . . . . . . . . . . . 63 |
137 |
6.4.23. Soloing a sampler channel . . . . . . . . . . . . . . 61 |
6.4.23. Setting MIDI input channel . . . . . . . . . . . . . 64 |
138 |
6.4.24. Assigning a MIDI instrument map to a sampler |
6.4.24. Setting channel volume . . . . . . . . . . . . . . . 65 |
139 |
channel . . . . . . . . . . . . . . . . . . . . . . . 61 |
6.4.25. Muting a sampler channel . . . . . . . . . . . . . . 66 |
140 |
6.4.25. Adding an effect send to a sampler channel . . . . . 62 |
6.4.26. Soloing a sampler channel . . . . . . . . . . . . . 66 |
141 |
6.4.26. Removing an effect send from a sampler channel . . . 64 |
6.4.27. Assigning a MIDI instrument map to a sampler |
142 |
6.4.27. Getting amount of effect sends on a sampler channel . 64 |
channel . . . . . . . . . . . . . . . . . . . . . . 67 |
143 |
6.4.28. Listing all effect sends on a sampler channel . . . . 65 |
6.4.28. Adding an effect send to a sampler channel . . . . . 68 |
144 |
6.4.29. Getting effect send information . . . . . . . . . . . 65 |
6.4.29. Removing an effect send from a sampler channel . . . 69 |
145 |
6.4.30. Changing effect send's name . . . . . . . . . . . . . 67 |
6.4.30. Getting amount of effect sends on a sampler |
146 |
6.4.31. Altering effect send's audio routing . . . . . . . . 67 |
channel . . . . . . . . . . . . . . . . . . . . . . 70 |
147 |
6.4.32. Altering effect send's MIDI controller . . . . . . . 68 |
6.4.31. Listing all effect sends on a sampler channel . . . 71 |
148 |
6.4.33. Altering effect send's send level . . . . . . . . . . 69 |
6.4.32. Getting effect send information . . . . . . . . . . 71 |
149 |
6.4.34. Sending MIDI messages to sampler channel . . . . . . 70 |
6.4.33. Changing effect send's name . . . . . . . . . . . . 73 |
150 |
6.4.35. Resetting a sampler channel . . . . . . . . . . . . . 71 |
6.4.34. Altering effect send's audio routing . . . . . . . . 74 |
151 |
6.5. Controlling connection . . . . . . . . . . . . . . . . . 72 |
6.4.35. Assigning destination effect to an effect send . . . 75 |
152 |
6.5.1. Register front-end for receiving event messages . . . 72 |
6.4.36. Removing destination effect from an effect send . . 76 |
153 |
6.5.2. Unregister front-end for not receiving event |
6.4.37. Altering effect send's MIDI controller . . . . . . . 76 |
154 |
messages . . . . . . . . . . . . . . . . . . . . . . 73 |
6.4.38. Altering effect send's send level . . . . . . . . . 77 |
155 |
6.5.3. Enable or disable echo of commands . . . . . . . . . 73 |
6.4.39. Sending MIDI messages to sampler channel . . . . . . 78 |
156 |
6.5.4. Close client connection . . . . . . . . . . . . . . . 74 |
6.4.40. Resetting a sampler channel . . . . . . . . . . . . 79 |
157 |
6.6. Global commands . . . . . . . . . . . . . . . . . . . . . 74 |
6.5. Controlling connection . . . . . . . . . . . . . . . . . 80 |
158 |
6.6.1. Current number of active voices . . . . . . . . . . . 74 |
6.5.1. Register front-end for receiving event messages . . 80 |
159 |
6.6.2. Maximum amount of active voices . . . . . . . . . . . 74 |
6.5.2. Unregister front-end for not receiving event |
160 |
6.6.3. Current number of active disk streams . . . . . . . . 75 |
messages . . . . . . . . . . . . . . . . . . . . . . 81 |
161 |
6.6.4. Reset sampler . . . . . . . . . . . . . . . . . . . . 75 |
6.5.3. Enable or disable echo of commands . . . . . . . . . 81 |
162 |
6.6.5. General sampler informations . . . . . . . . . . . . 75 |
6.5.4. Close client connection . . . . . . . . . . . . . . 82 |
163 |
6.6.6. Getting global volume attenuation . . . . . . . . . . 76 |
6.6. Global commands . . . . . . . . . . . . . . . . . . . . . 82 |
164 |
|
|
165 |
|
|
166 |
|
|
167 |
Schoenebeck Expires May 5, 2010 [Page 3] |
Schoenebeck Expires July 13, 2014 [Page 3] |
168 |
|
|
169 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
170 |
|
|
171 |
|
|
172 |
6.6.7. Setting global volume attenuation . . . . . . . . . . 76 |
6.6.1. Current number of active voices . . . . . . . . . . 82 |
173 |
6.6.8. Getting global voice limit . . . . . . . . . . . . . 77 |
6.6.2. Maximum amount of active voices . . . . . . . . . . 82 |
174 |
6.6.9. Setting global voice limit . . . . . . . . . . . . . 77 |
6.6.3. Current number of active disk streams . . . . . . . 83 |
175 |
6.6.10. Getting global disk stream limit . . . . . . . . . . 78 |
6.6.4. Reset sampler . . . . . . . . . . . . . . . . . . . 83 |
176 |
6.6.11. Setting global disk stream limit . . . . . . . . . . 79 |
6.6.5. General sampler informations . . . . . . . . . . . . 83 |
177 |
6.7. MIDI Instrument Mapping . . . . . . . . . . . . . . . . . 79 |
6.6.6. Getting global volume attenuation . . . . . . . . . 84 |
178 |
6.7.1. Create a new MIDI instrument map . . . . . . . . . . 80 |
6.6.7. Setting global volume attenuation . . . . . . . . . 85 |
179 |
6.7.2. Delete one particular or all MIDI instrument maps . . 81 |
6.6.8. Getting global voice limit . . . . . . . . . . . . . 85 |
180 |
6.7.3. Get amount of existing MIDI instrument maps . . . . . 82 |
6.6.9. Setting global voice limit . . . . . . . . . . . . . 86 |
181 |
6.7.4. Getting all created MIDI instrument maps . . . . . . 82 |
6.6.10. Getting global disk stream limit . . . . . . . . . . 87 |
182 |
6.7.5. Getting MIDI instrument map information . . . . . . . 82 |
6.6.11. Setting global disk stream limit . . . . . . . . . . 87 |
183 |
6.7.6. Renaming a MIDI instrument map . . . . . . . . . . . 83 |
6.7. MIDI Instrument Mapping . . . . . . . . . . . . . . . . . 88 |
184 |
6.7.7. Create or replace a MIDI instrument map entry . . . . 84 |
6.7.1. Create a new MIDI instrument map . . . . . . . . . . 88 |
185 |
6.7.8. Getting ammount of MIDI instrument map entries . . . 87 |
6.7.2. Delete one particular or all MIDI instrument maps . 89 |
186 |
6.7.9. Getting indeces of all entries of a MIDI |
6.7.3. Get amount of existing MIDI instrument maps . . . . 90 |
187 |
instrument map . . . . . . . . . . . . . . . . . . . 87 |
6.7.4. Getting all created MIDI instrument maps . . . . . . 90 |
188 |
6.7.10. Remove an entry from the MIDI instrument map . . . . 88 |
6.7.5. Getting MIDI instrument map information . . . . . . 91 |
189 |
6.7.11. Get current settings of MIDI instrument map entry . . 89 |
6.7.6. Renaming a MIDI instrument map . . . . . . . . . . . 92 |
190 |
6.7.12. Clear MIDI instrument map . . . . . . . . . . . . . . 90 |
6.7.7. Create or replace a MIDI instrument map entry . . . 92 |
191 |
6.8. Managing Instruments Database . . . . . . . . . . . . . . 91 |
6.7.8. Getting amount of MIDI instrument map entries . . . 95 |
192 |
6.8.1. Creating a new instrument directory . . . . . . . . . 91 |
6.7.9. Getting indeces of all entries of a MIDI |
193 |
6.8.2. Deleting an instrument directory . . . . . . . . . . 92 |
instrument map . . . . . . . . . . . . . . . . . . . 96 |
194 |
6.8.3. Getting amount of instrument directories . . . . . . 93 |
6.7.10. Remove an entry from the MIDI instrument map . . . . 96 |
195 |
6.8.4. Listing all directories in specific directory . . . . 93 |
6.7.11. Get current settings of MIDI instrument map entry . 97 |
196 |
6.8.5. Getting instrument directory information . . . . . . 94 |
6.7.12. Clear MIDI instrument map . . . . . . . . . . . . . 99 |
197 |
6.8.6. Renaming an instrument directory . . . . . . . . . . 95 |
6.8. Managing Instruments Database . . . . . . . . . . . . . . 99 |
198 |
6.8.7. Moving an instrument directory . . . . . . . . . . . 95 |
6.8.1. Creating a new instrument directory . . . . . . . . 100 |
199 |
6.8.8. Copying instrument directories . . . . . . . . . . . 96 |
6.8.2. Deleting an instrument directory . . . . . . . . . . 100 |
200 |
6.8.9. Changing the description of directory . . . . . . . . 97 |
6.8.3. Getting amount of instrument directories . . . . . . 101 |
201 |
6.8.10. Finding directories . . . . . . . . . . . . . . . . . 97 |
6.8.4. Listing all directories in specific directory . . . 101 |
202 |
6.8.11. Adding instruments to the instruments database . . . 99 |
6.8.5. Getting instrument directory information . . . . . . 102 |
203 |
6.8.12. Removing an instrument . . . . . . . . . . . . . . . 100 |
6.8.6. Renaming an instrument directory . . . . . . . . . . 103 |
204 |
6.8.13. Getting amount of instruments . . . . . . . . . . . . 101 |
6.8.7. Moving an instrument directory . . . . . . . . . . . 104 |
205 |
6.8.14. Listing all instruments in specific directory . . . . 102 |
6.8.8. Copying instrument directories . . . . . . . . . . . 104 |
206 |
6.8.15. Getting instrument information . . . . . . . . . . . 102 |
6.8.9. Changing the description of directory . . . . . . . 105 |
207 |
6.8.16. Renaming an instrument . . . . . . . . . . . . . . . 105 |
6.8.10. Finding directories . . . . . . . . . . . . . . . . 106 |
208 |
6.8.17. Moving an instrument . . . . . . . . . . . . . . . . 105 |
6.8.11. Adding instruments to the instruments database . . . 107 |
209 |
6.8.18. Copying instruments . . . . . . . . . . . . . . . . . 106 |
6.8.12. Removing an instrument . . . . . . . . . . . . . . . 109 |
210 |
6.8.19. Changing the description of instrument . . . . . . . 106 |
6.8.13. Getting amount of instruments . . . . . . . . . . . 109 |
211 |
6.8.20. Finding instruments . . . . . . . . . . . . . . . . . 107 |
6.8.14. Listing all instruments in specific directory . . . 110 |
212 |
6.8.21. Getting job status information . . . . . . . . . . . 109 |
6.8.15. Getting instrument information . . . . . . . . . . . 110 |
213 |
6.8.22. Formatting the instruments database . . . . . . . . . 111 |
6.8.16. Renaming an instrument . . . . . . . . . . . . . . . 113 |
214 |
6.8.23. Checking for lost instrument files . . . . . . . . . 111 |
6.8.17. Moving an instrument . . . . . . . . . . . . . . . . 113 |
215 |
6.8.24. Replacing an instrument file . . . . . . . . . . . . 112 |
6.8.18. Copying instruments . . . . . . . . . . . . . . . . 114 |
216 |
6.9. Editing Instruments . . . . . . . . . . . . . . . . . . . 112 |
6.8.19. Changing the description of instrument . . . . . . . 115 |
217 |
6.9.1. Opening an appropriate instrument editor |
6.8.20. Finding instruments . . . . . . . . . . . . . . . . 115 |
218 |
application . . . . . . . . . . . . . . . . . . . . . 112 |
6.8.21. Getting job status information . . . . . . . . . . . 118 |
219 |
6.10. Managing Files . . . . . . . . . . . . . . . . . . . . . 113 |
6.8.22. Formatting the instruments database . . . . . . . . 119 |
220 |
|
|
221 |
|
|
222 |
|
|
223 |
Schoenebeck Expires May 5, 2010 [Page 4] |
Schoenebeck Expires July 13, 2014 [Page 4] |
224 |
|
|
225 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
226 |
|
|
227 |
|
|
228 |
6.10.1. Retrieving amount of instruments of a file . . . . . 114 |
6.8.23. Checking for lost instrument files . . . . . . . . . 119 |
229 |
6.10.2. Retrieving all instruments of a file . . . . . . . . 114 |
6.8.24. Replacing an instrument file . . . . . . . . . . . . 120 |
230 |
6.10.3. Retrieving informations about one instrument in a |
6.9. Editing Instruments . . . . . . . . . . . . . . . . . . . 120 |
231 |
file . . . . . . . . . . . . . . . . . . . . . . . . 115 |
6.9.1. Opening an appropriate instrument editor |
232 |
7. Command Syntax . . . . . . . . . . . . . . . . . . . . . . . 117 |
application . . . . . . . . . . . . . . . . . . . . 121 |
233 |
7.1. Character Set and Escape Sequences . . . . . . . . . . . 131 |
6.10. Managing Files . . . . . . . . . . . . . . . . . . . . . 122 |
234 |
8. Events . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 |
6.10.1. Retrieving amount of instruments of a file . . . . . 122 |
235 |
8.1. Number of audio output devices changed . . . . . . . . . 136 |
6.10.2. Retrieving all instruments of a file . . . . . . . . 122 |
236 |
8.2. Audio output device's settings changed . . . . . . . . . 136 |
6.10.3. Retrieving informations about one instrument in a |
237 |
8.3. Number of MIDI input devices changed . . . . . . . . . . 136 |
file . . . . . . . . . . . . . . . . . . . . . . . . 123 |
238 |
8.4. MIDI input device's settings changed . . . . . . . . . . 137 |
6.11. Managing Effects . . . . . . . . . . . . . . . . . . . . 125 |
239 |
8.5. Number of sampler channels changed . . . . . . . . . . . 137 |
6.11.1. Retrieve amount of available effects . . . . . . . . 125 |
240 |
8.6. MIDI data on a sampler channel arrived . . . . . . . . . 137 |
6.11.2. Get list of available effects . . . . . . . . . . . 126 |
241 |
8.7. MIDI data on a MIDI input device arrived . . . . . . . . 138 |
6.11.3. Retrieving general information about an effect . . . 126 |
242 |
8.8. Number of active voices changed . . . . . . . . . . . . . 138 |
6.11.4. Creating an instance of an effect by its portable |
243 |
8.9. Number of active disk streams changed . . . . . . . . . . 139 |
ID . . . . . . . . . . . . . . . . . . . . . . . . . 127 |
244 |
8.10. Disk stream buffer fill state changed . . . . . . . . . . 139 |
6.11.5. Creating an instance of an effect by its |
245 |
8.11. Channel information changed . . . . . . . . . . . . . . . 139 |
numerical ID . . . . . . . . . . . . . . . . . . . . 128 |
246 |
8.12. Number of effect sends changed . . . . . . . . . . . . . 140 |
6.11.6. Destroy an effect instance . . . . . . . . . . . . . 129 |
247 |
8.13. Effect send information changed . . . . . . . . . . . . . 140 |
6.11.7. Retrieve amount of effect instances . . . . . . . . 130 |
248 |
8.14. Total number of active voices changed . . . . . . . . . . 141 |
6.11.8. Get list of effect instances . . . . . . . . . . . . 131 |
249 |
8.15. Total number of active disk streams changed . . . . . . . 141 |
6.11.9. Retrieving current information about an effect |
250 |
8.16. Number of MIDI instrument maps changed . . . . . . . . . 141 |
instance . . . . . . . . . . . . . . . . . . . . . . 131 |
251 |
8.17. MIDI instrument map information changed . . . . . . . . . 141 |
6.11.10. Retrieving information about an effect parameter . . 132 |
252 |
8.18. Number of MIDI instruments changed . . . . . . . . . . . 142 |
6.11.11. Altering an effect parameter . . . . . . . . . . . . 134 |
253 |
8.19. MIDI instrument information changed . . . . . . . . . . . 142 |
6.11.12. Retrieve amount of send effect chains . . . . . . . 135 |
254 |
8.20. Global settings changed . . . . . . . . . . . . . . . . . 143 |
6.11.13. Retrieve list of send effect chains . . . . . . . . 135 |
255 |
8.21. Number of database instrument directories changed . . . . 143 |
6.11.14. Add send effect chain . . . . . . . . . . . . . . . 136 |
256 |
8.22. Database instrument directory information changed . . . . 143 |
6.11.15. Remove send effect chain . . . . . . . . . . . . . . 136 |
257 |
8.23. Number of database instruments changed . . . . . . . . . 144 |
6.11.16. Retrieving information about a send effect chain . . 137 |
258 |
8.24. Database instrument information changed . . . . . . . . . 144 |
6.11.17. Append effect instance to a send effect chain . . . 138 |
259 |
8.25. Database job status information changed . . . . . . . . . 145 |
6.11.18. Insert effect instance to a send effect chain . . . 139 |
260 |
8.26. Miscellaneous and debugging events . . . . . . . . . . . 145 |
6.11.19. Remove effect instance from send effect chain . . . 139 |
261 |
9. Security Considerations . . . . . . . . . . . . . . . . . . . 147 |
7. Command Syntax . . . . . . . . . . . . . . . . . . . . . . . 141 |
262 |
10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 148 |
7.1. Character Set and Escape Sequences . . . . . . . . . . . 158 |
263 |
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 149 |
8. Events . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 |
264 |
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 150 |
8.1. Number of audio output devices changed . . . . . . . . . 162 |
265 |
Intellectual Property and Copyright Statements . . . . . . . . . 151 |
8.2. Audio output device's settings changed . . . . . . . . . 162 |
266 |
|
8.3. Number of MIDI input devices changed . . . . . . . . . . 162 |
267 |
|
8.4. MIDI input device's settings changed . . . . . . . . . . 163 |
268 |
|
8.5. Number of sampler channels changed . . . . . . . . . . . 163 |
269 |
|
8.6. MIDI data on a sampler channel arrived . . . . . . . . . 163 |
270 |
|
8.7. MIDI data on a MIDI input device arrived . . . . . . . . 164 |
271 |
|
8.8. Number of active voices changed . . . . . . . . . . . . . 164 |
272 |
|
8.9. Number of active disk streams changed . . . . . . . . . . 165 |
273 |
|
8.10. Disk stream buffer fill state changed . . . . . . . . . . 165 |
274 |
|
8.11. Channel information changed . . . . . . . . . . . . . . . 165 |
275 |
|
8.12. Number of effect sends changed . . . . . . . . . . . . . 166 |
276 |
|
|
277 |
|
|
278 |
|
|
279 |
|
Schoenebeck Expires July 13, 2014 [Page 5] |
280 |
|
|
281 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
282 |
|
|
283 |
|
|
284 |
|
8.13. Effect send information changed . . . . . . . . . . . . . 166 |
285 |
|
8.14. Total number of active voices changed . . . . . . . . . . 167 |
286 |
|
8.15. Total number of active disk streams changed . . . . . . . 167 |
287 |
|
8.16. Number of MIDI instrument maps changed . . . . . . . . . 167 |
288 |
|
8.17. MIDI instrument map information changed . . . . . . . . . 167 |
289 |
|
8.18. Number of MIDI instruments changed . . . . . . . . . . . 168 |
290 |
|
8.19. MIDI instrument information changed . . . . . . . . . . . 168 |
291 |
|
8.20. Global settings changed . . . . . . . . . . . . . . . . . 169 |
292 |
|
8.21. Number of database instrument directories changed . . . . 169 |
293 |
|
8.22. Database instrument directory information changed . . . . 169 |
294 |
|
8.23. Number of database instruments changed . . . . . . . . . 170 |
295 |
|
8.24. Database instrument information changed . . . . . . . . . 170 |
296 |
|
8.25. Database job status information changed . . . . . . . . . 171 |
297 |
|
8.26. Number of effect instances changed . . . . . . . . . . . 171 |
298 |
|
8.27. Effect instance information changed . . . . . . . . . . . 172 |
299 |
|
8.28. Number of send effect chains changed . . . . . . . . . . 172 |
300 |
|
8.29. Send effect chain information changed . . . . . . . . . . 172 |
301 |
|
8.30. Miscellaneous and debugging events . . . . . . . . . . . 173 |
302 |
|
9. Security Considerations . . . . . . . . . . . . . . . . . . . 174 |
303 |
|
10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 175 |
304 |
|
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 176 |
305 |
|
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 177 |
306 |
|
Intellectual Property and Copyright Statements . . . . . . . . . 178 |
307 |
|
|
308 |
|
|
309 |
|
|
310 |
|
|
311 |
|
|
312 |
|
|
313 |
|
|
314 |
|
|
315 |
|
|
316 |
|
|
317 |
|
|
318 |
|
|
319 |
|
|
320 |
|
|
328 |
|
|
329 |
|
|
330 |
|
|
331 |
Schoenebeck Expires May 5, 2010 [Page 5] |
|
332 |
|
|
333 |
|
|
334 |
|
|
335 |
|
Schoenebeck Expires July 13, 2014 [Page 6] |
336 |
|
|
337 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
338 |
|
|
339 |
|
|
340 |
1. Requirements notation |
1. Requirements notation |
388 |
|
|
389 |
|
|
390 |
|
|
391 |
Schoenebeck Expires May 5, 2010 [Page 6] |
Schoenebeck Expires July 13, 2014 [Page 7] |
392 |
|
|
393 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
394 |
|
|
395 |
|
|
396 |
2. Versioning of this specification |
2. Versioning of this specification |
444 |
|
|
445 |
|
|
446 |
|
|
447 |
Schoenebeck Expires May 5, 2010 [Page 7] |
Schoenebeck Expires July 13, 2014 [Page 8] |
448 |
|
|
449 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
450 |
|
|
451 |
|
|
452 |
3. Introduction |
3. Introduction |
500 |
|
|
501 |
|
|
502 |
|
|
503 |
Schoenebeck Expires May 5, 2010 [Page 8] |
Schoenebeck Expires July 13, 2014 [Page 9] |
504 |
|
|
505 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
506 |
|
|
507 |
|
|
508 |
4. Focus of this protocol |
4. Focus of this protocol |
556 |
|
|
557 |
|
|
558 |
|
|
559 |
Schoenebeck Expires May 5, 2010 [Page 9] |
Schoenebeck Expires July 13, 2014 [Page 10] |
560 |
|
|
561 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
562 |
|
|
563 |
|
|
564 |
5. Communication Overview |
5. Communication Overview |
612 |
|
|
613 |
|
|
614 |
|
|
615 |
Schoenebeck Expires May 5, 2010 [Page 10] |
Schoenebeck Expires July 13, 2014 [Page 11] |
616 |
|
|
617 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
618 |
|
|
619 |
|
|
620 |
5.1.1. Result format |
5.1.1. Result format |
668 |
|
|
669 |
|
|
670 |
|
|
671 |
Schoenebeck Expires May 5, 2010 [Page 11] |
Schoenebeck Expires July 13, 2014 [Page 12] |
672 |
|
|
673 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
674 |
|
|
675 |
|
|
676 |
set has the following format: |
set has the following format: |
724 |
|
|
725 |
|
|
726 |
|
|
727 |
Schoenebeck Expires May 5, 2010 [Page 12] |
Schoenebeck Expires July 13, 2014 [Page 13] |
728 |
|
|
729 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
730 |
|
|
731 |
|
|
732 |
Each line of the result set MUST end with <CRLF>. |
Each line of the result set MUST end with <CRLF>. |
780 |
|
|
781 |
|
|
782 |
|
|
783 |
Schoenebeck Expires May 5, 2010 [Page 13] |
Schoenebeck Expires July 13, 2014 [Page 14] |
784 |
|
|
785 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
786 |
|
|
787 |
|
|
788 |
inserted in the middle of the event message as well as any other |
inserted in the middle of the event message as well as any other |
836 |
|
|
837 |
|
|
838 |
|
|
839 |
Schoenebeck Expires May 5, 2010 [Page 14] |
Schoenebeck Expires July 13, 2014 [Page 15] |
840 |
|
|
841 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
842 |
|
|
843 |
|
|
844 |
6. Description for control commands |
6. Description for control commands |
892 |
|
|
893 |
|
|
894 |
|
|
895 |
Schoenebeck Expires May 5, 2010 [Page 15] |
Schoenebeck Expires July 13, 2014 [Page 16] |
896 |
|
|
897 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
898 |
|
|
899 |
|
|
900 |
6.2.1. Getting amount of available audio output drivers |
6.2.1. Getting amount of available audio output drivers |
948 |
|
|
949 |
|
|
950 |
|
|
951 |
Schoenebeck Expires May 5, 2010 [Page 16] |
Schoenebeck Expires July 13, 2014 [Page 17] |
952 |
|
|
953 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
954 |
|
|
955 |
|
|
956 |
LinuxSampler will answer by sending a <CRLF> separated list. Each |
LinuxSampler will answer by sending a <CRLF> separated list. Each |
1004 |
|
|
1005 |
|
|
1006 |
|
|
1007 |
Schoenebeck Expires May 5, 2010 [Page 17] |
Schoenebeck Expires July 13, 2014 [Page 18] |
1008 |
|
|
1009 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
1010 |
|
|
1011 |
|
|
1012 |
obtained (as returned by the "GET AUDIO_OUTPUT_DRIVER INFO" |
obtained (as returned by the "GET AUDIO_OUTPUT_DRIVER INFO" |
1060 |
|
|
1061 |
|
|
1062 |
|
|
1063 |
Schoenebeck Expires May 5, 2010 [Page 18] |
Schoenebeck Expires July 13, 2014 [Page 19] |
1064 |
|
|
1065 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
1066 |
|
|
1067 |
|
|
1068 |
MULTIPLICITY - |
MULTIPLICITY - |
1116 |
|
|
1117 |
|
|
1118 |
|
|
1119 |
Schoenebeck Expires May 5, 2010 [Page 19] |
Schoenebeck Expires July 13, 2014 [Page 20] |
1120 |
|
|
1121 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
1122 |
|
|
1123 |
|
|
1124 |
returned, dependent to driver parameter) |
returned, dependent to driver parameter) |
1172 |
|
|
1173 |
|
|
1174 |
|
|
1175 |
Schoenebeck Expires May 5, 2010 [Page 20] |
Schoenebeck Expires July 13, 2014 [Page 21] |
1176 |
|
|
1177 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
1178 |
|
|
1179 |
|
|
1180 |
"TYPE: INT" |
"TYPE: INT" |
1228 |
|
|
1229 |
|
|
1230 |
|
|
1231 |
Schoenebeck Expires May 5, 2010 [Page 21] |
Schoenebeck Expires July 13, 2014 [Page 22] |
1232 |
|
|
1233 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
1234 |
|
|
1235 |
|
|
1236 |
providing an appropriate warning code and warning message |
providing an appropriate warning code and warning message |
1284 |
|
|
1285 |
|
|
1286 |
|
|
1287 |
Schoenebeck Expires May 5, 2010 [Page 22] |
Schoenebeck Expires July 13, 2014 [Page 23] |
1288 |
|
|
1289 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
1290 |
|
|
1291 |
|
|
1292 |
C: "DESTROY AUDIO_OUTPUT_DEVICE 0" |
C: "DESTROY AUDIO_OUTPUT_DEVICE 0" |
1340 |
|
|
1341 |
|
|
1342 |
|
|
1343 |
Schoenebeck Expires May 5, 2010 [Page 23] |
Schoenebeck Expires July 13, 2014 [Page 24] |
1344 |
|
|
1345 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
1346 |
|
|
1347 |
|
|
1348 |
Possible Answers: |
Possible Answers: |
1396 |
|
|
1397 |
|
|
1398 |
|
|
1399 |
Schoenebeck Expires May 5, 2010 [Page 24] |
Schoenebeck Expires July 13, 2014 [Page 25] |
1400 |
|
|
1401 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
1402 |
|
|
1403 |
|
|
1404 |
"FRAGMENTS: 2" |
"FRAGMENTS: 2" |
1452 |
|
|
1453 |
|
|
1454 |
|
|
1455 |
Schoenebeck Expires May 5, 2010 [Page 25] |
Schoenebeck Expires July 13, 2014 [Page 26] |
1456 |
|
|
1457 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
1458 |
|
|
1459 |
|
|
1460 |
6.2.11. Getting information about an audio channel |
6.2.11. Getting information about an audio channel |
1508 |
|
|
1509 |
|
|
1510 |
|
|
1511 |
Schoenebeck Expires May 5, 2010 [Page 26] |
Schoenebeck Expires July 13, 2014 [Page 27] |
1512 |
|
|
1513 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
1514 |
|
|
1515 |
|
|
1516 |
Examples: |
Examples: |
1564 |
|
|
1565 |
|
|
1566 |
|
|
1567 |
Schoenebeck Expires May 5, 2010 [Page 27] |
Schoenebeck Expires July 13, 2014 [Page 28] |
1568 |
|
|
1569 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
1570 |
|
|
1571 |
|
|
1572 |
channel number and <param> a specific channel parameter name for |
channel number and <param> a specific channel parameter name for |
1620 |
|
|
1621 |
|
|
1622 |
|
|
1623 |
Schoenebeck Expires May 5, 2010 [Page 28] |
Schoenebeck Expires July 13, 2014 [Page 29] |
1624 |
|
|
1625 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
1626 |
|
|
1627 |
|
|
1628 |
RANGE_MAX - |
RANGE_MAX - |
1676 |
|
|
1677 |
|
|
1678 |
|
|
1679 |
Schoenebeck Expires May 5, 2010 [Page 29] |
Schoenebeck Expires July 13, 2014 [Page 30] |
1680 |
|
|
1681 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
1682 |
|
|
1683 |
|
|
1684 |
"OK" - |
"OK" - |
1732 |
|
|
1733 |
|
|
1734 |
|
|
1735 |
Schoenebeck Expires May 5, 2010 [Page 30] |
Schoenebeck Expires July 13, 2014 [Page 31] |
1736 |
|
|
1737 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
1738 |
|
|
1739 |
|
|
1740 |
Note: examples in this chapter showing particular parameters of |
Note: examples in this chapter showing particular parameters of |
1788 |
|
|
1789 |
|
|
1790 |
|
|
1791 |
Schoenebeck Expires May 5, 2010 [Page 31] |
Schoenebeck Expires July 13, 2014 [Page 32] |
1792 |
|
|
1793 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
1794 |
|
|
1795 |
|
|
1796 |
6.3.3. Getting information about a specific MIDI input driver |
6.3.3. Getting information about a specific MIDI input driver |
1844 |
|
|
1845 |
|
|
1846 |
|
|
1847 |
Schoenebeck Expires May 5, 2010 [Page 32] |
Schoenebeck Expires July 13, 2014 [Page 33] |
1848 |
|
|
1849 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
1850 |
|
|
1851 |
|
|
1852 |
6.3.4. Getting information about specific MIDI input driver parameter |
6.3.4. Getting information about specific MIDI input driver parameter |
1900 |
|
|
1901 |
|
|
1902 |
|
|
1903 |
Schoenebeck Expires May 5, 2010 [Page 33] |
Schoenebeck Expires July 13, 2014 [Page 34] |
1904 |
|
|
1905 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
1906 |
|
|
1907 |
|
|
1908 |
FIX - |
FIX - |
1956 |
|
|
1957 |
|
|
1958 |
|
|
1959 |
Schoenebeck Expires May 5, 2010 [Page 34] |
Schoenebeck Expires July 13, 2014 [Page 35] |
1960 |
|
|
1961 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
1962 |
|
|
1963 |
|
|
1964 |
may also appear without (optionally returned, dependent to |
may also appear without (optionally returned, dependent to |
2012 |
|
|
2013 |
|
|
2014 |
|
|
2015 |
Schoenebeck Expires May 5, 2010 [Page 35] |
Schoenebeck Expires July 13, 2014 [Page 36] |
2016 |
|
|
2017 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
2018 |
|
|
2019 |
|
|
2020 |
"OK[<device-id>]" - |
"OK[<device-id>]" - |
2068 |
|
|
2069 |
|
|
2070 |
|
|
2071 |
Schoenebeck Expires May 5, 2010 [Page 36] |
Schoenebeck Expires July 13, 2014 [Page 37] |
2072 |
|
|
2073 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
2074 |
|
|
2075 |
|
|
2076 |
in case it failed, providing an appropriate error code and |
in case it failed, providing an appropriate error code and |
2124 |
|
|
2125 |
|
|
2126 |
|
|
2127 |
Schoenebeck Expires May 5, 2010 [Page 37] |
Schoenebeck Expires July 13, 2014 [Page 38] |
2128 |
|
|
2129 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
2130 |
|
|
2131 |
|
|
2132 |
6.3.9. Getting current settings of a MIDI input device |
6.3.9. Getting current settings of a MIDI input device |
2180 |
|
|
2181 |
|
|
2182 |
|
|
2183 |
Schoenebeck Expires May 5, 2010 [Page 38] |
Schoenebeck Expires July 13, 2014 [Page 39] |
2184 |
|
|
2185 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
2186 |
|
|
2187 |
|
|
2188 |
"ACTIVE: true" |
"ACTIVE: true" |
2236 |
|
|
2237 |
|
|
2238 |
|
|
2239 |
Schoenebeck Expires May 5, 2010 [Page 39] |
Schoenebeck Expires July 13, 2014 [Page 40] |
2240 |
|
|
2241 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
2242 |
|
|
2243 |
|
|
2244 |
MIDI_INPUT_DEVICES" (Section 6.3.8) command and <midi-port> the MIDI |
MIDI_INPUT_DEVICES" (Section 6.3.8) command and <midi-port> the MIDI |
2292 |
|
|
2293 |
|
|
2294 |
|
|
2295 |
Schoenebeck Expires May 5, 2010 [Page 40] |
Schoenebeck Expires July 13, 2014 [Page 41] |
2296 |
|
|
2297 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
2298 |
|
|
2299 |
|
|
2300 |
character string to that info category. There is information |
character string to that info category. There is information |
2348 |
|
|
2349 |
|
|
2350 |
|
|
2351 |
Schoenebeck Expires May 5, 2010 [Page 41] |
Schoenebeck Expires July 13, 2014 [Page 42] |
2352 |
|
|
2353 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
2354 |
|
|
2355 |
|
|
2356 |
returned, dependent to device and port parameter) |
returned, dependent to device and port parameter) |
2404 |
|
|
2405 |
|
|
2406 |
|
|
2407 |
Schoenebeck Expires May 5, 2010 [Page 42] |
Schoenebeck Expires July 13, 2014 [Page 43] |
2408 |
|
|
2409 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
2410 |
|
|
2411 |
|
|
2412 |
"ERR:<error-code>:<error-message>" - |
"ERR:<error-code>:<error-message>" - |
2460 |
|
|
2461 |
|
|
2462 |
|
|
2463 |
Schoenebeck Expires May 5, 2010 [Page 43] |
Schoenebeck Expires July 13, 2014 [Page 44] |
2464 |
|
|
2465 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
2466 |
|
|
2467 |
|
|
2468 |
format and SHOULD return ERR and SHOULD not launch the background |
format and SHOULD return ERR and SHOULD not launch the background |
2516 |
|
|
2517 |
|
|
2518 |
|
|
2519 |
Schoenebeck Expires May 5, 2010 [Page 44] |
Schoenebeck Expires July 13, 2014 [Page 45] |
2520 |
|
|
2521 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
2522 |
|
|
2523 |
|
|
2524 |
sampler channel. This command has (currently) no way to define or |
sampler channel. This command has (currently) no way to define or |
2572 |
|
|
2573 |
|
|
2574 |
|
|
2575 |
Schoenebeck Expires May 5, 2010 [Page 45] |
Schoenebeck Expires July 13, 2014 [Page 46] |
2576 |
|
|
2577 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
2578 |
|
|
2579 |
|
|
2580 |
6.4.4. Getting all created sampler channel list |
6.4.4. Getting all created sampler channel list |
2628 |
|
|
2629 |
|
|
2630 |
|
|
2631 |
Schoenebeck Expires May 5, 2010 [Page 46] |
Schoenebeck Expires July 13, 2014 [Page 47] |
2632 |
|
|
2633 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
2634 |
|
|
2635 |
|
|
2636 |
in case a new channel was added successfully, but there are |
in case a new channel was added successfully, but there are |
2684 |
|
|
2685 |
|
|
2686 |
|
|
2687 |
Schoenebeck Expires May 5, 2010 [Page 47] |
Schoenebeck Expires July 13, 2014 [Page 48] |
2688 |
|
|
2689 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
2690 |
|
|
2691 |
|
|
2692 |
6.4.7. Getting amount of available engines |
6.4.7. Getting amount of available engines |
2725 |
|
|
2726 |
C: "LIST AVAILABLE_ENGINES" |
C: "LIST AVAILABLE_ENGINES" |
2727 |
|
|
2728 |
S: "'GigEngine','AkaiEngine','DLSEngine','JoesCustomEngine'" |
S: "'gig','sfz','sf2'" |
2729 |
|
|
2730 |
6.4.9. Getting information about an engine |
6.4.9. Getting information about an engine |
2731 |
|
|
2740 |
|
|
2741 |
|
|
2742 |
|
|
2743 |
Schoenebeck Expires May 5, 2010 [Page 48] |
Schoenebeck Expires July 13, 2014 [Page 49] |
2744 |
|
|
2745 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
2746 |
|
|
2747 |
|
|
2748 |
Possible Answers: |
Possible Answers: |
2766 |
|
|
2767 |
The mentioned fields above don't have to be in particular order. |
The mentioned fields above don't have to be in particular order. |
2768 |
|
|
2769 |
Example: |
Examples: |
2770 |
|
|
2771 |
|
C: "GET ENGINE INFO gig" |
2772 |
|
|
2773 |
C: "GET ENGINE INFO JoesCustomEngine" |
S: "DESCRIPTION: GigaSampler Format Engine" |
2774 |
|
|
2775 |
S: "DESCRIPTION: this is Joe's custom sampler engine" |
"VERSION: 1.110" |
2776 |
|
|
2777 |
"VERSION: testing-1.0" |
"." |
2778 |
|
|
2779 |
|
C: "GET ENGINE INFO sf2" |
2780 |
|
|
2781 |
|
S: "DESCRIPTION: SoundFont Format Engine" |
2782 |
|
|
2783 |
|
"VERSION: 1.4" |
2784 |
|
|
2785 |
"." |
"." |
2786 |
|
|
2787 |
|
C: "GET ENGINE INFO sfz" |
2788 |
|
|
2789 |
|
S: "DESCRIPTION: SFZ Format Engine" |
2790 |
|
|
2791 |
|
"VERSION: 1.11" |
2792 |
|
|
2793 |
|
"." |
2794 |
|
|
2795 |
|
|
2796 |
|
|
2797 |
|
|
2798 |
|
|
2799 |
|
Schoenebeck Expires July 13, 2014 [Page 50] |
2800 |
|
|
2801 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
2802 |
|
|
2803 |
|
|
2804 |
6.4.10. Getting sampler channel information |
6.4.10. Getting sampler channel information |
2805 |
|
|
2806 |
The front-end can ask for the current settings of a sampler channel |
The front-end can ask for the current settings of a sampler channel |
2818 |
answer line begins with the settings category name followed by a |
answer line begins with the settings category name followed by a |
2819 |
colon and then a space character <SP> and finally the info |
colon and then a space character <SP> and finally the info |
2820 |
character string to that setting category. At the moment the |
character string to that setting category. At the moment the |
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 49] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
2821 |
following categories are defined: |
following categories are defined: |
2822 |
|
|
2823 |
|
|
2849 |
device and the engine's output channel 1 is routed to the |
device and the engine's output channel 1 is routed to the |
2850 |
channel 3 of the audio output device |
channel 3 of the audio output device |
2851 |
|
|
2852 |
|
|
2853 |
|
|
2854 |
|
|
2855 |
|
Schoenebeck Expires July 13, 2014 [Page 51] |
2856 |
|
|
2857 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
2858 |
|
|
2859 |
|
|
2860 |
INSTRUMENT_FILE - |
INSTRUMENT_FILE - |
2861 |
|
|
2862 |
the file name of the loaded instrument, "NONE" if there's no |
the file name of the loaded instrument, "NONE" if there's no |
2875 |
LSCP 1.2 this character string may contain escape sequences |
LSCP 1.2 this character string may contain escape sequences |
2876 |
(Section 7.1)) |
(Section 7.1)) |
2877 |
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 50] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
2878 |
INSTRUMENT_STATUS - |
INSTRUMENT_STATUS - |
2879 |
|
|
2880 |
Integer values 0 to 100 indicating loading progress |
Integer values 0 to 100 indicating loading progress |
2906 |
(where a value < 1.0 means attenuation and a value > 1.0 |
(where a value < 1.0 means attenuation and a value > 1.0 |
2907 |
means amplification) |
means amplification) |
2908 |
|
|
2909 |
|
|
2910 |
|
|
2911 |
|
Schoenebeck Expires July 13, 2014 [Page 52] |
2912 |
|
|
2913 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
2914 |
|
|
2915 |
|
|
2916 |
MUTE - |
MUTE - |
2917 |
|
|
2918 |
Determines whether the channel is muted, "true" if the |
Determines whether the channel is muted, "true" if the |
2930 |
|
|
2931 |
Determines to which MIDI instrument map this sampler channel |
Determines to which MIDI instrument map this sampler channel |
2932 |
is assigned to. Read chapter "SET CHANNEL |
is assigned to. Read chapter "SET CHANNEL |
2933 |
|
MIDI_INSTRUMENT_MAP" (Section 6.4.27) for a list of possible |
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 51] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
|
MIDI_INSTRUMENT_MAP" (Section 6.4.24) for a list of possible |
|
2934 |
values. |
values. |
2935 |
|
|
2936 |
The mentioned fields above don't have to be in particular order. |
The mentioned fields above don't have to be in particular order. |
2939 |
|
|
2940 |
C: "GET CHANNEL INFO 34" |
C: "GET CHANNEL INFO 34" |
2941 |
|
|
2942 |
S: "ENGINE_NAME: GigEngine" |
S: "ENGINE_NAME: gig" |
2943 |
|
|
2944 |
"VOLUME: 1.0" |
"VOLUME: 1.0" |
2945 |
|
|
2961 |
|
|
2962 |
"MIDI_INPUT_PORT: 0" |
"MIDI_INPUT_PORT: 0" |
2963 |
|
|
2964 |
|
|
2965 |
|
|
2966 |
|
|
2967 |
|
Schoenebeck Expires July 13, 2014 [Page 53] |
2968 |
|
|
2969 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
2970 |
|
|
2971 |
|
|
2972 |
"MIDI_INPUT_CHANNEL: 5" |
"MIDI_INPUT_CHANNEL: 5" |
2973 |
|
|
2974 |
"VOLUME: 1.0" |
"VOLUME: 1.0" |
2986 |
The front-end can ask for the current number of active voices on a |
The front-end can ask for the current number of active voices on a |
2987 |
sampler channel by sending the following command: |
sampler channel by sending the following command: |
2988 |
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 52] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
2989 |
GET CHANNEL VOICE_COUNT <sampler-channel> |
GET CHANNEL VOICE_COUNT <sampler-channel> |
2990 |
|
|
2991 |
Where <sampler-channel> is the sampler channel number the front-end |
Where <sampler-channel> is the sampler channel number the front-end |
3017 |
LinuxSampler will answer by returning the number of active disk |
LinuxSampler will answer by returning the number of active disk |
3018 |
streams on that channel in case the engine supports disk |
streams on that channel in case the engine supports disk |
3019 |
streaming, if the engine doesn't support disk streaming it will |
streaming, if the engine doesn't support disk streaming it will |
3020 |
|
|
3021 |
|
|
3022 |
|
|
3023 |
|
Schoenebeck Expires July 13, 2014 [Page 54] |
3024 |
|
|
3025 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
3026 |
|
|
3027 |
|
|
3028 |
return "NA" for not available. |
return "NA" for not available. |
3029 |
|
|
3030 |
Example: |
Example: |
3040 |
|
|
3041 |
to get the fill state in bytes or |
to get the fill state in bytes or |
3042 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 53] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
3043 |
GET CHANNEL BUFFER_FILL PERCENTAGE <sampler-channel> |
GET CHANNEL BUFFER_FILL PERCENTAGE <sampler-channel> |
3044 |
|
|
3045 |
to get the fill state in percent, where <sampler-channel> is the |
to get the fill state in percent, where <sampler-channel> is the |
3072 |
|
|
3073 |
C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4" |
C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4" |
3074 |
|
|
3075 |
|
|
3076 |
|
|
3077 |
|
|
3078 |
|
|
3079 |
|
Schoenebeck Expires July 13, 2014 [Page 55] |
3080 |
|
|
3081 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
3082 |
|
|
3083 |
|
|
3084 |
S: "" |
S: "" |
3085 |
|
|
3086 |
6.4.14. Setting audio output device |
6.4.14. Setting audio output device |
3098 |
(Section 6.2.5) or "LIST AUDIO_OUTPUT_DEVICES" (Section 6.2.8) |
(Section 6.2.5) or "LIST AUDIO_OUTPUT_DEVICES" (Section 6.2.8) |
3099 |
command. |
command. |
3100 |
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 54] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
3101 |
Possible Answers: |
Possible Answers: |
3102 |
|
|
3103 |
"OK" - |
"OK" - |
3121 |
|
|
3122 |
6.4.15. Setting audio output type |
6.4.15. Setting audio output type |
3123 |
|
|
3124 |
DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON! |
DEPRECATED: THIS COMMAND WILL DISAPPEAR! |
3125 |
|
|
3126 |
The front-end can alter the audio output type on a specific sampler |
The front-end can alter the audio output type on a specific sampler |
3127 |
channel by sending the following command: |
channel by sending the following command: |
3129 |
SET CHANNEL AUDIO_OUTPUT_TYPE <sampler-channel> <audio-output- |
SET CHANNEL AUDIO_OUTPUT_TYPE <sampler-channel> <audio-output- |
3130 |
type> |
type> |
3131 |
|
|
3132 |
|
|
3133 |
|
|
3134 |
|
|
3135 |
|
Schoenebeck Expires July 13, 2014 [Page 56] |
3136 |
|
|
3137 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
3138 |
|
|
3139 |
|
|
3140 |
Where <audio-output-type> is currently either "ALSA" or "JACK" and |
Where <audio-output-type> is currently either "ALSA" or "JACK" and |
3141 |
<sampler-channel> is the respective sampler channel number. |
<sampler-channel> is the respective sampler channel number. |
3142 |
|
|
3152 |
related, providing an appropriate warning code and warning |
related, providing an appropriate warning code and warning |
3153 |
message |
message |
3154 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 55] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
3155 |
"ERR:<error-code>:<error-message>" - |
"ERR:<error-code>:<error-message>" - |
3156 |
|
|
3157 |
in case it failed, providing an appropriate error code and |
in case it failed, providing an appropriate error code and |
3161 |
|
|
3162 |
|
|
3163 |
|
|
3164 |
|
Deprecated: |
3165 |
|
|
3166 |
|
Should not be used anymore. This command is currently only |
3167 |
|
preserved for backward compatibility. |
3168 |
|
|
3169 |
|
This command is a relict from times where there was no |
3170 |
|
sophisticated driver management yet. Use "CREATE |
3171 |
|
AUDIO_OUTPUT_DEVICE" (Section 6.2.5) and "SET CHANNEL |
3172 |
|
AUDIO_OUTPUT_DEVICE" (Section 6.4.14) instead. |
3173 |
|
|
3174 |
6.4.16. Setting audio output channel |
6.4.16. Setting audio output channel |
3175 |
|
|
3176 |
The front-end can alter the audio output channel on a specific |
The front-end can alter the audio output channel on a specific |
3186 |
numerical ID of the audio channel of the selected audio output device |
numerical ID of the audio channel of the selected audio output device |
3187 |
where <audio-out> should be routed to. |
where <audio-out> should be routed to. |
3188 |
|
|
3189 |
|
|
3190 |
|
|
3191 |
|
Schoenebeck Expires July 13, 2014 [Page 57] |
3192 |
|
|
3193 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
3194 |
|
|
3195 |
|
|
3196 |
Possible Answers: |
Possible Answers: |
3197 |
|
|
3198 |
"OK" - |
"OK" - |
3214 |
|
|
3215 |
|
|
3216 |
|
|
3217 |
|
6.4.17. Add MIDI input to sampler channel |
3218 |
|
|
3219 |
|
The front-end can add a MIDI input on a specific sampler channel by |
3220 |
|
sending the following command: |
3221 |
|
|
3222 |
|
ADD CHANNEL MIDI_INPUT <sampler-channel> <midi-device-id> [<midi- |
3223 |
|
input-port>] |
3224 |
|
|
3225 |
|
Where <sampler-channel> is the sampler channel number as returned by |
3226 |
|
the "ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) |
3227 |
|
command and <midi-device-id> is the numerical ID of the MIDI input |
3228 |
|
device as returned by the "CREATE MIDI_INPUT_DEVICE" (Section 6.3.5) |
3229 |
|
or "LIST MIDI_INPUT_DEVICES" (Section 6.3.8) command, and <midi- |
3230 |
|
input-port> is an optional MIDI input port number of that MIDI input |
3231 |
|
device. If <midi-input-port> is omitted, then the MIDI input |
3232 |
|
device's first port (port number 0) is used. |
3233 |
|
|
3234 |
|
Possible Answers: |
3235 |
|
|
3236 |
|
"OK" - |
3237 |
|
|
3238 |
|
on success |
3239 |
|
|
3240 |
|
"WRN:<warning-code>:<warning-message>" - |
3241 |
|
|
3242 |
|
if MIDI input port was connected, but there are noteworthy |
3243 |
|
issue(s) related, providing an appropriate warning code and |
3244 |
|
|
3245 |
|
|
3246 |
Schoenebeck Expires May 5, 2010 [Page 56] |
|
3247 |
|
Schoenebeck Expires July 13, 2014 [Page 58] |
3248 |
|
|
3249 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
3250 |
|
|
3251 |
|
|
3252 |
|
warning message |
3253 |
|
|
3254 |
|
"ERR:<error-code>:<error-message>" - |
3255 |
|
|
3256 |
|
in case it failed, providing an appropriate error code and |
3257 |
|
error message |
3258 |
|
|
3259 |
|
Examples: |
3260 |
|
|
3261 |
|
C: "ADD CHANNEL MIDI_INPUT 0 0" |
3262 |
|
|
3263 |
|
S: "OK" |
3264 |
|
|
3265 |
|
C: "ADD CHANNEL MIDI_INPUT 1 0" |
3266 |
|
|
3267 |
|
S: "OK" |
3268 |
|
|
3269 |
|
C: "ADD CHANNEL MIDI_INPUT 1 1 1" |
3270 |
|
|
3271 |
|
S: "OK" |
3272 |
|
|
3273 |
|
C: "ADD CHANNEL MIDI_INPUT 1 2 0" |
3274 |
|
|
3275 |
|
S: "OK" |
3276 |
|
|
3277 |
|
Since: |
3278 |
|
|
3279 |
|
Introduced with LSCP v1.6 |
3280 |
|
|
3281 |
|
6.4.18. Remove MIDI input(s) from sampler channel |
3282 |
|
|
3283 |
|
The front-end can remove one ore more MIDI input(s) on a specific |
3284 |
|
sampler channel by sending the following command: |
3285 |
|
|
3286 |
|
REMOVE CHANNEL MIDI_INPUT <sampler-channel> [<midi-device-id> |
3287 |
|
[<midi-input-port>]] |
3288 |
|
|
3289 |
|
Where <sampler-channel> is the sampler channel number as returned by |
3290 |
|
the "ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) |
3291 |
|
command and <midi-device-id> and <midi-input-port> are optional |
3292 |
|
numerical IDs defining the MIDI input device and one of its MIDI |
3293 |
|
ports as returned by the "LIST CHANNEL MIDI_INPUTS" (Section 6.4.19) |
3294 |
|
command. |
3295 |
|
|
3296 |
|
If <midi-input-port> is omitted, then all MIDI input ports of <midi- |
3297 |
|
device-id> are disconnected from this sampler channel. |
3298 |
|
|
3299 |
|
If both, <midi-device-id> and <midi-input-port> are omitted, then all |
3300 |
|
|
3301 |
|
|
3302 |
|
|
3303 |
|
Schoenebeck Expires July 13, 2014 [Page 59] |
3304 |
|
|
3305 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
3306 |
|
|
3307 |
|
|
3308 |
|
MIDI input ports currently connected to this sampler channel are |
3309 |
|
disconnected from this sampler channel. |
3310 |
|
|
3311 |
|
Possible Answers: |
3312 |
|
|
3313 |
|
"OK" - |
3314 |
|
|
3315 |
|
on success |
3316 |
|
|
3317 |
|
"WRN:<warning-code>:<warning-message>" - |
3318 |
|
|
3319 |
|
if MIDI input porst were disconnected, but there are noteworthy |
3320 |
|
issue(s) related, providing an appropriate warning code and |
3321 |
|
warning message |
3322 |
|
|
3323 |
|
"ERR:<error-code>:<error-message>" - |
3324 |
|
|
3325 |
|
in case it failed, providing an appropriate error code and |
3326 |
|
error message |
3327 |
|
|
3328 |
|
Examples: |
3329 |
|
|
3330 |
|
C: "REMOVE CHANNEL MIDI_INPUT 0" |
3331 |
|
|
3332 |
|
S: "OK" |
3333 |
|
|
3334 |
|
C: "REMOVE CHANNEL MIDI_INPUT 1" |
3335 |
|
|
3336 |
|
S: "OK" |
3337 |
|
|
3338 |
|
C: "REMOVE CHANNEL MIDI_INPUT 1 2 0" |
3339 |
|
|
3340 |
|
S: "OK" |
3341 |
|
|
3342 |
|
Since: |
3343 |
|
|
3344 |
|
Introduced with LSCP v1.6 |
3345 |
|
|
3346 |
|
6.4.19. Getting all MIDI inputs of a sampler channel |
3347 |
|
|
3348 |
|
The front-end can query a list of all currently connected MIDI inputs |
3349 |
|
of a certain sampler channel by sending the following command: |
3350 |
|
|
3351 |
|
LIST CHANNEL MIDI_INPUTS <sampler-channel> |
3352 |
|
|
3353 |
|
Where <sampler-channel> is the sampler channel number as returned by |
3354 |
|
the "ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) |
3355 |
|
command. |
3356 |
|
|
3357 |
|
|
3358 |
|
|
3359 |
|
Schoenebeck Expires July 13, 2014 [Page 60] |
3360 |
|
|
3361 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
3362 |
|
|
3363 |
|
|
3364 |
|
Possible Answers: |
3365 |
|
|
3366 |
|
The sampler will answer by sending a comma separated list of MIDI |
3367 |
|
input device ID - MIDI input port number pairs, where each pair is |
3368 |
|
encapsulated into curly braces. The list is returned in one |
3369 |
|
single line. The MIDI input device ID corresponds to the number |
3370 |
|
returned by "LIST MIDI_INPUT_DEVICES" (Section 6.3.8) and the port |
3371 |
|
number is the index of the respective MIDI port of that MIDI input |
3372 |
|
device. |
3373 |
|
|
3374 |
|
Example: |
3375 |
|
|
3376 |
|
C: "LIST CHANNEL MIDI_INPUTS 0" |
3377 |
|
|
3378 |
|
S: "{0,0},{1,3},{2,0}" |
3379 |
|
|
3380 |
|
Since: |
3381 |
|
|
3382 |
|
Introduced with LSCP v1.6 |
3383 |
|
|
3384 |
6.4.17. Setting MIDI input device |
6.4.20. Setting MIDI input device |
3385 |
|
|
3386 |
|
DEPRECATED: THIS COMMAND WILL DISAPPEAR! |
3387 |
|
|
3388 |
The front-end can set the MIDI input device on a specific sampler |
The front-end can set the MIDI input device on a specific sampler |
3389 |
channel by sending the following command: |
channel by sending the following command: |
3396 |
device as returned by the "CREATE MIDI_INPUT_DEVICE" (Section 6.3.5) |
device as returned by the "CREATE MIDI_INPUT_DEVICE" (Section 6.3.5) |
3397 |
or "LIST MIDI_INPUT_DEVICES" (Section 6.3.8) command. |
or "LIST MIDI_INPUT_DEVICES" (Section 6.3.8) command. |
3398 |
|
|
3399 |
|
If more than 1 MIDI inputs are currently connected to this sampler |
3400 |
|
channel: Sending this command will disconnect ALL currently connected |
3401 |
|
MIDI input ports connected to this sampler channel before |
3402 |
|
establishing the new MIDI input connection. So this command does NOT |
3403 |
|
add the connection, it replaces all existing ones instead. This |
3404 |
|
behavior is due to preserving full behavior backward compatibility. |
3405 |
|
|
3406 |
Possible Answers: |
Possible Answers: |
3407 |
|
|
3408 |
"OK" - |
"OK" - |
3409 |
|
|
3410 |
on success |
on success |
3411 |
|
|
3412 |
|
|
3413 |
|
|
3414 |
|
|
3415 |
|
Schoenebeck Expires July 13, 2014 [Page 61] |
3416 |
|
|
3417 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
3418 |
|
|
3419 |
|
|
3420 |
"WRN:<warning-code>:<warning-message>" - |
"WRN:<warning-code>:<warning-message>" - |
3421 |
|
|
3422 |
if MIDI input device was set, but there are noteworthy issue(s) |
if MIDI input device was set, but there are noteworthy issue(s) |
3432 |
|
|
3433 |
|
|
3434 |
|
|
3435 |
6.4.18. Setting MIDI input type |
Deprecated: |
3436 |
|
|
3437 |
|
Should not be used anymore as of LSCP v1.6 and younger. This |
3438 |
|
command is currently only preserved for backward compatibility. |
3439 |
|
|
3440 |
|
This command is a relict from times where only one MIDI input per |
3441 |
|
sampler channel was allowed. Use "ADD CHANNEL MIDI_INPUT" |
3442 |
|
(Section 6.4.17) and "REMOVE CHANNEL MIDI_INPUT" (Section 6.4.18) |
3443 |
|
instead. |
3444 |
|
|
3445 |
|
6.4.21. Setting MIDI input type |
3446 |
|
|
3447 |
DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON! |
DEPRECATED: THIS COMMAND WILL DISAPPEAR! |
3448 |
|
|
3449 |
The front-end can alter the MIDI input type on a specific sampler |
The front-end can alter the MIDI input type on a specific sampler |
3450 |
channel by sending the following command: |
channel by sending the following command: |
3454 |
Where <midi-input-type> is currently only "ALSA" and <sampler- |
Where <midi-input-type> is currently only "ALSA" and <sampler- |
3455 |
channel> is the respective sampler channel number. |
channel> is the respective sampler channel number. |
3456 |
|
|
3457 |
|
If more than 1 MIDI inputs are currently connected to this sampler |
3458 |
|
channel: Sending this command will disconnect ALL currently connected |
3459 |
|
MIDI input ports connected to this sampler channel before |
3460 |
|
establishing the new MIDI input connection. So this command does NOT |
3461 |
|
add the connection, it replaces all existing ones instead. This |
3462 |
|
behavior is due to preserving full behavior backward compatibility. |
3463 |
|
|
3464 |
Possible Answers: |
Possible Answers: |
3465 |
|
|
3466 |
|
|
3467 |
|
|
3468 |
|
|
3469 |
Schoenebeck Expires May 5, 2010 [Page 57] |
|
3470 |
|
|
3471 |
|
Schoenebeck Expires July 13, 2014 [Page 62] |
3472 |
|
|
3473 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
3474 |
|
|
3475 |
|
|
3476 |
"OK" - |
"OK" - |
3492 |
|
|
3493 |
|
|
3494 |
|
|
3495 |
6.4.19. Setting MIDI input port |
Deprecated: |
3496 |
|
|
3497 |
|
Should not be used anymore. This command is currently only |
3498 |
|
preserved for backward compatibility. |
3499 |
|
|
3500 |
|
This command is a relict from times where only 1 MIDI input per |
3501 |
|
sampler channels was allowed and where no sophisticated driver |
3502 |
|
management existed yet. Use "ADD CHANNEL MIDI_INPUT" |
3503 |
|
(Section 6.4.17) and "REMOVE CHANNEL MIDI_INPUT" (Section 6.4.18) |
3504 |
|
instead. |
3505 |
|
|
3506 |
|
6.4.22. Setting MIDI input port |
3507 |
|
|
3508 |
|
DEPRECATED: THIS COMMAND WILL DISAPPEAR! |
3509 |
|
|
3510 |
The front-end can alter the MIDI input port on a specific sampler |
The front-end can alter the MIDI input port on a specific sampler |
3511 |
channel by sending the following command: |
channel by sending the following command: |
3515 |
Where <midi-input-port> is a MIDI input port number of the MIDI input |
Where <midi-input-port> is a MIDI input port number of the MIDI input |
3516 |
device connected to the sampler channel given by <sampler-channel>. |
device connected to the sampler channel given by <sampler-channel>. |
3517 |
|
|
3518 |
|
If more than 1 MIDI inputs are currently connected to this sampler |
3519 |
|
channel: Sending this command will switch the connection of the first |
3520 |
|
(and only the first) MIDI input port currently being connected to |
3521 |
|
this sampler channel, to another port of the same MIDI input device. |
3522 |
|
Or in other words: the first MIDI input port currently connected to |
3523 |
|
this sampler channel will be disconnected, and the requested other |
3524 |
|
|
3525 |
|
|
3526 |
|
|
3527 |
|
Schoenebeck Expires July 13, 2014 [Page 63] |
3528 |
|
|
3529 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
3530 |
|
|
3531 |
|
|
3532 |
|
port of its MIDI input device will be connected to this sampler |
3533 |
|
channel instead. This behavior is due to preserving full behavior |
3534 |
|
backward compatibility. |
3535 |
|
|
3536 |
Possible Answers: |
Possible Answers: |
3537 |
|
|
3538 |
"OK" - |
"OK" - |
3554 |
|
|
3555 |
|
|
3556 |
|
|
3557 |
|
Deprecated: |
3558 |
|
|
3559 |
Schoenebeck Expires May 5, 2010 [Page 58] |
Should not be used anymore. This command is currently only |
3560 |
|
preserved for backward compatibility. |
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
3561 |
|
|
3562 |
|
This command is a relict from times where only one MIDI input per |
3563 |
|
sampler channel was allowed. Use "ADD CHANNEL MIDI_INPUT" |
3564 |
|
(Section 6.4.17) and "REMOVE CHANNEL MIDI_INPUT" (Section 6.4.18) |
3565 |
|
instead. |
3566 |
|
|
3567 |
|
6.4.23. Setting MIDI input channel |
|
6.4.20. Setting MIDI input channel |
|
3568 |
|
|
3569 |
The front-end can alter the MIDI channel a sampler channel should |
The front-end can alter the MIDI channel a sampler channel should |
3570 |
listen to by sending the following command: |
listen to by sending the following command: |
3572 |
SET CHANNEL MIDI_INPUT_CHANNEL <sampler-channel> <midi-input-chan> |
SET CHANNEL MIDI_INPUT_CHANNEL <sampler-channel> <midi-input-chan> |
3573 |
|
|
3574 |
Where <midi-input-chan> is the number of the new MIDI input channel |
Where <midi-input-chan> is the number of the new MIDI input channel |
3575 |
where <sampler-channel> should listen to or "ALL" to listen on all 16 |
(zero indexed!) where <sampler-channel> should listen to, or "ALL" to |
3576 |
MIDI channels. |
listen on all 16 MIDI channels. |
3577 |
|
|
3578 |
Possible Answers: |
Possible Answers: |
3579 |
|
|
3580 |
|
|
3581 |
|
|
3582 |
|
|
3583 |
|
Schoenebeck Expires July 13, 2014 [Page 64] |
3584 |
|
|
3585 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
3586 |
|
|
3587 |
|
|
3588 |
"OK" - |
"OK" - |
3589 |
|
|
3590 |
on success |
on success |
3602 |
|
|
3603 |
Examples: |
Examples: |
3604 |
|
|
3605 |
|
C: "SET CHANNEL MIDI_INPUT_CHANNEL 0 0" |
3606 |
|
|
3607 |
|
S: "OK" |
3608 |
|
|
3609 |
6.4.21. Setting channel volume |
C: "SET CHANNEL MIDI_INPUT_CHANNEL 1 ALL" |
3610 |
|
|
3611 |
|
S: "OK" |
3612 |
|
|
3613 |
|
6.4.24. Setting channel volume |
3614 |
|
|
3615 |
The front-end can alter the volume of a sampler channel by sending |
The front-end can alter the volume of a sampler channel by sending |
3616 |
the following command: |
the following command: |
3624 |
|
|
3625 |
Possible Answers: |
Possible Answers: |
3626 |
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 59] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
3627 |
"OK" - |
"OK" - |
3628 |
|
|
3629 |
on success |
on success |
3634 |
related, providing an appropriate warning code and warning |
related, providing an appropriate warning code and warning |
3635 |
message |
message |
3636 |
|
|
3637 |
|
|
3638 |
|
|
3639 |
|
Schoenebeck Expires July 13, 2014 [Page 65] |
3640 |
|
|
3641 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
3642 |
|
|
3643 |
|
|
3644 |
"ERR:<error-code>:<error-message>" - |
"ERR:<error-code>:<error-message>" - |
3645 |
|
|
3646 |
in case it failed, providing an appropriate error code and |
in case it failed, providing an appropriate error code and |
3650 |
|
|
3651 |
|
|
3652 |
|
|
3653 |
6.4.22. Muting a sampler channel |
6.4.25. Muting a sampler channel |
3654 |
|
|
3655 |
The front-end can mute/unmute a specific sampler channel by sending |
The front-end can mute/unmute a specific sampler channel by sending |
3656 |
the following command: |
the following command: |
3679 |
in case it failed, providing an appropriate error code and |
in case it failed, providing an appropriate error code and |
3680 |
error message |
error message |
3681 |
|
|
3682 |
|
Examples: |
3683 |
|
|
3684 |
|
|
3685 |
|
|
3686 |
Schoenebeck Expires May 5, 2010 [Page 60] |
6.4.26. Soloing a sampler channel |
3687 |
|
|
3688 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
The front-end can solo/unsolo a specific sampler channel by sending |
3689 |
|
the following command: |
3690 |
|
|
3691 |
|
|
|
Examples: |
|
3692 |
|
|
3693 |
|
|
3694 |
|
|
3695 |
6.4.23. Soloing a sampler channel |
Schoenebeck Expires July 13, 2014 [Page 66] |
3696 |
|
|
3697 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
3698 |
|
|
|
The front-end can solo/unsolo a specific sampler channel by sending |
|
|
the following command: |
|
3699 |
|
|
3700 |
SET CHANNEL SOLO <sampler-channel> <solo> |
SET CHANNEL SOLO <sampler-channel> <solo> |
3701 |
|
|
3725 |
|
|
3726 |
|
|
3727 |
|
|
3728 |
6.4.24. Assigning a MIDI instrument map to a sampler channel |
6.4.27. Assigning a MIDI instrument map to a sampler channel |
3729 |
|
|
3730 |
The front-end can assign a MIDI instrument map to a specific sampler |
The front-end can assign a MIDI instrument map to a specific sampler |
3731 |
channel by sending the following command: |
channel by sending the following command: |
3737 |
(Section 6.4.4) command and <map> can have the following |
(Section 6.4.4) command and <map> can have the following |
3738 |
possibilites: |
possibilites: |
3739 |
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 61] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
3740 |
"NONE" - |
"NONE" - |
3741 |
|
|
3742 |
This is the default setting. In this case the sampler channel |
This is the default setting. In this case the sampler channel |
3743 |
is not assigned any MIDI instrument map and thus will ignore |
is not assigned any MIDI instrument map and thus will ignore |
3744 |
all MIDI program change messages. |
all MIDI program change messages. |
3745 |
|
|
3746 |
|
|
3747 |
|
|
3748 |
|
|
3749 |
|
|
3750 |
|
|
3751 |
|
Schoenebeck Expires July 13, 2014 [Page 67] |
3752 |
|
|
3753 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
3754 |
|
|
3755 |
|
|
3756 |
"DEFAULT" - |
"DEFAULT" - |
3757 |
|
|
3758 |
The sampler channel will always use the default MIDI instrument |
The sampler channel will always use the default MIDI instrument |
3784 |
|
|
3785 |
|
|
3786 |
|
|
3787 |
6.4.25. Adding an effect send to a sampler channel |
6.4.28. Adding an effect send to a sampler channel |
3788 |
|
|
3789 |
The front-end can create an additional effect send on a specific |
The front-end can create an additional effect send on a specific |
3790 |
sampler channel by sending the following command: |
sampler channel by sending the following command: |
3795 |
returned by the "ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" |
returned by the "ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" |
3796 |
(Section 6.4.4) command, that is the sampler channel on which the |
(Section 6.4.4) command, that is the sampler channel on which the |
3797 |
effect send should be created on, <midi-ctrl> is a number between |
effect send should be created on, <midi-ctrl> is a number between |
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 62] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
3798 |
0..127 defining the MIDI controller which can alter the effect send |
0..127 defining the MIDI controller which can alter the effect send |
3799 |
level and <name> is an optional argument defining a name for the |
level and <name> is an optional argument defining a name for the |
3800 |
effect send entity. The name does not have to be unique, but MUST be |
effect send entity. The name does not have to be unique, but MUST be |
3802 |
described in chapter "Character Set and Escape Sequences |
described in chapter "Character Set and Escape Sequences |
3803 |
(Section 7.1)". |
(Section 7.1)". |
3804 |
|
|
3805 |
|
|
3806 |
|
|
3807 |
|
Schoenebeck Expires July 13, 2014 [Page 68] |
3808 |
|
|
3809 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
3810 |
|
|
3811 |
|
|
3812 |
By default, that is as initial routing, the effect send's audio |
By default, that is as initial routing, the effect send's audio |
3813 |
channels are automatically routed to the last audio channels of the |
channels are automatically routed to the last audio channels of the |
3814 |
sampler channel's audio output device, that way you can i.e. first |
sampler channel's audio output device, that way you can i.e. first |
3816 |
having dedicated effect send output channels and when "CREATE |
having dedicated effect send output channels and when "CREATE |
3817 |
FX_SEND" is called, those channels will automatically be picked. You |
FX_SEND" is called, those channels will automatically be picked. You |
3818 |
can alter the destination channels however with "SET FX_SEND |
can alter the destination channels however with "SET FX_SEND |
3819 |
AUDIO_OUTPUT_CHANNEL" (Section 6.4.31). |
AUDIO_OUTPUT_CHANNEL" (Section 6.4.34). |
3820 |
|
|
3821 |
Note: Create effect sends on a sampler channel only when needed, |
Note: Create effect sends on a sampler channel only when needed, |
3822 |
because having effect sends on a sampler channel will decrease |
because having effect sends on a sampler channel will decrease |
3849 |
|
|
3850 |
C: "CREATE FX_SEND 0 93" |
C: "CREATE FX_SEND 0 93" |
3851 |
|
|
3852 |
|
S: "OK[1]" |
3853 |
|
|
3854 |
|
6.4.29. Removing an effect send from a sampler channel |
3855 |
|
|
3856 |
|
The front-end can remove an existing effect send on a specific |
3857 |
|
sampler channel by sending the following command: |
3858 |
|
|
3859 |
|
|
|
Schoenebeck Expires May 5, 2010 [Page 63] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
3860 |
|
|
3861 |
|
|
|
S: "OK[1]" |
|
3862 |
|
|
3863 |
6.4.26. Removing an effect send from a sampler channel |
Schoenebeck Expires July 13, 2014 [Page 69] |
3864 |
|
|
3865 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
3866 |
|
|
|
The front-end can remove an existing effect send on a specific |
|
|
sampler channel by sending the following command: |
|
3867 |
|
|
3868 |
DESTROY FX_SEND <sampler-channel> <fx-send-id> |
DESTROY FX_SEND <sampler-channel> <fx-send-id> |
3869 |
|
|
3872 |
(Section 6.4.4) command, that is the sampler channel from which the |
(Section 6.4.4) command, that is the sampler channel from which the |
3873 |
effect send should be removed from and <fx-send-id> is the respective |
effect send should be removed from and <fx-send-id> is the respective |
3874 |
effect send number as returned by the "CREATE FX_SEND" |
effect send number as returned by the "CREATE FX_SEND" |
3875 |
(Section 6.4.25) or "LIST FX_SENDS" (Section 6.4.28) command. |
(Section 6.4.28) or "LIST FX_SENDS" (Section 6.4.31) command. |
3876 |
|
|
3877 |
Possible Answers: |
Possible Answers: |
3878 |
|
|
3891 |
|
|
3892 |
S: "OK" |
S: "OK" |
3893 |
|
|
3894 |
6.4.27. Getting amount of effect sends on a sampler channel |
6.4.30. Getting amount of effect sends on a sampler channel |
3895 |
|
|
3896 |
The front-end can ask for the amount of effect sends on a specific |
The front-end can ask for the amount of effect sends on a specific |
3897 |
sampler channel by sending the following command: |
sampler channel by sending the following command: |
3904 |
|
|
3905 |
Possible Answers: |
Possible Answers: |
3906 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 64] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
3907 |
The sampler will answer by returning the number of effect sends on |
The sampler will answer by returning the number of effect sends on |
3908 |
the given sampler channel. |
the given sampler channel. |
3909 |
|
|
3913 |
|
|
3914 |
S: "2" |
S: "2" |
3915 |
|
|
3916 |
6.4.28. Listing all effect sends on a sampler channel |
|
3917 |
|
|
3918 |
|
|
3919 |
|
Schoenebeck Expires July 13, 2014 [Page 70] |
3920 |
|
|
3921 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
3922 |
|
|
3923 |
|
|
3924 |
|
6.4.31. Listing all effect sends on a sampler channel |
3925 |
|
|
3926 |
The front-end can ask for a list of effect sends on a specific |
The front-end can ask for a list of effect sends on a specific |
3927 |
sampler channel by sending the following command: |
sampler channel by sending the following command: |
3947 |
|
|
3948 |
S: "" |
S: "" |
3949 |
|
|
3950 |
6.4.29. Getting effect send information |
6.4.32. Getting effect send information |
3951 |
|
|
3952 |
The front-end can ask for the current settings of an effect send |
The front-end can ask for the current settings of an effect send |
3953 |
entity by sending the following command: |
entity by sending the following command: |
3957 |
Where <sampler-channel> is the sampler channel number as returned by |
Where <sampler-channel> is the sampler channel number as returned by |
3958 |
the "ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) |
the "ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) |
3959 |
command and <fx-send-id> reflects the numerical ID of the effect send |
command and <fx-send-id> reflects the numerical ID of the effect send |
3960 |
entity as returned by the "CREATE FX_SEND" (Section 6.4.25) or "LIST |
entity as returned by the "CREATE FX_SEND" (Section 6.4.28) or "LIST |
3961 |
FX_SENDS" (Section 6.4.28) command. |
FX_SENDS" (Section 6.4.31) command. |
|
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 65] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
3962 |
|
|
3963 |
Possible Answers: |
Possible Answers: |
3964 |
|
|
3970 |
|
|
3971 |
|
|
3972 |
|
|
3973 |
|
|
3974 |
|
|
3975 |
|
Schoenebeck Expires July 13, 2014 [Page 71] |
3976 |
|
|
3977 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
3978 |
|
|
3979 |
|
|
3980 |
|
|
3981 |
|
|
3982 |
NAME - |
NAME - |
3983 |
|
|
3984 |
name of the effect send entity (note that this character |
name of the effect send entity (note that this character |
4003 |
send's output channel 0 is routed to channel 0 of the audio |
send's output channel 0 is routed to channel 0 of the audio |
4004 |
output device and the effect send's output channel 1 is |
output device and the effect send's output channel 1 is |
4005 |
routed to the channel 3 of the audio output device (see "SET |
routed to the channel 3 of the audio output device (see "SET |
4006 |
FX_SEND AUDIO_OUTPUT_CHANNEL" (Section 6.4.31) for details) |
FX_SEND AUDIO_OUTPUT_CHANNEL" (Section 6.4.34) for details), |
4007 |
|
if an internal send effect is assigned to the effect send, |
4008 |
|
then this setting defines the audio channel routing to that |
4009 |
|
effect instance respectively |
4010 |
|
|
4011 |
|
EFFECT - |
4012 |
|
|
4013 |
|
destination send effect chain ID and destination effect |
4014 |
|
chain position, separated by comma in the form "<effect- |
4015 |
|
chain>,<chain-pos>" or "NONE" if there is no send effect |
4016 |
|
assigned to the effect send |
4017 |
|
|
4018 |
The mentioned fields above don't have to be in particular order. |
The mentioned fields above don't have to be in particular order. |
4019 |
|
|
4025 |
|
|
4026 |
"MIDI_CONTROLLER: 91" |
"MIDI_CONTROLLER: 91" |
4027 |
|
|
|
"LEVEL: 0.3" |
|
4028 |
|
|
4029 |
|
|
4030 |
|
|
4031 |
|
Schoenebeck Expires July 13, 2014 [Page 72] |
|
Schoenebeck Expires May 5, 2010 [Page 66] |
|
4032 |
|
|
4033 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
4034 |
|
|
4035 |
|
|
4036 |
|
"LEVEL: 0.3" |
4037 |
|
|
4038 |
"AUDIO_OUTPUT_ROUTING: 2,3" |
"AUDIO_OUTPUT_ROUTING: 2,3" |
4039 |
|
|
4040 |
|
"EFFECT: NONE" |
4041 |
|
|
4042 |
"." |
"." |
4043 |
|
|
4044 |
6.4.30. Changing effect send's name |
C: "GET FX_SEND INFO 0 1" |
4045 |
|
|
4046 |
|
S: "NAME: Delay Send (Internal)" |
4047 |
|
|
4048 |
|
"MIDI_CONTROLLER: 93" |
4049 |
|
|
4050 |
|
"LEVEL: 0.51" |
4051 |
|
|
4052 |
|
"AUDIO_OUTPUT_ROUTING: 1,2" |
4053 |
|
|
4054 |
|
"EFFECT: 2,0" |
4055 |
|
|
4056 |
|
"." |
4057 |
|
|
4058 |
|
6.4.33. Changing effect send's name |
4059 |
|
|
4060 |
The front-end can alter the current name of an effect send entity by |
The front-end can alter the current name of an effect send entity by |
4061 |
sending the following command: |
sending the following command: |
4065 |
Where <sampler-chan> is the sampler channel number as returned by the |
Where <sampler-chan> is the sampler channel number as returned by the |
4066 |
"ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) |
"ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) |
4067 |
command, <fx-send-id> reflects the numerical ID of the effect send |
command, <fx-send-id> reflects the numerical ID of the effect send |
4068 |
entity as returned by the "CREATE FX_SEND" (Section 6.4.25) or "LIST |
entity as returned by the "CREATE FX_SEND" (Section 6.4.28) or "LIST |
4069 |
FX_SENDS" (Section 6.4.28) command and <name> is the new name of the |
FX_SENDS" (Section 6.4.31) command and <name> is the new name of the |
4070 |
effect send entity, which does not have to be unique (name MUST be |
effect send entity, which does not have to be unique (name MUST be |
4071 |
encapsulated into apostrophes and supports escape sequences as |
encapsulated into apostrophes and supports escape sequences as |
4072 |
described in chapter "Character Set and Escape Sequences |
described in chapter "Character Set and Escape Sequences |
4080 |
|
|
4081 |
"ERR:<error-code>:<error-message>" - |
"ERR:<error-code>:<error-message>" - |
4082 |
|
|
4083 |
|
|
4084 |
|
|
4085 |
|
|
4086 |
|
|
4087 |
|
Schoenebeck Expires July 13, 2014 [Page 73] |
4088 |
|
|
4089 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
4090 |
|
|
4091 |
|
|
4092 |
in case it failed, providing an appropriate error code and |
in case it failed, providing an appropriate error code and |
4093 |
error message |
error message |
4094 |
|
|
4098 |
|
|
4099 |
S: "OK" |
S: "OK" |
4100 |
|
|
4101 |
6.4.31. Altering effect send's audio routing |
6.4.34. Altering effect send's audio routing |
4102 |
|
|
4103 |
The front-end can alter the destination of an effect send's audio |
The front-end can alter the destination of an effect send's audio |
4104 |
channel on a specific sampler channel by sending the following |
channel on a specific sampler channel by sending the following |
4108 |
<audio-src> <audio-dst> |
<audio-src> <audio-dst> |
4109 |
|
|
4110 |
Where <sampler-chan> is the sampler channel number as returned by the |
Where <sampler-chan> is the sampler channel number as returned by the |
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 67] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
4111 |
"ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) |
"ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) |
4112 |
command, <fx-send-id> reflects the numerical ID of the effect send |
command, <fx-send-id> reflects the numerical ID of the effect send |
4113 |
entity as returned by the "CREATE FX_SEND" (Section 6.4.25) or "LIST |
entity as returned by the "CREATE FX_SEND" (Section 6.4.28) or "LIST |
4114 |
FX_SENDS" (Section 6.4.28) command, <audio-src> is the numerical ID |
FX_SENDS" (Section 6.4.31) command, <audio-src> is the numerical ID |
4115 |
of the effect send's audio channel which should be rerouted and |
of the effect send's audio channel which should be rerouted and |
4116 |
<audio-dst> is the numerical ID of the audio channel of the selected |
<audio-dst> is the numerical ID of the audio channel of the selected |
4117 |
audio output device where <audio-src> should be routed to. |
audio output device where <audio-src> should be routed to. If an |
4118 |
|
internal send effect is assigned to the effect send, then this |
4119 |
|
setting defines the audio channel routing to that effect instance |
4120 |
|
respectively. |
4121 |
|
|
4122 |
Note that effect sends can only route audio to the same audio output |
Note that effect sends can only route audio to the same audio output |
4123 |
device as assigned to the effect send's sampler channel. Also note |
device as assigned to the effect send's sampler channel. Also note |
4137 |
|
|
4138 |
on success |
on success |
4139 |
|
|
4140 |
|
|
4141 |
|
|
4142 |
|
|
4143 |
|
Schoenebeck Expires July 13, 2014 [Page 74] |
4144 |
|
|
4145 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
4146 |
|
|
4147 |
|
|
4148 |
"WRN:<warning-code>:<warning-message>" - |
"WRN:<warning-code>:<warning-message>" - |
4149 |
|
|
4150 |
if audio output channel was set, but there are noteworthy |
if audio output channel was set, but there are noteworthy |
4162 |
|
|
4163 |
S: "OK" |
S: "OK" |
4164 |
|
|
4165 |
6.4.32. Altering effect send's MIDI controller |
6.4.35. Assigning destination effect to an effect send |
4166 |
|
|
4167 |
The front-end can alter the MIDI controller of an effect send entity |
The front-end can (re-)assign a destination effect to an effect send |
4168 |
by sending the following command: |
by sending the following command: |
4169 |
|
|
4170 |
|
SET FX_SEND EFFECT <sampler-chan> <fx-send-id> <effect-chain> |
4171 |
|
<chain-pos> |
4172 |
|
|
4173 |
|
Where <sampler-chan> is the sampler channel number as returned by the |
4174 |
|
"ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) |
4175 |
|
command, <fx-send-id> reflects the numerical ID of the effect send |
4176 |
|
entity as returned by the "CREATE FX_SEND" (Section 6.4.28) or "LIST |
4177 |
|
FX_SENDS" (Section 6.4.31) command, <effect-chain> by the numerical |
4178 |
|
ID of the destination effect chain as returned by the "ADD |
4179 |
|
SEND_EFFECT_CHAIN" (Section 6.11.14) or "LIST SEND_EFFECT_CHAINS" |
4180 |
|
(Section 6.11.13) command and <chain-pos> reflects the exact effect |
4181 |
|
chain position in the effect chain which hosts the actual destination |
4182 |
|
effect. |
4183 |
|
|
4184 |
|
Possible Answers: |
4185 |
|
|
4186 |
|
"OK" - |
4187 |
|
|
4188 |
|
on success |
4189 |
|
|
4190 |
|
"ERR:<error-code>:<error-message>" - |
4191 |
|
|
4192 |
|
in case it failed, providing an appropriate error code and |
4193 |
|
error message |
4194 |
|
|
4195 |
|
Example: |
4196 |
|
|
4197 |
|
|
4198 |
|
|
4199 |
Schoenebeck Expires May 5, 2010 [Page 68] |
Schoenebeck Expires July 13, 2014 [Page 75] |
4200 |
|
|
4201 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
4202 |
|
|
4203 |
|
|
4204 |
|
C: "SET FX_SEND EFFECT 0 0 2 5" |
4205 |
|
|
4206 |
|
S: "OK" |
4207 |
|
|
4208 |
|
6.4.36. Removing destination effect from an effect send |
4209 |
|
|
4210 |
|
The front-end can (re-)assign a destination effect to an effect send |
4211 |
|
by sending the following command: |
4212 |
|
|
4213 |
|
REMOVE FX_SEND EFFECT <sampler-chan> <fx-send-id> |
4214 |
|
|
4215 |
|
Where <sampler-chan> is the sampler channel number as returned by the |
4216 |
|
"ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) |
4217 |
|
command, <fx-send-id> reflects the numerical ID of the effect send |
4218 |
|
entity as returned by the "CREATE FX_SEND" (Section 6.4.28) or "LIST |
4219 |
|
FX_SENDS" (Section 6.4.31) command. |
4220 |
|
|
4221 |
|
After the destination effect has been removed from the effect send, |
4222 |
|
the audio signal of the effect send will be routed directly to the |
4223 |
|
audio output device, according to the audio channel routing setting |
4224 |
|
of the effect send. |
4225 |
|
|
4226 |
|
Possible Answers: |
4227 |
|
|
4228 |
|
"OK" - |
4229 |
|
|
4230 |
|
on success |
4231 |
|
|
4232 |
|
"ERR:<error-code>:<error-message>" - |
4233 |
|
|
4234 |
|
in case it failed, providing an appropriate error code and |
4235 |
|
error message |
4236 |
|
|
4237 |
|
Example: |
4238 |
|
|
4239 |
|
C: "REMOVE FX_SEND EFFECT 0 0" |
4240 |
|
|
4241 |
|
S: "OK" |
4242 |
|
|
4243 |
|
6.4.37. Altering effect send's MIDI controller |
4244 |
|
|
4245 |
|
The front-end can alter the MIDI controller of an effect send entity |
4246 |
|
by sending the following command: |
4247 |
|
|
4248 |
SET FX_SEND MIDI_CONTROLLER <sampler-chan> <fx-send-id> <midi- |
SET FX_SEND MIDI_CONTROLLER <sampler-chan> <fx-send-id> <midi- |
4249 |
ctrl> |
ctrl> |
4250 |
|
|
4251 |
Where <sampler-chan> is the sampler channel number as returned by the |
Where <sampler-chan> is the sampler channel number as returned by the |
4252 |
|
|
4253 |
|
|
4254 |
|
|
4255 |
|
Schoenebeck Expires July 13, 2014 [Page 76] |
4256 |
|
|
4257 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
4258 |
|
|
4259 |
|
|
4260 |
"ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) |
"ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) |
4261 |
command, <fx-send-id> reflects the numerical ID of the effect send |
command, <fx-send-id> reflects the numerical ID of the effect send |
4262 |
entity as returned by the "CREATE FX_SEND" (Section 6.4.25) or "LIST |
entity as returned by the "CREATE FX_SEND" (Section 6.4.28) or "LIST |
4263 |
FX_SENDS" (Section 6.4.28) command and <midi-ctrl> reflects the MIDI |
FX_SENDS" (Section 6.4.31) command and <midi-ctrl> reflects the MIDI |
4264 |
controller which shall be able to modify the effect send's send |
controller which shall be able to modify the effect send's send |
4265 |
level. |
level. |
4266 |
|
|
4287 |
|
|
4288 |
S: "OK" |
S: "OK" |
4289 |
|
|
4290 |
6.4.33. Altering effect send's send level |
6.4.38. Altering effect send's send level |
4291 |
|
|
4292 |
The front-end can alter the current send level of an effect send |
The front-end can alter the current send level of an effect send |
4293 |
entity by sending the following command: |
entity by sending the following command: |
4297 |
Where <sampler-chan> is the sampler channel number as returned by the |
Where <sampler-chan> is the sampler channel number as returned by the |
4298 |
"ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) |
"ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) |
4299 |
command, <fx-send-id> reflects the numerical ID of the effect send |
command, <fx-send-id> reflects the numerical ID of the effect send |
4300 |
entity as returned by the "CREATE FX_SEND" (Section 6.4.25) or "LIST |
entity as returned by the "CREATE FX_SEND" (Section 6.4.28) or "LIST |
4301 |
FX_SENDS" (Section 6.4.28) command and <volume> is an optionally |
FX_SENDS" (Section 6.4.31) command and <volume> is an optionally |
4302 |
dotted positive number (a value smaller than 1.0 means attenuation, |
dotted positive number (a value smaller than 1.0 means attenuation, |
4303 |
whereas a value greater than 1.0 means amplification) reflecting the |
whereas a value greater than 1.0 means amplification) reflecting the |
4304 |
|
new send level. |
4305 |
|
|
4306 |
|
Possible Answers: |
4307 |
|
|
4308 |
|
|
|
Schoenebeck Expires May 5, 2010 [Page 69] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
4309 |
|
|
4310 |
|
|
4311 |
new send level. |
Schoenebeck Expires July 13, 2014 [Page 77] |
4312 |
|
|
4313 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
4314 |
|
|
|
Possible Answers: |
|
4315 |
|
|
4316 |
"OK" - |
"OK" - |
4317 |
|
|
4334 |
|
|
4335 |
S: "OK" |
S: "OK" |
4336 |
|
|
4337 |
6.4.34. Sending MIDI messages to sampler channel |
6.4.39. Sending MIDI messages to sampler channel |
4338 |
|
|
4339 |
The front-end can send MIDI events to a specific sampler channel by |
The front-end can send MIDI events to a specific sampler channel by |
4340 |
sending the following command: |
sending the following command: |
4357 |
|
|
4358 |
For turning a currently playing MIDI note off, where <arg1> |
For turning a currently playing MIDI note off, where <arg1> |
4359 |
specifies the key number and <arg2> the velocity as described |
specifies the key number and <arg2> the velocity as described |
4360 |
|
in the MIDI specification. |
4361 |
|
|
4362 |
|
|
4363 |
|
|
|
Schoenebeck Expires May 5, 2010 [Page 70] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
4364 |
|
|
4365 |
|
|
4366 |
in the MIDI specification. |
|
4367 |
|
Schoenebeck Expires July 13, 2014 [Page 78] |
4368 |
|
|
4369 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
4370 |
|
|
4371 |
|
|
4372 |
"CC" - |
"CC" - |
4373 |
|
|
4396 |
|
|
4397 |
S: "OK" |
S: "OK" |
4398 |
|
|
4399 |
6.4.35. Resetting a sampler channel |
6.4.40. Resetting a sampler channel |
4400 |
|
|
4401 |
The front-end can reset a particular sampler channel by sending the |
The front-end can reset a particular sampler channel by sending the |
4402 |
following command: |
following command: |
4414 |
|
|
4415 |
on success |
on success |
4416 |
|
|
4417 |
|
"WRN:<warning-code>:<warning-message>" - |
4418 |
|
|
4419 |
|
|
4420 |
|
|
4421 |
|
|
4422 |
|
|
4423 |
Schoenebeck Expires May 5, 2010 [Page 71] |
Schoenebeck Expires July 13, 2014 [Page 79] |
4424 |
|
|
4425 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
4426 |
|
|
4427 |
|
|
|
"WRN:<warning-code>:<warning-message>" - |
|
|
|
|
4428 |
if channel was reset, but there are noteworthy issue(s) |
if channel was reset, but there are noteworthy issue(s) |
4429 |
related, providing an appropriate warning code and warning |
related, providing an appropriate warning code and warning |
4430 |
message |
message |
4474 |
|
|
4475 |
|
|
4476 |
|
|
4477 |
Schoenebeck Expires May 5, 2010 [Page 72] |
|
4478 |
|
|
4479 |
|
Schoenebeck Expires July 13, 2014 [Page 80] |
4480 |
|
|
4481 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
4482 |
|
|
4483 |
|
|
4484 |
|
|
4532 |
|
|
4533 |
|
|
4534 |
|
|
4535 |
Schoenebeck Expires May 5, 2010 [Page 73] |
Schoenebeck Expires July 13, 2014 [Page 81] |
4536 |
|
|
4537 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
4538 |
|
|
4539 |
|
|
4540 |
"OK" - |
"OK" - |
4588 |
|
|
4589 |
|
|
4590 |
|
|
4591 |
Schoenebeck Expires May 5, 2010 [Page 74] |
Schoenebeck Expires July 13, 2014 [Page 82] |
4592 |
|
|
4593 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
4594 |
|
|
4595 |
|
|
4596 |
LinuxSampler will answer by returning the maximum number of active |
LinuxSampler will answer by returning the maximum number of active |
4644 |
|
|
4645 |
|
|
4646 |
|
|
4647 |
Schoenebeck Expires May 5, 2010 [Page 75] |
Schoenebeck Expires July 13, 2014 [Page 83] |
4648 |
|
|
4649 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
4650 |
|
|
4651 |
|
|
4652 |
|
|
4674 |
The mentioned fields above don't have to be in particular order. |
The mentioned fields above don't have to be in particular order. |
4675 |
Other fields might be added in future. |
Other fields might be added in future. |
4676 |
|
|
4677 |
|
Example: |
4678 |
|
|
4679 |
|
C: "GET SERVER INFO" |
4680 |
|
|
4681 |
|
S: "DESCRIPTION: LinuxSampler - modular, streaming capable |
4682 |
|
sampler" |
4683 |
|
|
4684 |
|
"VERSION: 1.0.0.svn23" |
4685 |
|
|
4686 |
|
"PROTOCOL_VERSION: 1.5" |
4687 |
|
|
4688 |
|
"INSTRUMENTS_DB_SUPPORT: no" |
4689 |
|
|
4690 |
|
"." |
4691 |
|
|
4692 |
6.6.6. Getting global volume attenuation |
6.6.6. Getting global volume attenuation |
4693 |
|
|
4694 |
The client can ask for the current global sampler-wide volume |
The client can ask for the current global sampler-wide volume |
4698 |
|
|
4699 |
Possible Answers: |
Possible Answers: |
4700 |
|
|
4701 |
|
|
4702 |
|
|
4703 |
|
Schoenebeck Expires July 13, 2014 [Page 84] |
4704 |
|
|
4705 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
4706 |
|
|
4707 |
|
|
4708 |
The sampler will always answer by returning the optional dotted |
The sampler will always answer by returning the optional dotted |
4709 |
floating point coefficient, reflecting the current global volume |
floating point coefficient, reflecting the current global volume |
4710 |
attenuation. |
attenuation. |
4718 |
The client can alter the current global sampler-wide volume |
The client can alter the current global sampler-wide volume |
4719 |
attenuation by sending the following command: |
attenuation by sending the following command: |
4720 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 76] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
4721 |
SET VOLUME <volume> |
SET VOLUME <volume> |
4722 |
|
|
4723 |
Where <volume> should be replaced by the optional dotted floating |
Where <volume> should be replaced by the optional dotted floating |
4751 |
|
|
4752 |
Possible Answers: |
Possible Answers: |
4753 |
|
|
4754 |
|
|
4755 |
|
|
4756 |
|
|
4757 |
|
|
4758 |
|
|
4759 |
|
Schoenebeck Expires July 13, 2014 [Page 85] |
4760 |
|
|
4761 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
4762 |
|
|
4763 |
|
|
4764 |
LinuxSampler will answer by returning the number for the current |
LinuxSampler will answer by returning the number for the current |
4765 |
limit of maximum voices. |
limit of maximum voices. |
4766 |
|
|
4777 |
The client can alter the current global sampler-wide limit for |
The client can alter the current global sampler-wide limit for |
4778 |
maximum voices by sending the following command: |
maximum voices by sending the following command: |
4779 |
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 77] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
4780 |
SET VOICES <max-voices> |
SET VOICES <max-voices> |
4781 |
|
|
4782 |
Where <max-voices> should be replaced by the integer value, |
Where <max-voices> should be replaced by the integer value, |
4808 |
Caution: when adjusting the voice limit, you SHOULD also adjust the |
Caution: when adjusting the voice limit, you SHOULD also adjust the |
4809 |
disk stream limit respectively and vice versa. |
disk stream limit respectively and vice versa. |
4810 |
|
|
4811 |
|
|
4812 |
|
|
4813 |
|
|
4814 |
|
|
4815 |
|
Schoenebeck Expires July 13, 2014 [Page 86] |
4816 |
|
|
4817 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
4818 |
|
|
4819 |
|
|
4820 |
6.6.10. Getting global disk stream limit |
6.6.10. Getting global disk stream limit |
4821 |
|
|
4822 |
The client can ask for the current global sampler-wide limit for |
The client can ask for the current global sampler-wide limit for |
4835 |
every disk streams allocates a certain buffer size for being able to |
every disk streams allocates a certain buffer size for being able to |
4836 |
perform its streaming operations. |
perform its streaming operations. |
4837 |
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 78] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
4838 |
6.6.11. Setting global disk stream limit |
6.6.11. Setting global disk stream limit |
4839 |
|
|
4840 |
The client can alter the current global sampler-wide limit for |
The client can alter the current global sampler-wide limit for |
4865 |
|
|
4866 |
Note: the given value will be passed to all sampler engine instances. |
Note: the given value will be passed to all sampler engine instances. |
4867 |
The total amount of maximum disk streams on the running system might |
The total amount of maximum disk streams on the running system might |
4868 |
|
|
4869 |
|
|
4870 |
|
|
4871 |
|
Schoenebeck Expires July 13, 2014 [Page 87] |
4872 |
|
|
4873 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
4874 |
|
|
4875 |
|
|
4876 |
thus be as big as the given value multiplied by the current amount of |
thus be as big as the given value multiplied by the current amount of |
4877 |
engine instances. |
engine instances. |
4878 |
|
|
4891 |
maps which define which instrument to load on which MIDI program |
maps which define which instrument to load on which MIDI program |
4892 |
change message. |
change message. |
4893 |
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 79] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
4894 |
By default, that is when the sampler is launched, there is no map, |
By default, that is when the sampler is launched, there is no map, |
4895 |
thus the sampler will simply ignore all program change messages. The |
thus the sampler will simply ignore all program change messages. The |
4896 |
front-end has to explicitly create at least one map, add entries to |
front-end has to explicitly create at least one map, add entries to |
4899 |
program change message on the respective sampler channel, that is by |
program change message on the respective sampler channel, that is by |
4900 |
switching to the respectively defined engine type and loading the |
switching to the respectively defined engine type and loading the |
4901 |
respective instrument. See command "SET CHANNEL MIDI_INSTRUMENT_MAP" |
respective instrument. See command "SET CHANNEL MIDI_INSTRUMENT_MAP" |
4902 |
(Section 6.4.24) for how to assign a MIDI instrument map to a sampler |
(Section 6.4.27) for how to assign a MIDI instrument map to a sampler |
4903 |
channel. |
channel. |
4904 |
|
|
4905 |
Also note per MIDI specification a bank select message does not cause |
Also note per MIDI specification a bank select message does not cause |
4922 |
sequences as described in chapter "Character Set and Escape Sequences |
sequences as described in chapter "Character Set and Escape Sequences |
4923 |
(Section 7.1)". |
(Section 7.1)". |
4924 |
|
|
4925 |
|
|
4926 |
|
|
4927 |
|
Schoenebeck Expires July 13, 2014 [Page 88] |
4928 |
|
|
4929 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
4930 |
|
|
4931 |
|
|
4932 |
Possible Answers: |
Possible Answers: |
4933 |
|
|
4934 |
"OK[<map>]" - |
"OK[<map>]" - |
4945 |
|
|
4946 |
C: "ADD MIDI_INSTRUMENT_MAP 'Standard Map'" |
C: "ADD MIDI_INSTRUMENT_MAP 'Standard Map'" |
4947 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 80] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
4948 |
S: "OK[0]" |
S: "OK[0]" |
4949 |
|
|
4950 |
C: "ADD MIDI_INSTRUMENT_MAP 'Standard Drumkit'" |
C: "ADD MIDI_INSTRUMENT_MAP 'Standard Drumkit'" |
4976 |
|
|
4977 |
in case the map(s) could be deleted |
in case the map(s) could be deleted |
4978 |
|
|
4979 |
|
|
4980 |
|
|
4981 |
|
|
4982 |
|
|
4983 |
|
Schoenebeck Expires July 13, 2014 [Page 89] |
4984 |
|
|
4985 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
4986 |
|
|
4987 |
|
|
4988 |
"ERR:<error-code>:<error-message>" - |
"ERR:<error-code>:<error-message>" - |
4989 |
|
|
4990 |
when the given map does not exist |
when the given map does not exist |
4999 |
|
|
5000 |
S: "OK" |
S: "OK" |
5001 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 81] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
5002 |
6.7.3. Get amount of existing MIDI instrument maps |
6.7.3. Get amount of existing MIDI instrument maps |
5003 |
|
|
5004 |
The front-end can retrieve the current amount of MIDI instrument maps |
The front-end can retrieve the current amount of MIDI instrument maps |
5032 |
|
|
5033 |
Example: |
Example: |
5034 |
|
|
5035 |
|
|
5036 |
|
|
5037 |
|
|
5038 |
|
|
5039 |
|
Schoenebeck Expires July 13, 2014 [Page 90] |
5040 |
|
|
5041 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
5042 |
|
|
5043 |
|
|
5044 |
C: "LIST MIDI_INSTRUMENT_MAPS" |
C: "LIST MIDI_INSTRUMENT_MAPS" |
5045 |
|
|
5046 |
S: "0,1,5,12" |
S: "0,1,5,12" |
5056 |
interested in as returned by the "LIST MIDI_INSTRUMENT_MAPS" |
interested in as returned by the "LIST MIDI_INSTRUMENT_MAPS" |
5057 |
(Section 6.7.4) command. |
(Section 6.7.4) command. |
5058 |
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 82] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
5059 |
Possible Answers: |
Possible Answers: |
5060 |
|
|
5061 |
LinuxSampler will answer by sending a <CRLF> separated list. Each |
LinuxSampler will answer by sending a <CRLF> separated list. Each |
5089 |
|
|
5090 |
"." |
"." |
5091 |
|
|
5092 |
|
|
5093 |
|
|
5094 |
|
|
5095 |
|
Schoenebeck Expires July 13, 2014 [Page 91] |
5096 |
|
|
5097 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
5098 |
|
|
5099 |
|
|
5100 |
6.7.6. Renaming a MIDI instrument map |
6.7.6. Renaming a MIDI instrument map |
5101 |
|
|
5102 |
The front-end can alter the custom name of a MIDI instrument map by |
The front-end can alter the custom name of a MIDI instrument map by |
5112 |
|
|
5113 |
Possible Answers: |
Possible Answers: |
5114 |
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 83] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
5115 |
"OK" - |
"OK" - |
5116 |
|
|
5117 |
on success |
on success |
5145 |
supporting escape sequences as described in chapter "Character Set |
supporting escape sequences as described in chapter "Character Set |
5146 |
and Escape Sequences (Section 7.1)"), <instrument_index> the index |
and Escape Sequences (Section 7.1)"), <instrument_index> the index |
5147 |
(integer value) of the instrument within the given file, |
(integer value) of the instrument within the given file, |
5148 |
|
|
5149 |
|
|
5150 |
|
|
5151 |
|
Schoenebeck Expires July 13, 2014 [Page 92] |
5152 |
|
|
5153 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
5154 |
|
|
5155 |
|
|
5156 |
<volume_value> reflects the master volume of the instrument as |
<volume_value> reflects the master volume of the instrument as |
5157 |
optionally dotted number (where a value < 1.0 means attenuation and a |
optionally dotted number (where a value < 1.0 means attenuation and a |
5158 |
value > 1.0 means amplification). This parameter easily allows to |
value > 1.0 means amplification). This parameter easily allows to |
5169 |
be freed from memory when not needed by any sampler channel |
be freed from memory when not needed by any sampler channel |
5170 |
anymore. |
anymore. |
5171 |
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 84] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
5172 |
"ON_DEMAND_HOLD" - |
"ON_DEMAND_HOLD" - |
5173 |
|
|
5174 |
The instrument will be loaded when needed, that is when |
The instrument will be loaded when needed, that is when |
5201 |
The <instr_load_mode> argument thus allows to define an appropriate |
The <instr_load_mode> argument thus allows to define an appropriate |
5202 |
strategy (low memory consumption vs. fast instrument switching) for |
strategy (low memory consumption vs. fast instrument switching) for |
5203 |
each instrument individually. Note, the following restrictions apply |
each instrument individually. Note, the following restrictions apply |
5204 |
|
|
5205 |
|
|
5206 |
|
|
5207 |
|
Schoenebeck Expires July 13, 2014 [Page 93] |
5208 |
|
|
5209 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
5210 |
|
|
5211 |
|
|
5212 |
to this argument: "ON_DEMAND_HOLD" and "PERSISTENT" have to be |
to this argument: "ON_DEMAND_HOLD" and "PERSISTENT" have to be |
5213 |
supported by the respective sampler engine (which is technically the |
supported by the respective sampler engine (which is technically the |
5214 |
case when the engine provides an InstrumentManager for its format). |
case when the engine provides an InstrumentManager for its format). |
5225 |
"Character Set and Escape Sequences (Section 7.1)") for the mapping |
"Character Set and Escape Sequences (Section 7.1)") for the mapping |
5226 |
entry, useful for frontends for displaying an appropriate name for |
entry, useful for frontends for displaying an appropriate name for |
5227 |
mapped instruments (using "GET MIDI_INSTRUMENT INFO" |
mapped instruments (using "GET MIDI_INSTRUMENT INFO" |
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 85] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
5228 |
(Section 6.7.11)). |
(Section 6.7.11)). |
5229 |
|
|
5230 |
By default, "MAP MIDI_INSTRUMENT" commands block until the mapping is |
By default, "MAP MIDI_INSTRUMENT" commands block until the mapping is |
5255 |
|
|
5256 |
Examples: |
Examples: |
5257 |
|
|
5258 |
|
|
5259 |
|
|
5260 |
|
|
5261 |
|
|
5262 |
|
|
5263 |
|
Schoenebeck Expires July 13, 2014 [Page 94] |
5264 |
|
|
5265 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
5266 |
|
|
5267 |
|
|
5268 |
C: "MAP MIDI_INSTRUMENT 0 3 0 gig '/usr/share/Steinway D.gig' 0 |
C: "MAP MIDI_INSTRUMENT 0 3 0 gig '/usr/share/Steinway D.gig' 0 |
5269 |
0.8 PERSISTENT" |
0.8 PERSISTENT" |
5270 |
|
|
5283 |
C: "MAP MIDI_INSTRUMENT 0 1 0 gig '/usr/share/piano.gig' 0 0.25 |
C: "MAP MIDI_INSTRUMENT 0 1 0 gig '/usr/share/piano.gig' 0 0.25 |
5284 |
'Silent Piano'" |
'Silent Piano'" |
5285 |
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 86] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
5286 |
S: "OK" |
S: "OK" |
5287 |
|
|
5288 |
C: "MAP MIDI_INSTRUMENT NON_MODAL 1 8 120 gig '/home/joe/ |
C: "MAP MIDI_INSTRUMENT NON_MODAL 1 8 120 gig '/home/joe/ |
5290 |
|
|
5291 |
S: "OK" |
S: "OK" |
5292 |
|
|
5293 |
6.7.8. Getting ammount of MIDI instrument map entries |
6.7.8. Getting amount of MIDI instrument map entries |
5294 |
|
|
5295 |
The front-end can query the amount of currently existing entries in a |
The front-end can query the amount of currently existing entries in a |
5296 |
MIDI instrument map by sending the following command: |
MIDI instrument map by sending the following command: |
5313 |
|
|
5314 |
S: "234" |
S: "234" |
5315 |
|
|
5316 |
|
|
5317 |
|
|
5318 |
|
|
5319 |
|
Schoenebeck Expires July 13, 2014 [Page 95] |
5320 |
|
|
5321 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
5322 |
|
|
5323 |
|
|
5324 |
C: "GET MIDI_INSTRUMENTS ALL" |
C: "GET MIDI_INSTRUMENTS ALL" |
5325 |
|
|
5326 |
S: "954" |
S: "954" |
5337 |
The front-end can query a list of all currently existing entries of |
The front-end can query a list of all currently existing entries of |
5338 |
all MIDI instrument maps by sending the following command: |
all MIDI instrument maps by sending the following command: |
5339 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 87] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
5340 |
LIST MIDI_INSTRUMENTS ALL |
LIST MIDI_INSTRUMENTS ALL |
5341 |
|
|
5342 |
Possible Answers: |
Possible Answers: |
5369 |
|
|
5370 |
Possible Answers: |
Possible Answers: |
5371 |
|
|
5372 |
|
|
5373 |
|
|
5374 |
|
|
5375 |
|
Schoenebeck Expires July 13, 2014 [Page 96] |
5376 |
|
|
5377 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
5378 |
|
|
5379 |
|
|
5380 |
"OK" - |
"OK" - |
5381 |
|
|
5382 |
usually |
usually |
5391 |
|
|
5392 |
S: "OK" |
S: "OK" |
5393 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 88] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
5394 |
6.7.11. Get current settings of MIDI instrument map entry |
6.7.11. Get current settings of MIDI instrument map entry |
5395 |
|
|
5396 |
The front-end can retrieve the current settings of a certain |
The front-end can retrieve the current settings of a certain |
5425 |
|
|
5426 |
Name of the engine to be deployed for this instrument. |
Name of the engine to be deployed for this instrument. |
5427 |
|
|
5428 |
|
|
5429 |
|
|
5430 |
|
|
5431 |
|
Schoenebeck Expires July 13, 2014 [Page 97] |
5432 |
|
|
5433 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
5434 |
|
|
5435 |
|
|
5436 |
"INSTRUMENT_FILE" - |
"INSTRUMENT_FILE" - |
5437 |
|
|
5438 |
File name of the instrument (note that this path may contain |
File name of the instrument (note that this path may contain |
5447 |
Name of the loaded instrument as reflected by its file. In |
Name of the loaded instrument as reflected by its file. In |
5448 |
contrast to the "NAME" field, the "INSTRUMENT_NAME" field |
contrast to the "NAME" field, the "INSTRUMENT_NAME" field |
5449 |
cannot be changed (note that this character string may contain |
cannot be changed (note that this character string may contain |
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 89] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
5450 |
escape sequences (Section 7.1)). |
escape sequences (Section 7.1)). |
5451 |
|
|
5452 |
"LOAD_MODE" - |
"LOAD_MODE" - |
5480 |
|
|
5481 |
"VOLUME: 1.0" |
"VOLUME: 1.0" |
5482 |
|
|
5483 |
|
|
5484 |
|
|
5485 |
|
|
5486 |
|
|
5487 |
|
Schoenebeck Expires July 13, 2014 [Page 98] |
5488 |
|
|
5489 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
5490 |
|
|
5491 |
|
|
5492 |
"." |
"." |
5493 |
|
|
5494 |
6.7.12. Clear MIDI instrument map |
6.7.12. Clear MIDI instrument map |
5503 |
The front-end can clear all MIDI instrument maps, that is delete all |
The front-end can clear all MIDI instrument maps, that is delete all |
5504 |
entries of all maps by sending the following command: |
entries of all maps by sending the following command: |
5505 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 90] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
5506 |
CLEAR MIDI_INSTRUMENTS ALL |
CLEAR MIDI_INSTRUMENTS ALL |
5507 |
|
|
5508 |
The command "CLEAR MIDI_INSTRUMENTS ALL" does not delete the maps, |
The command "CLEAR MIDI_INSTRUMENTS ALL" does not delete the maps, |
5536 |
name support escape sequences as described in chapter "Character |
name support escape sequences as described in chapter "Character |
5537 |
Set and Escape Sequences (Section 7.1)". |
Set and Escape Sequences (Section 7.1)". |
5538 |
|
|
5539 |
|
|
5540 |
|
|
5541 |
|
|
5542 |
|
|
5543 |
|
Schoenebeck Expires July 13, 2014 [Page 99] |
5544 |
|
|
5545 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
5546 |
|
|
5547 |
|
|
5548 |
All occurrences of a forward slash in instrument and directory |
All occurrences of a forward slash in instrument and directory |
5549 |
names are escaped with its hex (\x2f) or octal (\057) escape |
names are escaped with its hex (\x2f) or octal (\057) escape |
5550 |
sequence. |
sequence. |
5561 |
|
|
5562 |
Possible Answers: |
Possible Answers: |
5563 |
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 91] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
5564 |
"OK" - |
"OK" - |
5565 |
|
|
5566 |
on success |
on success |
5592 |
|
|
5593 |
"OK" - |
"OK" - |
5594 |
|
|
5595 |
|
|
5596 |
|
|
5597 |
|
|
5598 |
|
|
5599 |
|
Schoenebeck Expires July 13, 2014 [Page 100] |
5600 |
|
|
5601 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
5602 |
|
|
5603 |
|
|
5604 |
if the directory is deleted successfully |
if the directory is deleted successfully |
5605 |
|
|
5606 |
"ERR:<error-code>:<error-message>" - |
"ERR:<error-code>:<error-message>" - |
5614 |
|
|
5615 |
S: "OK" |
S: "OK" |
5616 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 92] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
5617 |
6.8.3. Getting amount of instrument directories |
6.8.3. Getting amount of instrument directories |
5618 |
|
|
5619 |
The front-end can retrieve the current amount of directories in a |
The front-end can retrieve the current amount of directories in a |
5649 |
LIST DB_INSTRUMENT_DIRECTORIES [RECURSIVE] <dir> |
LIST DB_INSTRUMENT_DIRECTORIES [RECURSIVE] <dir> |
5650 |
|
|
5651 |
Where <dir> should be replaced by the absolute path name of the |
Where <dir> should be replaced by the absolute path name of the |
5652 |
|
|
5653 |
|
|
5654 |
|
|
5655 |
|
Schoenebeck Expires July 13, 2014 [Page 101] |
5656 |
|
|
5657 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
5658 |
|
|
5659 |
|
|
5660 |
directory. If RECURSIVE is specified, the absolute path names of all |
directory. If RECURSIVE is specified, the absolute path names of all |
5661 |
directories, including those located in subdirectories of the |
directories, including those located in subdirectories of the |
5662 |
specified directory, will be returned. |
specified directory, will be returned. |
5670 |
|
|
5671 |
if the given directory does not exist. |
if the given directory does not exist. |
5672 |
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 93] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
5673 |
Example: |
Example: |
5674 |
|
|
5675 |
C: "LIST DB_INSTRUMENT_DIRECTORIES '/'" |
C: "LIST DB_INSTRUMENT_DIRECTORIES '/'" |
5706 |
A brief description of the directory content. Note that the |
A brief description of the directory content. Note that the |
5707 |
character string may contain escape sequences (Section 7.1). |
character string may contain escape sequences (Section 7.1). |
5708 |
|
|
5709 |
|
|
5710 |
|
|
5711 |
|
Schoenebeck Expires July 13, 2014 [Page 102] |
5712 |
|
|
5713 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
5714 |
|
|
5715 |
|
|
5716 |
CREATED - |
CREATED - |
5717 |
|
|
5718 |
The creation date and time of the directory, represented in |
The creation date and time of the directory, represented in |
5725 |
|
|
5726 |
The mentioned fields above don't have to be in particular order. |
The mentioned fields above don't have to be in particular order. |
5727 |
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 94] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
5728 |
Example: |
Example: |
5729 |
|
|
5730 |
C: "GET DB_INSTRUMENT_DIRECTORY INFO '/Piano Collection'" |
C: "GET DB_INSTRUMENT_DIRECTORY INFO '/Piano Collection'" |
5761 |
|
|
5762 |
Example: |
Example: |
5763 |
|
|
5764 |
|
|
5765 |
|
|
5766 |
|
|
5767 |
|
Schoenebeck Expires July 13, 2014 [Page 103] |
5768 |
|
|
5769 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
5770 |
|
|
5771 |
|
|
5772 |
C: "SET DB_INSTRUMENT_DIRECTORY NAME '/Piano Collection/Acustic' |
C: "SET DB_INSTRUMENT_DIRECTORY NAME '/Piano Collection/Acustic' |
5773 |
'Acoustic'" |
'Acoustic'" |
5774 |
|
|
5779 |
The front-end can move a specific instrument directory by sending the |
The front-end can move a specific instrument directory by sending the |
5780 |
following command: |
following command: |
5781 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 95] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
5782 |
MOVE DB_INSTRUMENT_DIRECTORY <dir> <dst> |
MOVE DB_INSTRUMENT_DIRECTORY <dir> <dst> |
5783 |
|
|
5784 |
Where <dir> is the absolute path name of the directory to move and |
Where <dir> is the absolute path name of the directory to move and |
5816 |
|
|
5817 |
Possible Answers: |
Possible Answers: |
5818 |
|
|
5819 |
|
|
5820 |
|
|
5821 |
|
|
5822 |
|
|
5823 |
|
Schoenebeck Expires July 13, 2014 [Page 104] |
5824 |
|
|
5825 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
5826 |
|
|
5827 |
|
|
5828 |
"OK" - |
"OK" - |
5829 |
|
|
5830 |
on success |
on success |
5836 |
exists in the destination directory. Error is also thrown when |
exists in the destination directory. Error is also thrown when |
5837 |
trying to copy a directory to a subdirectory of itself. |
trying to copy a directory to a subdirectory of itself. |
5838 |
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 96] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
5839 |
Example: |
Example: |
5840 |
|
|
5841 |
C: "COPY DB_INSTRUMENT_DIRECTORY '/Piano Collection/Acoustic' |
C: "COPY DB_INSTRUMENT_DIRECTORY '/Piano Collection/Acoustic' |
5872 |
|
|
5873 |
S: "OK" |
S: "OK" |
5874 |
|
|
5875 |
|
|
5876 |
|
|
5877 |
|
|
5878 |
|
|
5879 |
|
Schoenebeck Expires July 13, 2014 [Page 105] |
5880 |
|
|
5881 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
5882 |
|
|
5883 |
|
|
5884 |
6.8.10. Finding directories |
6.8.10. Finding directories |
5885 |
|
|
5886 |
The front-end can search for directories in specific directory by |
The front-end can search for directories in specific directory by |
5893 |
directory to search in. If NON_RECURSIVE is specified, the |
directory to search in. If NON_RECURSIVE is specified, the |
5894 |
directories located in subdirectories of the specified directory will |
directories located in subdirectories of the specified directory will |
5895 |
not be searched. <criteria-list> is a list of search criterias in |
not be searched. <criteria-list> is a list of search criterias in |
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 97] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
5896 |
form of "key1=val1 key2=val2 ...". The following criterias are |
form of "key1=val1 key2=val2 ...". The following criterias are |
5897 |
allowed: |
allowed: |
5898 |
|
|
5929 |
apostrophes, supporting escape sequences as described in chapter |
apostrophes, supporting escape sequences as described in chapter |
5930 |
"Character Set and Escape Sequences (Section 7.1)"). |
"Character Set and Escape Sequences (Section 7.1)"). |
5931 |
|
|
5932 |
|
|
5933 |
|
|
5934 |
|
|
5935 |
|
Schoenebeck Expires July 13, 2014 [Page 106] |
5936 |
|
|
5937 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
5938 |
|
|
5939 |
|
|
5940 |
Where <search-string> is either a regular expression, or a word list |
Where <search-string> is either a regular expression, or a word list |
5941 |
separated with spaces for OR search and with '+' for AND search. |
separated with spaces for OR search and with '+' for AND search. |
5942 |
|
|
5948 |
|
|
5949 |
"ERR:<error-code>:<error-message>" - |
"ERR:<error-code>:<error-message>" - |
5950 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 98] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
5951 |
if the given directory does not exist. |
if the given directory does not exist. |
5952 |
|
|
5953 |
Example: |
Example: |
5983 |
is provided as <file_path> and specifies how the scanning will be |
is provided as <file_path> and specifies how the scanning will be |
5984 |
done and has exactly the following possibilities: |
done and has exactly the following possibilities: |
5985 |
|
|
|
"RECURSIVE" - |
|
5986 |
|
|
|
All instruments will be processed, including those in the |
|
|
subdirectories, and the respective subdirectory tree structure |
|
|
will be recreated in the instruments database |
|
5987 |
|
|
|
"NON_RECURSIVE" - |
|
5988 |
|
|
|
Only the instruments in the specified directory will be added, |
|
|
the instruments in the subdirectories will not be processed. |
|
5989 |
|
|
5990 |
|
|
5991 |
|
Schoenebeck Expires July 13, 2014 [Page 107] |
5992 |
|
|
5993 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
5994 |
|
|
5995 |
|
|
5996 |
|
"RECURSIVE" - |
5997 |
|
|
5998 |
|
All instruments will be processed, including those in the |
5999 |
|
subdirectories, and the respective subdirectory tree structure |
6000 |
|
will be recreated in the instruments database |
6001 |
|
|
6002 |
Schoenebeck Expires May 5, 2010 [Page 99] |
"NON_RECURSIVE" - |
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
6003 |
|
|
6004 |
|
Only the instruments in the specified directory will be added, |
6005 |
|
the instruments in the subdirectories will not be processed. |
6006 |
|
|
6007 |
"FLAT" - |
"FLAT" - |
6008 |
|
|
6040 |
|
|
6041 |
Examples: |
Examples: |
6042 |
|
|
|
C: "ADD DB_INSTRUMENTS '/Piano Collection' '/home/me/gigs/PMI |
|
|
Bosendorfer 290.gig' 0" |
|
|
|
|
|
S: "OK" |
|
6043 |
|
|
|
6.8.12. Removing an instrument |
|
6044 |
|
|
|
The front-end can remove a particular instrument from the instruments |
|
|
database by sending the following command: |
|
6045 |
|
|
6046 |
|
|
6047 |
|
Schoenebeck Expires July 13, 2014 [Page 108] |
6048 |
|
|
6049 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
6050 |
|
|
6051 |
|
|
6052 |
|
C: "ADD DB_INSTRUMENTS '/Piano Collection' '/home/me/gigs/PMI |
6053 |
|
Bosendorfer 290.gig' 0" |
6054 |
|
|
6055 |
|
S: "OK" |
6056 |
|
|
6057 |
Schoenebeck Expires May 5, 2010 [Page 100] |
6.8.12. Removing an instrument |
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
6058 |
|
|
6059 |
|
The front-end can remove a particular instrument from the instruments |
6060 |
|
database by sending the following command: |
6061 |
|
|
6062 |
REMOVE DB_INSTRUMENT <instr_path> |
REMOVE DB_INSTRUMENT <instr_path> |
6063 |
|
|
6096 |
|
|
6097 |
The current number of instruments in the specified directory. |
The current number of instruments in the specified directory. |
6098 |
|
|
|
"ERR:<error-code>:<error-message>" - |
|
6099 |
|
|
|
if the given directory does not exist. |
|
6100 |
|
|
|
Example: |
|
6101 |
|
|
|
C: "GET DB_INSTRUMENTS '/Piano Collection'" |
|
6102 |
|
|
6103 |
S: "2" |
Schoenebeck Expires July 13, 2014 [Page 109] |
6104 |
|
|
6105 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
6106 |
|
|
6107 |
|
|
6108 |
|
"ERR:<error-code>:<error-message>" - |
6109 |
|
|
6110 |
|
if the given directory does not exist. |
6111 |
|
|
6112 |
|
Example: |
6113 |
|
|
6114 |
Schoenebeck Expires May 5, 2010 [Page 101] |
C: "GET DB_INSTRUMENTS '/Piano Collection'" |
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
6115 |
|
|
6116 |
|
S: "2" |
6117 |
|
|
6118 |
6.8.14. Listing all instruments in specific directory |
6.8.14. Listing all instruments in specific directory |
6119 |
|
|
6152 |
The front-end can ask for the current settings of an instrument by |
The front-end can ask for the current settings of an instrument by |
6153 |
sending the following command: |
sending the following command: |
6154 |
|
|
6155 |
|
|
6156 |
|
|
6157 |
|
|
6158 |
|
|
6159 |
|
Schoenebeck Expires July 13, 2014 [Page 110] |
6160 |
|
|
6161 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
6162 |
|
|
6163 |
|
|
6164 |
GET DB_INSTRUMENT INFO <instr_path> |
GET DB_INSTRUMENT INFO <instr_path> |
6165 |
|
|
6166 |
Where <instr_path> should be replaced by the absolute path name of |
Where <instr_path> should be replaced by the absolute path name of |
6172 |
answer line begins with the settings category name followed by a |
answer line begins with the settings category name followed by a |
6173 |
colon and then a space character <SP> and finally the info |
colon and then a space character <SP> and finally the info |
6174 |
character string to that setting category. At the moment the |
character string to that setting category. At the moment the |
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 102] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
6175 |
following categories are defined: |
following categories are defined: |
6176 |
|
|
6177 |
|
|
6209 |
instrument's database settings, represented in "YYYY-MM-DD |
instrument's database settings, represented in "YYYY-MM-DD |
6210 |
HH:MM:SS" format |
HH:MM:SS" format |
6211 |
|
|
6212 |
|
|
6213 |
|
|
6214 |
|
|
6215 |
|
Schoenebeck Expires July 13, 2014 [Page 111] |
6216 |
|
|
6217 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
6218 |
|
|
6219 |
|
|
6220 |
DESCRIPTION - |
DESCRIPTION - |
6221 |
|
|
6222 |
A brief description of the instrument. Note that the |
A brief description of the instrument. Note that the |
6227 |
either true or false, determines whether the instrument is a |
either true or false, determines whether the instrument is a |
6228 |
drumkit or a chromatic instrument |
drumkit or a chromatic instrument |
6229 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 103] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
6230 |
PRODUCT - |
PRODUCT - |
6231 |
|
|
6232 |
The product title of the instrument. Note that the |
The product title of the instrument. Note that the |
6264 |
|
|
6265 |
"MODIFIED: 2007-04-07 12:50:21" |
"MODIFIED: 2007-04-07 12:50:21" |
6266 |
|
|
|
"DESCRIPTION: " |
|
6267 |
|
|
|
"IS_DRUM: false" |
|
6268 |
|
|
|
"PRODUCT: GRANDIOSO Bosendorfer 290" |
|
6269 |
|
|
|
"ARTISTS: Post Musical Instruments" |
|
6270 |
|
|
6271 |
"KEYWORDS: Bosendorfer" |
Schoenebeck Expires July 13, 2014 [Page 112] |
6272 |
|
|
6273 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
6274 |
|
|
6275 |
|
|
6276 |
|
"DESCRIPTION: " |
6277 |
|
|
6278 |
|
"IS_DRUM: false" |
6279 |
|
|
6280 |
|
"PRODUCT: GRANDIOSO Bosendorfer 290" |
6281 |
|
|
6282 |
Schoenebeck Expires May 5, 2010 [Page 104] |
"ARTISTS: Post Musical Instruments" |
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
6283 |
|
|
6284 |
|
"KEYWORDS: Bosendorfer" |
6285 |
|
|
6286 |
"." |
"." |
6287 |
|
|
6321 |
MOVE DB_INSTRUMENT <instr> <dst> |
MOVE DB_INSTRUMENT <instr> <dst> |
6322 |
|
|
6323 |
Where <instr> is the absolute path name of the instrument to move and |
Where <instr> is the absolute path name of the instrument to move and |
|
<dst> is the directory where the instrument will be moved to. |
|
|
|
|
|
Possible Answers: |
|
6324 |
|
|
|
"OK" - |
|
|
|
|
|
on success |
|
6325 |
|
|
6326 |
|
|
6327 |
|
Schoenebeck Expires July 13, 2014 [Page 113] |
6328 |
|
|
6329 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
6330 |
|
|
6331 |
|
|
6332 |
|
<dst> is the directory where the instrument will be moved to. |
6333 |
|
|
6334 |
|
Possible Answers: |
6335 |
|
|
6336 |
Schoenebeck Expires May 5, 2010 [Page 105] |
"OK" - |
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
6337 |
|
|
6338 |
|
on success |
6339 |
|
|
6340 |
"ERR:<error-code>:<error-message>" - |
"ERR:<error-code>:<error-message>" - |
6341 |
|
|
6377 |
C: "COPY DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' |
C: "COPY DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' |
6378 |
'/Acoustic/Pianos/'" |
'/Acoustic/Pianos/'" |
6379 |
|
|
|
S: "OK" |
|
6380 |
|
|
|
6.8.19. Changing the description of instrument |
|
|
|
|
|
The front-end can alter the description of a specific instrument by |
|
|
sending the following command: |
|
6381 |
|
|
6382 |
|
|
6383 |
|
Schoenebeck Expires July 13, 2014 [Page 114] |
6384 |
|
|
6385 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
6386 |
|
|
6387 |
|
|
6388 |
|
S: "OK" |
6389 |
|
|
6390 |
Schoenebeck Expires May 5, 2010 [Page 106] |
6.8.19. Changing the description of instrument |
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
6391 |
|
|
6392 |
|
The front-end can alter the description of a specific instrument by |
6393 |
|
sending the following command: |
6394 |
|
|
6395 |
SET DB_INSTRUMENT DESCRIPTION <instr> <desc> |
SET DB_INSTRUMENT DESCRIPTION <instr> <desc> |
6396 |
|
|
6432 |
|
|
6433 |
NAME='<search-string>' |
NAME='<search-string>' |
6434 |
|
|
|
Restricts the search to instruments, which names satisfy the |
|
|
supplied search string (encapsulated into apostrophes, supporting |
|
|
escape sequences as described in chapter "Character Set and Escape |
|
|
Sequences (Section 7.1)"). |
|
6435 |
|
|
|
SIZE=[<min>]..[<max>] |
|
6436 |
|
|
6437 |
|
|
6438 |
|
|
6439 |
|
Schoenebeck Expires July 13, 2014 [Page 115] |
6440 |
|
|
6441 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
6442 |
|
|
6443 |
|
|
6444 |
Schoenebeck Expires May 5, 2010 [Page 107] |
Restricts the search to instruments, which names satisfy the |
6445 |
|
supplied search string (encapsulated into apostrophes, supporting |
6446 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
escape sequences as described in chapter "Character Set and Escape |
6447 |
|
Sequences (Section 7.1)"). |
6448 |
|
|
6449 |
|
SIZE=[<min>]..[<max>] |
6450 |
|
|
6451 |
Restricts the search to instruments, which size is in the |
Restricts the search to instruments, which size is in the |
6452 |
specified range. If <min> is omitted, the search results are |
specified range. If <min> is omitted, the search results are |
6489 |
|
|
6490 |
ARTISTS='<search-string>' |
ARTISTS='<search-string>' |
6491 |
|
|
|
Restricts the search to instruments with artists info that |
|
|
satisfies the supplied search string (encapsulated into |
|
|
apostrophes, supporting escape sequences as described in chapter |
|
|
"Character Set and Escape Sequences (Section 7.1)"). |
|
6492 |
|
|
|
KEYWORDS='<search-string>' |
|
6493 |
|
|
6494 |
|
|
6495 |
|
Schoenebeck Expires July 13, 2014 [Page 116] |
6496 |
|
|
6497 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
6498 |
|
|
6499 |
|
|
6500 |
Schoenebeck Expires May 5, 2010 [Page 108] |
Restricts the search to instruments with artists info that |
6501 |
|
satisfies the supplied search string (encapsulated into |
6502 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
apostrophes, supporting escape sequences as described in chapter |
6503 |
|
"Character Set and Escape Sequences (Section 7.1)"). |
6504 |
|
|
6505 |
|
KEYWORDS='<search-string>' |
6506 |
|
|
6507 |
Restricts the search to instruments with keyword list that |
Restricts the search to instruments with keyword list that |
6508 |
satisfies the supplied search string (encapsulated into |
satisfies the supplied search string (encapsulated into |
6546 |
S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/ |
S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/ |
6547 |
Steinway D'" |
Steinway D'" |
6548 |
|
|
|
6.8.21. Getting job status information |
|
|
|
|
|
The front-end can ask for the current status of a particular database |
|
|
instruments job by sending the following command: |
|
|
|
|
6549 |
|
|
6550 |
|
|
6551 |
|
Schoenebeck Expires July 13, 2014 [Page 117] |
6552 |
|
|
6553 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
6554 |
|
|
6555 |
|
|
6556 |
Schoenebeck Expires May 5, 2010 [Page 109] |
6.8.21. Getting job status information |
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
6557 |
|
|
6558 |
|
The front-end can ask for the current status of a particular database |
6559 |
|
instruments job by sending the following command: |
6560 |
|
|
6561 |
GET DB_INSTRUMENTS_JOB INFO <job-id> |
GET DB_INSTRUMENTS_JOB INFO <job-id> |
6562 |
|
|
6600 |
|
|
6601 |
S: "FILES_TOTAL: 12" |
S: "FILES_TOTAL: 12" |
6602 |
|
|
|
"FILES_SCANNED: 7" |
|
6603 |
|
|
|
"SCANNING: /home/me/gigs/Bosendorfer 290.gig" |
|
6604 |
|
|
|
"STATUS: 42" |
|
6605 |
|
|
6606 |
|
|
6607 |
|
Schoenebeck Expires July 13, 2014 [Page 118] |
6608 |
|
|
6609 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
6610 |
|
|
6611 |
|
|
6612 |
Schoenebeck Expires May 5, 2010 [Page 110] |
"FILES_SCANNED: 7" |
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
6613 |
|
|
6614 |
|
"SCANNING: /home/me/gigs/Bosendorfer 290.gig" |
6615 |
|
|
6616 |
|
"STATUS: 42" |
6617 |
|
|
6618 |
"." |
"." |
6619 |
|
|
6655 |
|
|
6656 |
Example: |
Example: |
6657 |
|
|
|
C: "FIND LOST DB_INSTRUMENT_FILES" |
|
|
|
|
|
S: "'/gigs/Bosendorfer 290.gig','/gigs/Steinway D.gig','/gigs/Free |
|
|
Piano.gig'" |
|
6658 |
|
|
6659 |
|
|
6660 |
|
|
6661 |
|
|
6662 |
|
|
6663 |
|
Schoenebeck Expires July 13, 2014 [Page 119] |
6664 |
|
|
6665 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
6666 |
|
|
6667 |
|
|
6668 |
Schoenebeck Expires May 5, 2010 [Page 111] |
C: "FIND LOST DB_INSTRUMENT_FILES" |
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
6669 |
|
|
6670 |
|
S: "'/gigs/Bosendorfer 290.gig','/gigs/Steinway D.gig','/gigs/Free |
6671 |
|
Piano.gig'" |
6672 |
|
|
6673 |
6.8.24. Replacing an instrument file |
6.8.24. Replacing an instrument file |
6674 |
|
|
6711 |
At the moment there is only one command for this feature set, but |
At the moment there is only one command for this feature set, but |
6712 |
this will most probably change in future. |
this will most probably change in future. |
6713 |
|
|
|
6.9.1. Opening an appropriate instrument editor application |
|
6714 |
|
|
|
The front-end can request to open an appropriate instrument editor |
|
|
application by sending the following command: |
|
6715 |
|
|
6716 |
|
|
6717 |
|
|
6718 |
|
|
6719 |
|
Schoenebeck Expires July 13, 2014 [Page 120] |
6720 |
|
|
6721 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
6722 |
|
|
6723 |
|
|
6724 |
Schoenebeck Expires May 5, 2010 [Page 112] |
6.9.1. Opening an appropriate instrument editor application |
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
6725 |
|
|
6726 |
|
The front-end can request to open an appropriate instrument editor |
6727 |
|
application by sending the following command: |
6728 |
|
|
6729 |
EDIT CHANNEL INSTRUMENT <sampler-channel> |
EDIT CHANNEL INSTRUMENT <sampler-channel> |
6730 |
|
|
6767 |
|
|
6768 |
S: "OK" |
S: "OK" |
6769 |
|
|
|
6.10. Managing Files |
|
6770 |
|
|
|
You can query detailed informations about files located at the same |
|
|
system where the sampler instance is running on. Using this command |
|
|
set allows to retrieve file informations even remotely from another |
|
|
machine. |
|
6771 |
|
|
6772 |
|
|
6773 |
|
|
6774 |
|
|
6775 |
Schoenebeck Expires May 5, 2010 [Page 113] |
Schoenebeck Expires July 13, 2014 [Page 121] |
6776 |
|
|
6777 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
6778 |
|
|
6779 |
|
|
6780 |
|
6.10. Managing Files |
6781 |
|
|
6782 |
|
You can query detailed informations about files located at the same |
6783 |
|
system where the sampler instance is running on. Using this command |
6784 |
|
set allows to retrieve file informations even remotely from another |
6785 |
|
machine. |
6786 |
|
|
6787 |
6.10.1. Retrieving amount of instruments of a file |
6.10.1. Retrieving amount of instruments of a file |
6788 |
|
|
6789 |
The front-end can retrieve the amount of instruments within a given |
The front-end can retrieve the amount of instruments within a given |
6825 |
into apostrophes, supporting escape sequences as described in chapter |
into apostrophes, supporting escape sequences as described in chapter |
6826 |
"Character Set and Escape Sequences (Section 7.1)"). |
"Character Set and Escape Sequences (Section 7.1)"). |
6827 |
|
|
|
The sampler will try to ask all sampler engines, whether they support |
|
|
the given file and ask the first engine with a positive answer for a |
|
|
list of IDs for the instruments in the given file. |
|
|
|
|
|
Possible Answers: |
|
6828 |
|
|
6829 |
|
|
6830 |
|
|
6831 |
|
Schoenebeck Expires July 13, 2014 [Page 122] |
6832 |
|
|
6833 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
6834 |
|
|
6835 |
|
|
6836 |
Schoenebeck Expires May 5, 2010 [Page 114] |
The sampler will try to ask all sampler engines, whether they support |
6837 |
|
the given file and ask the first engine with a positive answer for a |
6838 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
list of IDs for the instruments in the given file. |
6839 |
|
|
6840 |
|
Possible Answers: |
6841 |
|
|
6842 |
On success, the sampler will answer by returning a comma separated |
On success, the sampler will answer by returning a comma separated |
6843 |
list of instrument IDs. |
list of instrument IDs. |
6880 |
|
|
6881 |
|
|
6882 |
|
|
|
NAME - |
|
6883 |
|
|
|
name of the instrument as stored in the instrument file |
|
6884 |
|
|
|
FORMAT_FAMILY - |
|
6885 |
|
|
6886 |
|
|
6887 |
|
Schoenebeck Expires July 13, 2014 [Page 123] |
6888 |
|
|
6889 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
6890 |
|
|
6891 |
|
|
6892 |
|
NAME - |
6893 |
|
|
6894 |
Schoenebeck Expires May 5, 2010 [Page 115] |
name of the instrument as stored in the instrument file |
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
6895 |
|
|
6896 |
|
FORMAT_FAMILY - |
6897 |
|
|
6898 |
name of the sampler format of the given instrument |
name of the sampler format of the given instrument |
6899 |
|
|
6937 |
|
|
6938 |
"PRODUCT: The Backbone Bongo Beats" |
"PRODUCT: The Backbone Bongo Beats" |
6939 |
|
|
6940 |
|
|
6941 |
|
|
6942 |
|
|
6943 |
|
Schoenebeck Expires July 13, 2014 [Page 124] |
6944 |
|
|
6945 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
6946 |
|
|
6947 |
|
|
6948 |
"ARTISTS: Jimmy the Fish" |
"ARTISTS: Jimmy the Fish" |
6949 |
|
|
6950 |
"." |
"." |
6951 |
|
|
6952 |
|
6.11. Managing Effects |
6953 |
|
|
6954 |
|
Audio effects (e.g. reverb, delay, compression) can be applied to the |
6955 |
|
audio signals generated by the sampler. The sampler usually provides |
6956 |
|
a set of internal audio effects for this task. The exact set of |
6957 |
|
effects depends on the availability of third party effect plugins |
6958 |
|
installed on the system where the sampler runs on. |
6959 |
|
|
6960 |
|
At the moment only "send effects" are supported. Support for "insert |
6961 |
|
effects" and "master effects" is planned to be added at a later |
6962 |
|
point. |
6963 |
|
|
6964 |
|
The following commands allow to retrieve the set of internal effects |
6965 |
|
available to the sampler, detailed informations about those effects |
6966 |
|
and to create and destroy instances of such effects. After an |
6967 |
|
instance of an effect is created, the effect instance can be inserted |
6968 |
|
into the audio signal path of the sampler, e.g. as send effect. |
6969 |
|
|
6970 |
|
The sampler allows to create an arbitrary amount of so called send |
6971 |
|
effect chains. Each effect chain can host an arbitrary amount of |
6972 |
|
effect instances. The output of the first effect instance in an |
6973 |
|
effect chain is fed to the input of the second effect instance of the |
6974 |
|
chain and so on. So effects in one chain are processed sequentially. |
6975 |
|
Send effect chains however are processed in parallel to other send |
6976 |
|
effect chains. Audio signals of sampler channels are fed to send |
6977 |
|
effects by creating FX sends to the respective sampler channel and |
6978 |
|
assigning a destination send effect to that FX by using the "SET |
6979 |
|
FX_SEND EFFECT" (Section 6.4.35) command. The latter allows to route |
6980 |
|
the FX send to the beginning of a send effect chain, as well as |
6981 |
|
directly to any other position of the send effect chain. |
6982 |
|
|
6983 |
|
6.11.1. Retrieve amount of available effects |
6984 |
|
|
6985 |
|
The front-end can retrieve the amount of internal effects, available |
6986 |
|
to the sampler by sending the following command: |
6987 |
|
|
6988 |
|
GET AVAILABLE_EFFECTS |
6989 |
|
|
6990 |
|
Possible Answers: |
6991 |
|
|
6992 |
|
The sampler will answer by returning the current number of effects |
6993 |
|
available to the sampler. |
6994 |
|
|
6995 |
|
Examples: |
6996 |
|
|
6997 |
|
|
6998 |
|
|
6999 |
|
Schoenebeck Expires July 13, 2014 [Page 125] |
7000 |
|
|
7001 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
7002 |
|
|
7003 |
|
|
7004 |
|
C: "GET AVAILABLE_EFFECTS" |
7005 |
|
|
7006 |
|
S: "129" |
7007 |
|
|
7008 |
|
6.11.2. Get list of available effects |
7009 |
|
|
7010 |
|
The set of available internal effects can change at runtime. The |
7011 |
|
front-end can retrieve the list of internal effects, available to the |
7012 |
|
sampler by sending the following command: |
7013 |
|
|
7014 |
|
LIST AVAILABLE_EFFECTS |
7015 |
|
|
7016 |
|
Possible Answers: |
7017 |
|
|
7018 |
|
The sampler will answer by returning a comma separated list with |
7019 |
|
numerical IDs of effects. Note: the numercial ID of an effect is |
7020 |
|
generated by the sampler for the current moment. The numerical ID |
7021 |
|
of the same effect can change at runtime, e.g. when the user |
7022 |
|
requests a rescan of available effect plugins. |
7023 |
|
|
7024 |
|
Example: |
7025 |
|
|
7026 |
|
C: "LIST AVAILABLE_EFFECTS" |
7027 |
|
|
7028 |
|
S: "5,6,7,120,121,122,123,124" |
7029 |
|
|
7030 |
|
6.11.3. Retrieving general information about an effect |
7031 |
|
|
7032 |
|
The front-end can ask for general informations about an effect by |
7033 |
|
sending the following command: |
7034 |
|
|
7035 |
|
GET EFFECT INFO <effect-index> |
7036 |
|
|
7037 |
|
Where <effect-index> is the numerical ID of an effect as returned by |
7038 |
|
the "LIST AVAILABLE_EFFECTS" (Section 6.11.2) command. |
7039 |
|
|
7040 |
|
Possible Answers: |
7041 |
|
|
7042 |
|
LinuxSampler will answer by sending a <CRLF> separated list. Each |
7043 |
|
answer line begins with the effect information category name, |
7044 |
|
followed by a colon and then a space character <SP> and finally |
7045 |
|
the info character string to that effect information category. At |
7046 |
|
the moment the following categories are defined: |
7047 |
|
|
7048 |
|
|
7049 |
|
|
7050 |
|
SYSTEM - |
7051 |
|
|
7052 |
|
|
7053 |
|
|
7054 |
|
|
7055 |
|
Schoenebeck Expires July 13, 2014 [Page 126] |
7056 |
|
|
7057 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
7058 |
|
|
7059 |
|
|
7060 |
|
name of the effect plugin system the effect is based on |
7061 |
|
(e.g. "LADSPA") |
7062 |
|
|
7063 |
|
MODULE - |
7064 |
|
|
7065 |
|
module of the effect plugin system that contains this |
7066 |
|
effect, the module is usually the dynamic-linked library |
7067 |
|
(DLL) filename of the effect plugin, including full path |
7068 |
|
(note that this filename may contain escape sequences |
7069 |
|
(Section 7.1)) |
7070 |
|
|
7071 |
|
NAME - |
7072 |
|
|
7073 |
|
character string defining the unique name of the effect |
7074 |
|
within its module (note that the character string may |
7075 |
|
contain escape sequences (Section 7.1)) |
7076 |
|
|
7077 |
|
DESCRIPTION - |
7078 |
|
|
7079 |
|
human readable name of the effect, intended to be displayed |
7080 |
|
in user interfaces (note that the character string may |
7081 |
|
contain escape sequences (Section 7.1)) |
7082 |
|
|
7083 |
|
The mentioned fields above don't have to be in particular order. |
7084 |
|
|
7085 |
|
Example: |
7086 |
|
|
7087 |
|
C: "GET EFFECT INFO 121" |
7088 |
|
|
7089 |
|
S: "SYSTEM: LADSPA" |
7090 |
|
|
7091 |
|
"MODULE: /usr/lib/ladspa/lowpass_iir_1891.so" |
7092 |
|
|
7093 |
|
"NAME: lowpass_iir" |
7094 |
|
|
7095 |
|
"DESCRIPTION: Glame Lowpass Filter" |
7096 |
|
|
7097 |
|
"." |
7098 |
|
|
7099 |
|
6.11.4. Creating an instance of an effect by its portable ID |
7100 |
|
|
7101 |
|
The front-end can spawn an instance of the desired effect by sending |
7102 |
|
the following command: |
7103 |
|
|
7104 |
|
CREATE EFFECT_INSTANCE <effect-system> <module> <effect-name> |
7105 |
|
|
7106 |
|
Where <effect-system> is the "SYSTEM" field, <module> the "MODULE" |
7107 |
|
field and <effect-name> the "NAME" field as returned by the "GET |
7108 |
|
|
7109 |
|
|
7110 |
|
|
7111 |
|
Schoenebeck Expires July 13, 2014 [Page 127] |
7112 |
|
|
7113 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
7114 |
|
|
7115 |
|
|
7116 |
|
EFFECT INFO" (Section 6.11.3) command. The filename of argument |
7117 |
|
<module> and the character string of argument <effect-name> may |
7118 |
|
contain escape sequences (Section 7.1). |
7119 |
|
|
7120 |
|
The sampler will try to load the requested effect and to create an |
7121 |
|
instance of it. To allow loading the same effect on a different |
7122 |
|
machine, probably even running a completely different operating |
7123 |
|
system (e.g. Linux vs. Windows), the sampler tries to match <module> |
7124 |
|
"softly". That means it first tries to find an effect that exactly |
7125 |
|
matches the given <module> argument. If there is no exact match, the |
7126 |
|
sampler will try to lower the restrictions on matching the <module> |
7127 |
|
argument more and more, e.g. by ignoring upper / lower case |
7128 |
|
differences and by ignoring the path of the DLL filename and file |
7129 |
|
extension. If there is still no match at the end, the sampler will |
7130 |
|
try to ignore the <module> argument completely and as a last resort |
7131 |
|
search for an effect that only matches the given <effect-system> and |
7132 |
|
<effect-name> arguments. |
7133 |
|
|
7134 |
|
Possible Answers: |
7135 |
|
|
7136 |
|
"OK[<effect-instance>]" - |
7137 |
|
|
7138 |
|
in case the effect instance was successfully created, where |
7139 |
|
<effect-instance> is the numerical ID of the new effect |
7140 |
|
instance |
7141 |
|
|
7142 |
|
"WRN:<warning-code>:<warning-message>" - |
7143 |
|
|
7144 |
|
in case the effect instance was spawned successfully, but there |
7145 |
|
are noteworthy issue(s) related, providing an appropriate |
7146 |
|
warning code and warning message |
7147 |
|
|
7148 |
|
"ERR:<error-code>:<error-message>" - |
7149 |
|
|
7150 |
|
if the effect could not be instantiated |
7151 |
|
|
7152 |
|
Examples: |
7153 |
|
|
7154 |
|
C: "CREATE EFFECT_INSTANCE LADSPA '/usr/lib/ladspa/ |
7155 |
|
mod_delay_1419.so' 'modDelay'" |
7156 |
|
|
7157 |
|
S: "OK[0]" |
7158 |
|
|
7159 |
|
6.11.5. Creating an instance of an effect by its numerical ID |
7160 |
|
|
7161 |
|
The front-end can spawn an instance of the desired effect by sending |
7162 |
|
the following command: |
7163 |
|
|
7164 |
|
|
7165 |
|
|
7166 |
|
|
7167 |
|
Schoenebeck Expires July 13, 2014 [Page 128] |
7168 |
|
|
7169 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
7170 |
|
|
7171 |
|
|
7172 |
|
CREATE EFFECT_INSTANCE <effect-index> |
7173 |
|
|
7174 |
|
Where <effect-index> is the numerical ID of the effect as returned by |
7175 |
|
the "LIST AVAILABLE_EFFECTS" (Section 6.11.2) command. |
7176 |
|
|
7177 |
|
The sampler will try to load the requested effect and to create an |
7178 |
|
instance of it. |
7179 |
|
|
7180 |
|
Note: Since the numerical ID of a certain effect can change at any |
7181 |
|
time, you should not use this command in LSCP files to restore a |
7182 |
|
certain effect at a later time! To store a sampler session including |
7183 |
|
all its effects, use the portable text-based version of "CREATE |
7184 |
|
EFFECT_INSTANCE" (Section 6.11.4) instead! This allows to restore a |
7185 |
|
sampler session with all its effects also on other machines, possibly |
7186 |
|
even running a completely different operating system (e.g. Linux vs. |
7187 |
|
Windows), with different plugin directories or plugin DLL names. |
7188 |
|
|
7189 |
|
Possible Answers: |
7190 |
|
|
7191 |
|
"OK[<effect-instance>]" - |
7192 |
|
|
7193 |
|
in case the effect instance was successfully created, where |
7194 |
|
<effect-instance> is the numerical ID of the new effect |
7195 |
|
instance |
7196 |
|
|
7197 |
|
"WRN:<warning-code>:<warning-message>" - |
7198 |
|
|
7199 |
|
in case the effect instance was spawned successfully, but there |
7200 |
|
are noteworthy issue(s) related, providing an appropriate |
7201 |
|
warning code and warning message |
7202 |
|
|
7203 |
|
"ERR:<error-code>:<error-message>" - |
7204 |
|
|
7205 |
|
if the effect could not be instantiated |
7206 |
|
|
7207 |
|
Examples: |
7208 |
|
|
7209 |
|
C: "CREATE EFFECT_INSTANCE 72" |
7210 |
|
|
7211 |
|
S: "OK[5]" |
7212 |
|
|
7213 |
|
6.11.6. Destroy an effect instance |
7214 |
|
|
7215 |
|
The front-end can destroy an unusued effect instance and thus freeing |
7216 |
|
it from memory by sending the following command: |
7217 |
|
|
7218 |
|
|
7219 |
|
|
7220 |
|
|
7221 |
|
|
7222 |
|
|
7223 |
|
Schoenebeck Expires July 13, 2014 [Page 129] |
7224 |
|
|
7225 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
7226 |
|
|
7227 |
|
|
7228 |
|
DESTROY EFFECT_INSTANCE <effect-instance> |
7229 |
|
|
7230 |
|
Where <effect-instance> is the numerical ID of the effect instance as |
7231 |
|
returned by the "CREATE EFFECT_INSTANCE" (Section 6.11.4) or "LIST |
7232 |
|
EFFECT_INSTANCES" (Section 6.11.8) command. |
7233 |
|
|
7234 |
|
The effect instance can only be destroyed if it's not used in any |
7235 |
|
part of the sampler's audio signal path anymore. If the effect |
7236 |
|
instance is still in use somewhere, trying to destroy the effect |
7237 |
|
instance will result in an error message. |
7238 |
|
|
7239 |
|
Possible Answers: |
7240 |
|
|
7241 |
|
"OK" - |
7242 |
|
|
7243 |
|
in case the effect instance was successfully destroyed |
7244 |
|
|
7245 |
|
"ERR:<error-code>:<error-message>" - |
7246 |
|
|
7247 |
|
in case it failed, providing an appropriate error code and |
7248 |
|
error message |
7249 |
|
|
7250 |
|
Examples: |
7251 |
|
|
7252 |
|
C: "DESTROY EFFECT_INSTANCE 5" |
7253 |
|
|
7254 |
|
S: "OK" |
7255 |
|
|
7256 |
|
6.11.7. Retrieve amount of effect instances |
7257 |
|
|
7258 |
|
The front-end can retrieve the current amount of effect instances by |
7259 |
|
sending the following command: |
7260 |
|
|
7261 |
|
GET EFFECT_INSTANCES |
7262 |
|
|
7263 |
|
Possible Answers: |
7264 |
|
|
7265 |
|
The sampler will answer by returning the current number of effect |
7266 |
|
instances created and not yet destroyed in the current sampler |
7267 |
|
session. |
7268 |
|
|
7269 |
|
Examples: |
7270 |
|
|
7271 |
|
C: "GET EFFECT_INSTANCES" |
7272 |
|
|
7273 |
|
S: "14" |
7274 |
|
|
7275 |
|
|
7276 |
|
|
7277 |
|
|
7278 |
|
|
7279 |
|
Schoenebeck Expires July 13, 2014 [Page 130] |
7280 |
|
|
7281 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
7282 |
|
|
7283 |
|
|
7284 |
|
6.11.8. Get list of effect instances |
7285 |
|
|
7286 |
|
The front-end can retrieve the current list of effect instances by |
7287 |
|
sending the following command: |
7288 |
|
|
7289 |
|
LIST EFFECT_INSTANCES |
7290 |
|
|
7291 |
|
Possible Answers: |
7292 |
|
|
7293 |
|
The sampler will answer by returning a comma separated list with |
7294 |
|
numerical IDs of effects instances. |
7295 |
|
|
7296 |
|
Example: |
7297 |
|
|
7298 |
|
C: "LIST EFFECT_INSTANCES" |
7299 |
|
|
7300 |
|
S: "9,11,14,15,16,17,25" |
7301 |
|
|
7302 |
|
6.11.9. Retrieving current information about an effect instance |
7303 |
|
|
7304 |
|
The front-end can ask for the current informations about a particular |
7305 |
|
effect instance by sending the following command: |
7306 |
|
|
7307 |
|
GET EFFECT_INSTANCE INFO <effect-instance> |
7308 |
|
|
7309 |
|
Where <effect-instance> is the numerical ID of an effect instance as |
7310 |
|
returned by the "CREATE EFFECT_INSTANCE" (Section 6.11.4) or "LIST |
7311 |
|
EFFECT_INSTANCES" (Section 6.11.8) command. |
7312 |
|
|
7313 |
|
Possible Answers: |
7314 |
|
|
7315 |
|
LinuxSampler will answer by sending a <CRLF> separated list. Each |
7316 |
|
answer line begins with the information category name, followed by |
7317 |
|
a colon and then a space character <SP> and finally the info |
7318 |
|
character string to that information category. At the moment the |
7319 |
|
following categories are defined: |
7320 |
|
|
7321 |
|
|
7322 |
|
|
7323 |
|
SYSTEM - |
7324 |
|
|
7325 |
|
name of the effect plugin system the effect is based on |
7326 |
|
(e.g. "LADSPA") |
7327 |
|
|
7328 |
|
MODULE - |
7329 |
|
|
7330 |
|
module of the effect plugin system that contains this |
7331 |
|
effect, the module is usually the dynamic-linked library |
7332 |
|
|
7333 |
|
|
7334 |
|
|
7335 |
|
Schoenebeck Expires July 13, 2014 [Page 131] |
7336 |
|
|
7337 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
7338 |
|
|
7339 |
|
|
7340 |
|
(DLL) filename of the effect plugin, including full path |
7341 |
|
(note that this filename may contain escape sequences |
7342 |
|
(Section 7.1)) |
7343 |
|
|
7344 |
|
NAME - |
7345 |
|
|
7346 |
|
character string defining the unique name of the effect |
7347 |
|
within its module (note that the character string may |
7348 |
|
contain escape sequences (Section 7.1)) |
7349 |
|
|
7350 |
|
DESCRIPTION - |
7351 |
|
|
7352 |
|
human readable name of the effect, intended to be displayed |
7353 |
|
in user interfaces (note that the character string may |
7354 |
|
contain escape sequences (Section 7.1)) |
7355 |
|
|
7356 |
|
INPUT_CONTROLS - |
7357 |
|
|
7358 |
|
amount of input controls the effect instance provides, to |
7359 |
|
allow controlling the effect parameters in realtime |
7360 |
|
|
7361 |
|
The mentioned fields above don't have to be in particular order. |
7362 |
|
|
7363 |
|
Example: |
7364 |
|
|
7365 |
|
C: "GET EFFECT_INSTANCE INFO 3" |
7366 |
|
|
7367 |
|
S: "SYSTEM: LADSPA" |
7368 |
|
|
7369 |
|
"MODULE: /usr/lib/ladspa/mod_delay_1419.so" |
7370 |
|
|
7371 |
|
"NAME: modDelay" |
7372 |
|
|
7373 |
|
"DESCRIPTION: Modulatable delay" |
7374 |
|
|
7375 |
|
"INPUT_CONTROLS: 1" |
7376 |
|
|
7377 |
|
"." |
7378 |
|
|
7379 |
|
6.11.10. Retrieving information about an effect parameter |
7380 |
|
|
7381 |
|
Effects typically provide a certain set of effect parameters which |
7382 |
|
can be altered by the user in realtime (e.g. depth of a reverb |
7383 |
|
effect, duration of a delay effect, dry / wet signal ratio). Those |
7384 |
|
controllable effect parameters are called "input controls". The |
7385 |
|
front-end can ask for the current informations of an effect |
7386 |
|
instance's input control by sending the following command: |
7387 |
|
|
7388 |
|
|
7389 |
|
|
7390 |
|
|
7391 |
|
Schoenebeck Expires July 13, 2014 [Page 132] |
7392 |
|
|
7393 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
7394 |
|
|
7395 |
|
|
7396 |
|
GET EFFECT_INSTANCE_INPUT_CONTROL INFO <effect-instance> <input- |
7397 |
|
control> |
7398 |
|
|
7399 |
|
Where <effect-instance> is the numerical ID of an effect instance as |
7400 |
|
returned by the "CREATE EFFECT_INSTANCE" (Section 6.11.4) or "LIST |
7401 |
|
EFFECT_INSTANCES" (Section 6.11.8) command and <input-control> is the |
7402 |
|
index of the input control within the numerical bounds as returned by |
7403 |
|
the "INPUT_CONTROLS" field of the "GET EFFECT_INSTANCE INFO" |
7404 |
|
(Section 6.11.9) command. |
7405 |
|
|
7406 |
|
Possible Answers: |
7407 |
|
|
7408 |
|
LinuxSampler will answer by sending a <CRLF> separated list. Each |
7409 |
|
answer line begins with the information category name, followed by |
7410 |
|
a colon and then a space character <SP> and finally the info |
7411 |
|
character string to that information category. There are |
7412 |
|
information categories which are always returned, independent of |
7413 |
|
the respective effect parameter and there are optional information |
7414 |
|
categories which are only shown for certain effect parameters. At |
7415 |
|
the moment the following categories are defined: |
7416 |
|
|
7417 |
|
|
7418 |
|
|
7419 |
|
DESCRIPTION - |
7420 |
|
|
7421 |
|
(always returned) human readable name of the effect |
7422 |
|
parameter, intended to be displayed in user interfaces (note |
7423 |
|
that the character string may contain escape sequences |
7424 |
|
(Section 7.1)) |
7425 |
|
|
7426 |
|
VALUE - |
7427 |
|
|
7428 |
|
(always returned) current (optional dotted) floating point |
7429 |
|
value of this effect parameter |
7430 |
|
|
7431 |
|
RANGE_MIN - |
7432 |
|
|
7433 |
|
(optionally returned) minimum allowed value for this effect |
7434 |
|
parameter |
7435 |
|
|
7436 |
|
RANGE_MAX - |
7437 |
|
|
7438 |
|
(optionally returned) maximum allowed value for this effect |
7439 |
|
parameter |
7440 |
|
|
7441 |
|
POSSIBILITIES - |
7442 |
|
|
7443 |
|
|
7444 |
|
|
7445 |
|
|
7446 |
|
|
7447 |
|
Schoenebeck Expires July 13, 2014 [Page 133] |
7448 |
|
|
7449 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
7450 |
|
|
7451 |
|
|
7452 |
|
(optionally returned) comma separated list of (optional |
7453 |
|
dotted) floating point numbers, reflecting the exact set of |
7454 |
|
possible values for this effect parameter |
7455 |
|
|
7456 |
|
DEFAULT - |
7457 |
|
|
7458 |
|
(optionally returned) default value of this effect parameter |
7459 |
|
|
7460 |
|
The mentioned fields above don't have to be in particular order. |
7461 |
|
|
7462 |
|
Example: |
7463 |
|
|
7464 |
|
C: "GET EFFECT_INSTANCE_INPUT_CONTROL INFO 1 0" |
7465 |
|
|
7466 |
|
S: "DESCRIPTION: Base delay (s)" |
7467 |
|
|
7468 |
|
"VALUE: 0.500" |
7469 |
|
|
7470 |
|
"RANGE_MIN: 0.000" |
7471 |
|
|
7472 |
|
"." |
7473 |
|
|
7474 |
|
6.11.11. Altering an effect parameter |
7475 |
|
|
7476 |
|
The front-end can alter the current value of an effect parameter by |
7477 |
|
sending the following command: |
7478 |
|
|
7479 |
|
SET EFFECT_INSTANCE_INPUT_CONTROL VALUE <effect-instance> <input- |
7480 |
|
control> <value> |
7481 |
|
|
7482 |
|
Where <effect-instance> is the numerical ID of the effect instance as |
7483 |
|
returned by the "CREATE EFFECT_INSTANCE" (Section 6.11.4) or "LIST |
7484 |
|
EFFECT_INSTANCES" (Section 6.11.8) command, <input-control> is the |
7485 |
|
index of the input control within the numerical bounds as returned by |
7486 |
|
the "INPUT_CONTROLS" field of the "GET EFFECT_INSTANCE INFO" |
7487 |
|
(Section 6.11.9) command and <value> is the new (optional dotted) |
7488 |
|
floating point value for this effect parameter. |
7489 |
|
|
7490 |
|
Possible Answers: |
7491 |
|
|
7492 |
|
"OK" - |
7493 |
|
|
7494 |
|
in case the effect was altered successfully |
7495 |
|
|
7496 |
|
"ERR:<error-code>:<error-message>" - |
7497 |
|
|
7498 |
|
in case it failed, providing an appropriate error code and |
7499 |
|
error message |
7500 |
|
|
7501 |
|
|
7502 |
|
|
7503 |
Schoenebeck Expires May 5, 2010 [Page 116] |
Schoenebeck Expires July 13, 2014 [Page 134] |
7504 |
|
|
7505 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
7506 |
|
|
7507 |
|
|
7508 |
|
Examples: |
7509 |
|
|
7510 |
|
C: "SET EFFECT_INSTANCE_INPUT_CONTROL VALUE 0 1 0.5" |
7511 |
|
|
7512 |
|
S: "OK" |
7513 |
|
|
7514 |
|
6.11.12. Retrieve amount of send effect chains |
7515 |
|
|
7516 |
|
The front-end can retrieve the current amount of send effect chains |
7517 |
|
of an audio output device by sending the following command: |
7518 |
|
|
7519 |
|
GET SEND_EFFECT_CHAINS <audio-device> |
7520 |
|
|
7521 |
|
Where <audio-device> should be replaced by the numerical ID of the |
7522 |
|
audio output device as given by the "CREATE AUDIO_OUTPUT_DEVICE" |
7523 |
|
(Section 6.2.5) or "LIST AUDIO_OUTPUT_DEVICES" (Section 6.2.8) |
7524 |
|
command. |
7525 |
|
|
7526 |
|
Possible Answers: |
7527 |
|
|
7528 |
|
The sampler will answer by returning the current number of send |
7529 |
|
effect chains of the supplied audio output device. |
7530 |
|
|
7531 |
|
Examples: |
7532 |
|
|
7533 |
|
C: "GET SEND_EFFECT_CHAINS 0" |
7534 |
|
|
7535 |
|
S: "4" |
7536 |
|
|
7537 |
|
6.11.13. Retrieve list of send effect chains |
7538 |
|
|
7539 |
|
The front-end can retrieve the current list of send effect chains of |
7540 |
|
an audio output device by sending the following command: |
7541 |
|
|
7542 |
|
LIST SEND_EFFECT_CHAINS <audio-device> |
7543 |
|
|
7544 |
|
Where <audio-device> should be replaced by the numerical ID of the |
7545 |
|
audio output device as given by the "CREATE AUDIO_OUTPUT_DEVICE" |
7546 |
|
(Section 6.2.5) or "LIST AUDIO_OUTPUT_DEVICES" (Section 6.2.8) |
7547 |
|
command. |
7548 |
|
|
7549 |
|
Possible Answers: |
7550 |
|
|
7551 |
|
The sampler will answer by returning a comma separated list with |
7552 |
|
numerical IDs of send effect chains of the supplied audio output |
7553 |
|
device. |
7554 |
|
|
7555 |
|
Examples: |
7556 |
|
|
7557 |
|
|
7558 |
|
|
7559 |
|
Schoenebeck Expires July 13, 2014 [Page 135] |
7560 |
|
|
7561 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
7562 |
|
|
7563 |
|
|
7564 |
|
C: "LIST SEND_EFFECT_CHAINS 0" |
7565 |
|
|
7566 |
|
S: "3,4,7" |
7567 |
|
|
7568 |
|
6.11.14. Add send effect chain |
7569 |
|
|
7570 |
|
The front-end can add a send effect chain by sending the following |
7571 |
|
command: |
7572 |
|
|
7573 |
|
ADD SEND_EFFECT_CHAIN <audio-device> |
7574 |
|
|
7575 |
|
Where <audio-device> should be replaced by the numerical ID of the |
7576 |
|
audio output device as given by the "CREATE AUDIO_OUTPUT_DEVICE" |
7577 |
|
(Section 6.2.5) or "LIST AUDIO_OUTPUT_DEVICES" (Section 6.2.8) |
7578 |
|
command. |
7579 |
|
|
7580 |
|
Possible Answers: |
7581 |
|
|
7582 |
|
"OK[<effect-chain>]" - |
7583 |
|
|
7584 |
|
in case the send effect chain was added successfully, where |
7585 |
|
<effect-chain> is the numerical ID of the new send effect chain |
7586 |
|
|
7587 |
|
"ERR:<error-code>:<error-message>" - |
7588 |
|
|
7589 |
|
if the send effect chain could not be added |
7590 |
|
|
7591 |
|
Examples: |
7592 |
|
|
7593 |
|
C: "ADD SEND_EFFECT_CHAIN 0" |
7594 |
|
|
7595 |
|
S: "OK[2]" |
7596 |
|
|
7597 |
|
6.11.15. Remove send effect chain |
7598 |
|
|
7599 |
|
The front-end can remove a send effect chain by sending the following |
7600 |
|
command: |
7601 |
|
|
7602 |
|
REMOVE SEND_EFFECT_CHAIN <audio-device> <effect-chain> |
7603 |
|
|
7604 |
|
Where <audio-device> should be replaced by the numerical ID of the |
7605 |
|
audio output device as given by the "CREATE AUDIO_OUTPUT_DEVICE" |
7606 |
|
(Section 6.2.5) or "LIST AUDIO_OUTPUT_DEVICES" (Section 6.2.8) |
7607 |
|
command and <effect-chain> by the numerical ID as returned by the |
7608 |
|
"ADD SEND_EFFECT_CHAIN" (Section 6.11.14) or "LIST |
7609 |
|
SEND_EFFECT_CHAINS" (Section 6.11.13) command. |
7610 |
|
|
7611 |
|
Possible Answers: |
7612 |
|
|
7613 |
|
|
7614 |
|
|
7615 |
|
Schoenebeck Expires July 13, 2014 [Page 136] |
7616 |
|
|
7617 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
7618 |
|
|
7619 |
|
|
7620 |
|
"OK" - |
7621 |
|
|
7622 |
|
in case the send effect chain was removed successfully |
7623 |
|
|
7624 |
|
"ERR:<error-code>:<error-message>" - |
7625 |
|
|
7626 |
|
if the send effect chain could not be removed |
7627 |
|
|
7628 |
|
Examples: |
7629 |
|
|
7630 |
|
C: "REMOVE SEND_EFFECT_CHAIN 0 2" |
7631 |
|
|
7632 |
|
S: "OK" |
7633 |
|
|
7634 |
|
6.11.16. Retrieving information about a send effect chain |
7635 |
|
|
7636 |
|
The front-end can ask for informations of a send effect chain by |
7637 |
|
sending the following command: |
7638 |
|
|
7639 |
|
GET SEND_EFFECT_CHAIN INFO <audio-device> <effect-chain> |
7640 |
|
|
7641 |
|
Where <audio-device> should be replaced by the numerical ID of the |
7642 |
|
audio output device as given by the "CREATE AUDIO_OUTPUT_DEVICE" |
7643 |
|
(Section 6.2.5) or "LIST AUDIO_OUTPUT_DEVICES" (Section 6.2.8) |
7644 |
|
command and <effect-chain> by the numerical ID as returned by the |
7645 |
|
"ADD SEND_EFFECT_CHAIN" (Section 6.11.14) or "LIST |
7646 |
|
SEND_EFFECT_CHAINS" (Section 6.11.13) command. |
7647 |
|
|
7648 |
|
Possible Answers: |
7649 |
|
|
7650 |
|
LinuxSampler will answer by sending a <CRLF> separated list. Each |
7651 |
|
answer line begins with the information category name, followed by |
7652 |
|
a colon and then a space character <SP> and finally the info |
7653 |
|
character string to that information category. At the moment the |
7654 |
|
following categories are defined: |
7655 |
|
|
7656 |
|
|
7657 |
|
|
7658 |
|
EFFECT_COUNT - |
7659 |
|
|
7660 |
|
amount of effects in this send effect chain |
7661 |
|
|
7662 |
|
EFFECT_SEQUENCE - |
7663 |
|
|
7664 |
|
comma separated list of the numerical IDs of the effect |
7665 |
|
instances in this send effect chain, in the order as they |
7666 |
|
are procssed in the effect chain |
7667 |
|
|
7668 |
|
|
7669 |
|
|
7670 |
|
|
7671 |
|
Schoenebeck Expires July 13, 2014 [Page 137] |
7672 |
|
|
7673 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
7674 |
|
|
7675 |
|
|
7676 |
|
The mentioned fields above don't have to be in particular order. |
7677 |
|
|
7678 |
|
Example: |
7679 |
|
|
7680 |
|
C: "GET SEND_EFFECT_CHAIN INFO 0 2" |
7681 |
|
|
7682 |
|
S: "EFFECT_COUNT: 3" |
7683 |
|
|
7684 |
|
"EFFECT_SEQUENCE: 31,4,7" |
7685 |
|
|
7686 |
|
"." |
7687 |
|
|
7688 |
|
6.11.17. Append effect instance to a send effect chain |
7689 |
|
|
7690 |
|
The front-end can add an unused effect instance to the end of a send |
7691 |
|
effect chain by sending the following command: |
7692 |
|
|
7693 |
|
APPEND SEND_EFFECT_CHAIN EFFECT <audio-device> <effect-chain> |
7694 |
|
<effect-instance> |
7695 |
|
|
7696 |
|
Where <audio-device> should be replaced by the numerical ID of the |
7697 |
|
audio output device as given by the "CREATE AUDIO_OUTPUT_DEVICE" |
7698 |
|
(Section 6.2.5) or "LIST AUDIO_OUTPUT_DEVICES" (Section 6.2.8) |
7699 |
|
command and <effect-chain> by the numerical ID as returned by the |
7700 |
|
"ADD SEND_EFFECT_CHAIN" (Section 6.11.14) or "LIST |
7701 |
|
SEND_EFFECT_CHAINS" (Section 6.11.13) command and <effect-instance> |
7702 |
|
as returned by the "CREATE EFFECT_INSTANCE" (Section 6.11.4) or "LIST |
7703 |
|
EFFECT_INSTANCES" (Section 6.11.8) command. |
7704 |
|
|
7705 |
|
Only unused effect instances can be added to the effect chain. |
7706 |
|
Trying to add an effect instance which is already in use somewhere in |
7707 |
|
the audio signal path of the sampler will result in an error. |
7708 |
|
|
7709 |
|
Possible Answers: |
7710 |
|
|
7711 |
|
"OK" - |
7712 |
|
|
7713 |
|
in case the effect instance was added successfully to the chain |
7714 |
|
|
7715 |
|
"ERR:<error-code>:<error-message>" - |
7716 |
|
|
7717 |
|
if the effect instance could not be added |
7718 |
|
|
7719 |
|
Examples: |
7720 |
|
|
7721 |
|
C: "APPEND SEND_EFFECT_CHAIN EFFECT 0 2 38" |
7722 |
|
|
7723 |
|
|
7724 |
|
|
7725 |
|
|
7726 |
|
|
7727 |
|
Schoenebeck Expires July 13, 2014 [Page 138] |
7728 |
|
|
7729 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
7730 |
|
|
7731 |
|
|
7732 |
|
S: "OK" |
7733 |
|
|
7734 |
|
6.11.18. Insert effect instance to a send effect chain |
7735 |
|
|
7736 |
|
The front-end can add an unused effect instance to a certain position |
7737 |
|
of a send effect chain by sending the following command: |
7738 |
|
|
7739 |
|
INSERT SEND_EFFECT_CHAIN EFFECT <audio-device> <effect-chain> |
7740 |
|
<chain-pos> <effect-instance> |
7741 |
|
|
7742 |
|
Where <audio-device> should be replaced by the numerical ID of the |
7743 |
|
audio output device as given by the "CREATE AUDIO_OUTPUT_DEVICE" |
7744 |
|
(Section 6.2.5) or "LIST AUDIO_OUTPUT_DEVICES" (Section 6.2.8) |
7745 |
|
command, <effect-chain> by the numerical ID as returned by the "ADD |
7746 |
|
SEND_EFFECT_CHAIN" (Section 6.11.14) or "LIST SEND_EFFECT_CHAINS" |
7747 |
|
(Section 6.11.13) command, <effect-instance> as returned by the |
7748 |
|
"CREATE EFFECT_INSTANCE" (Section 6.11.4) or "LIST EFFECT_INSTANCES" |
7749 |
|
(Section 6.11.8) command and <chain-pos> the exact position of the |
7750 |
|
effect chain where the supplied effect shall be inserted to. |
7751 |
|
|
7752 |
|
Only unused effect instances can be added to the effect chain. |
7753 |
|
Trying to add an effect instance which is already in use somewhere in |
7754 |
|
the audio signal path of the sampler will result in an error. |
7755 |
|
|
7756 |
|
Possible Answers: |
7757 |
|
|
7758 |
|
"OK" - |
7759 |
|
|
7760 |
|
in case the effect instance was added successfully to the chain |
7761 |
|
|
7762 |
|
"ERR:<error-code>:<error-message>" - |
7763 |
|
|
7764 |
|
if the effect instance could not be added |
7765 |
|
|
7766 |
|
Examples: |
7767 |
|
|
7768 |
|
C: "INSERT SEND_EFFECT_CHAIN EFFECT 0 2 4 38" |
7769 |
|
|
7770 |
|
S: "OK" |
7771 |
|
|
7772 |
|
6.11.19. Remove effect instance from send effect chain |
7773 |
|
|
7774 |
|
The front-end can remove an effect instance from a certain position |
7775 |
|
of a send effect chain by sending the following command: |
7776 |
|
|
7777 |
|
REMOVE SEND_EFFECT_CHAIN EFFECT <audio-device> <effect-chain> |
7778 |
|
<chain-pos> |
7779 |
|
|
7780 |
|
|
7781 |
|
|
7782 |
|
|
7783 |
|
Schoenebeck Expires July 13, 2014 [Page 139] |
7784 |
|
|
7785 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
7786 |
|
|
7787 |
|
|
7788 |
|
Where <audio-device> should be replaced by the numerical ID of the |
7789 |
|
audio output device as given by the "CREATE AUDIO_OUTPUT_DEVICE" |
7790 |
|
(Section 6.2.5) or "LIST AUDIO_OUTPUT_DEVICES" (Section 6.2.8) |
7791 |
|
command, <effect-chain> by the numerical ID as returned by the "ADD |
7792 |
|
SEND_EFFECT_CHAIN" (Section 6.11.14) or "LIST SEND_EFFECT_CHAINS" |
7793 |
|
(Section 6.11.13) command and <chain-pos> the exact position of the |
7794 |
|
effect instance to be removed from the effect chain. |
7795 |
|
|
7796 |
|
Possible Answers: |
7797 |
|
|
7798 |
|
"OK" - |
7799 |
|
|
7800 |
|
in case the effect instance was removed successfully |
7801 |
|
|
7802 |
|
"ERR:<error-code>:<error-message>" - |
7803 |
|
|
7804 |
|
if the effect instance could not be removed |
7805 |
|
|
7806 |
|
Examples: |
7807 |
|
|
7808 |
|
C: "REMOVE SEND_EFFECT_CHAIN EFFECT 0 2 4" |
7809 |
|
|
7810 |
|
S: "OK" |
7811 |
|
|
7812 |
|
|
7813 |
|
|
7814 |
|
|
7815 |
|
|
7816 |
|
|
7817 |
|
|
7818 |
|
|
7819 |
|
|
7820 |
|
|
7821 |
|
|
7822 |
|
|
7823 |
|
|
7824 |
|
|
7825 |
|
|
7826 |
|
|
7827 |
|
|
7828 |
|
|
7829 |
|
|
7830 |
|
|
7831 |
|
|
7832 |
|
|
7833 |
|
|
7834 |
|
|
7835 |
|
|
7836 |
|
|
7837 |
|
|
7838 |
|
|
7839 |
|
Schoenebeck Expires July 13, 2014 [Page 140] |
7840 |
|
|
7841 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
7842 |
|
|
7843 |
|
|
7844 |
7. Command Syntax |
7. Command Syntax |
7892 |
|
|
7893 |
|
|
7894 |
|
|
7895 |
Schoenebeck Expires May 5, 2010 [Page 117] |
Schoenebeck Expires July 13, 2014 [Page 141] |
7896 |
|
|
7897 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
7898 |
|
|
7899 |
|
|
7900 |
/ LIST SP list_instruction |
/ LIST SP list_instruction |
7925 |
|
|
7926 |
/ SEND SP send_instruction |
/ SEND SP send_instruction |
7927 |
|
|
7928 |
|
/ APPEND SP append_instruction |
7929 |
|
|
7930 |
|
/ INSERT SP insert_instruction |
7931 |
|
|
7932 |
/ RESET |
/ RESET |
7933 |
|
|
7934 |
/ QUIT |
/ QUIT |
7937 |
|
|
7938 |
CHANNEL |
CHANNEL |
7939 |
|
|
7940 |
|
/ CHANNEL SP MIDI_INPUT SP sampler_channel SP device_index |
7941 |
|
|
7942 |
|
/ CHANNEL SP MIDI_INPUT SP sampler_channel SP device_index SP |
7943 |
|
midi_input_port_index |
7944 |
|
|
7945 |
/ DB_INSTRUMENT_DIRECTORY SP db_path |
/ DB_INSTRUMENT_DIRECTORY SP db_path |
7946 |
|
|
7947 |
|
|
7948 |
|
|
7949 |
|
|
7950 |
|
|
7951 |
|
Schoenebeck Expires July 13, 2014 [Page 142] |
7952 |
|
|
7953 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
7954 |
|
|
7955 |
|
|
7956 |
/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename |
/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename |
7957 |
|
|
7958 |
/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP FILE_AS_DIR SP |
/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP FILE_AS_DIR SP |
7963 |
/ DB_INSTRUMENTS SP scan_mode SP FILE_AS_DIR SP db_path SP |
/ DB_INSTRUMENTS SP scan_mode SP FILE_AS_DIR SP db_path SP |
7964 |
filename |
filename |
7965 |
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 118] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
7966 |
/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename |
/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename |
7967 |
|
|
7968 |
/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename SP |
/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename SP |
7976 |
|
|
7977 |
/ MIDI_INSTRUMENT_MAP SP map_name |
/ MIDI_INSTRUMENT_MAP SP map_name |
7978 |
|
|
7979 |
|
/ SEND_EFFECT_CHAIN SP device_index |
7980 |
|
|
7981 |
subscribe_event = |
subscribe_event = |
7982 |
|
|
7983 |
AUDIO_OUTPUT_DEVICE_COUNT |
AUDIO_OUTPUT_DEVICE_COUNT |
8000 |
|
|
8001 |
/ BUFFER_FILL |
/ BUFFER_FILL |
8002 |
|
|
|
/ CHANNEL_INFO |
|
8003 |
|
|
|
/ FX_SEND_COUNT |
|
8004 |
|
|
|
/ FX_SEND_INFO |
|
8005 |
|
|
|
/ MIDI_INSTRUMENT_MAP_COUNT |
|
8006 |
|
|
8007 |
/ MIDI_INSTRUMENT_MAP_INFO |
Schoenebeck Expires July 13, 2014 [Page 143] |
8008 |
|
|
8009 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
8010 |
|
|
|
/ MIDI_INSTRUMENT_COUNT |
|
8011 |
|
|
8012 |
|
/ CHANNEL_INFO |
8013 |
|
|
8014 |
|
/ FX_SEND_COUNT |
8015 |
|
|
8016 |
|
/ FX_SEND_INFO |
8017 |
|
|
8018 |
|
/ MIDI_INSTRUMENT_MAP_COUNT |
8019 |
|
|
8020 |
Schoenebeck Expires May 5, 2010 [Page 119] |
/ MIDI_INSTRUMENT_MAP_INFO |
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
8021 |
|
|
8022 |
|
/ MIDI_INSTRUMENT_COUNT |
8023 |
|
|
8024 |
/ MIDI_INSTRUMENT_INFO |
/ MIDI_INSTRUMENT_INFO |
8025 |
|
|
8041 |
|
|
8042 |
/ GLOBAL_INFO |
/ GLOBAL_INFO |
8043 |
|
|
8044 |
|
/ EFFECT_INSTANCE_COUNT |
8045 |
|
|
8046 |
|
/ EFFECT_INSTANCE_INFO |
8047 |
|
|
8048 |
|
/ SEND_EFFECT_CHAIN_COUNT |
8049 |
|
|
8050 |
|
/ SEND_EFFECT_CHAIN_INFO |
8051 |
|
|
8052 |
unsubscribe_event = |
unsubscribe_event = |
8053 |
|
|
8054 |
AUDIO_OUTPUT_DEVICE_COUNT |
AUDIO_OUTPUT_DEVICE_COUNT |
8057 |
|
|
8058 |
/ MIDI_INPUT_DEVICE_COUNT |
/ MIDI_INPUT_DEVICE_COUNT |
8059 |
|
|
8060 |
|
|
8061 |
|
|
8062 |
|
|
8063 |
|
Schoenebeck Expires July 13, 2014 [Page 144] |
8064 |
|
|
8065 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
8066 |
|
|
8067 |
|
|
8068 |
/ MIDI_INPUT_DEVICE_INFO |
/ MIDI_INPUT_DEVICE_INFO |
8069 |
|
|
8070 |
/ CHANNEL_COUNT |
/ CHANNEL_COUNT |
8085 |
|
|
8086 |
/ FX_SEND_INFO |
/ FX_SEND_INFO |
8087 |
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 120] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
8088 |
/ MIDI_INSTRUMENT_MAP_COUNT |
/ MIDI_INSTRUMENT_MAP_COUNT |
8089 |
|
|
8090 |
/ MIDI_INSTRUMENT_MAP_INFO |
/ MIDI_INSTRUMENT_MAP_INFO |
8111 |
|
|
8112 |
/ GLOBAL_INFO |
/ GLOBAL_INFO |
8113 |
|
|
8114 |
|
/ EFFECT_INSTANCE_COUNT |
8115 |
|
|
8116 |
|
|
8117 |
|
|
8118 |
|
|
8119 |
|
Schoenebeck Expires July 13, 2014 [Page 145] |
8120 |
|
|
8121 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
8122 |
|
|
8123 |
|
|
8124 |
|
/ EFFECT_INSTANCE_INFO |
8125 |
|
|
8126 |
|
/ SEND_EFFECT_CHAIN_COUNT |
8127 |
|
|
8128 |
|
/ SEND_EFFECT_CHAIN_INFO |
8129 |
|
|
8130 |
map_instruction = |
map_instruction = |
8131 |
|
|
8132 |
MIDI_INSTRUMENT SP modal_arg midi_map SP midi_bank SP midi_prog SP |
MIDI_INSTRUMENT SP modal_arg midi_map SP midi_bank SP midi_prog SP |
8150 |
|
|
8151 |
remove_instruction = |
remove_instruction = |
8152 |
|
|
8153 |
|
CHANNEL SP sampler_channel |
8154 |
|
|
8155 |
|
/ CHANNEL SP MIDI_INPUT SP sampler_channel |
8156 |
|
|
8157 |
Schoenebeck Expires May 5, 2010 [Page 121] |
/ CHANNEL SP MIDI_INPUT SP sampler_channel SP device_index |
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
8158 |
|
|
8159 |
|
/ CHANNEL SP MIDI_INPUT SP sampler_channel SP device_index SP |
8160 |
CHANNEL SP sampler_channel |
midi_input_port_index |
8161 |
|
|
8162 |
/ MIDI_INSTRUMENT_MAP SP midi_map |
/ MIDI_INSTRUMENT_MAP SP midi_map |
8163 |
|
|
8164 |
/ MIDI_INSTRUMENT_MAP SP ALL |
/ MIDI_INSTRUMENT_MAP SP ALL |
8165 |
|
|
8166 |
|
/ SEND_EFFECT_CHAIN SP device_index SP effect_chain |
8167 |
|
|
8168 |
|
/ SEND_EFFECT_CHAIN SP EFFECT SP device_index SP effect_chain SP |
8169 |
|
chain_pos |
8170 |
|
|
8171 |
|
|
8172 |
|
|
8173 |
|
|
8174 |
|
|
8175 |
|
Schoenebeck Expires July 13, 2014 [Page 146] |
8176 |
|
|
8177 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
8178 |
|
|
8179 |
|
|
8180 |
|
/ FX_SEND SP EFFECT SP sampler_channel SP fx_send_id |
8181 |
|
|
8182 |
/ DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path |
/ DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path |
8183 |
|
|
8184 |
/ DB_INSTRUMENT_DIRECTORY SP db_path |
/ DB_INSTRUMENT_DIRECTORY SP db_path |
8189 |
|
|
8190 |
AVAILABLE_ENGINES |
AVAILABLE_ENGINES |
8191 |
|
|
8192 |
|
/ AVAILABLE_EFFECTS |
8193 |
|
|
8194 |
|
/ EFFECT_INSTANCES |
8195 |
|
|
8196 |
|
/ EFFECT SP INFO SP effect_index |
8197 |
|
|
8198 |
|
/ EFFECT_INSTANCE SP INFO SP effect_instance |
8199 |
|
|
8200 |
|
/ EFFECT_INSTANCE_INPUT_CONTROL SP INFO SP effect_instance SP |
8201 |
|
input_control |
8202 |
|
|
8203 |
|
/ SEND_EFFECT_CHAINS SP device_index |
8204 |
|
|
8205 |
|
/ SEND_EFFECT_CHAIN SP INFO SP device_index SP effect_chain |
8206 |
|
|
8207 |
/ AVAILABLE_MIDI_INPUT_DRIVERS |
/ AVAILABLE_MIDI_INPUT_DRIVERS |
8208 |
|
|
8209 |
/ MIDI_INPUT_DRIVER SP INFO SP string |
/ MIDI_INPUT_DRIVER SP INFO SP string |
8224 |
|
|
8225 |
/ AUDIO_OUTPUT_DEVICES |
/ AUDIO_OUTPUT_DEVICES |
8226 |
|
|
8227 |
|
|
8228 |
|
|
8229 |
|
|
8230 |
|
|
8231 |
|
Schoenebeck Expires July 13, 2014 [Page 147] |
8232 |
|
|
8233 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
8234 |
|
|
8235 |
|
|
8236 |
/ MIDI_INPUT_DEVICES |
/ MIDI_INPUT_DEVICES |
8237 |
|
|
8238 |
/ AUDIO_OUTPUT_DEVICE SP INFO SP number |
/ AUDIO_OUTPUT_DEVICE SP INFO SP number |
8245 |
|
|
8246 |
/ AUDIO_OUTPUT_CHANNEL SP INFO SP number SP number |
/ AUDIO_OUTPUT_CHANNEL SP INFO SP number SP number |
8247 |
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 122] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
8248 |
/ AUDIO_OUTPUT_CHANNEL_PARAMETER SP INFO SP number SP number SP |
/ AUDIO_OUTPUT_CHANNEL_PARAMETER SP INFO SP number SP number SP |
8249 |
string |
string |
8250 |
|
|
8280 |
|
|
8281 |
/ FX_SENDS SP sampler_channel |
/ FX_SENDS SP sampler_channel |
8282 |
|
|
|
/ FX_SEND SP INFO SP sampler_channel SP fx_send_id |
|
8283 |
|
|
|
/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path |
|
8284 |
|
|
|
/ DB_INSTRUMENT_DIRECTORIES SP db_path |
|
8285 |
|
|
|
/ DB_INSTRUMENT_DIRECTORY SP INFO SP db_path |
|
8286 |
|
|
8287 |
/ DB_INSTRUMENTS SP RECURSIVE SP db_path |
Schoenebeck Expires July 13, 2014 [Page 148] |
8288 |
|
|
8289 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
8290 |
|
|
|
/ DB_INSTRUMENTS SP db_path |
|
8291 |
|
|
8292 |
|
/ FX_SEND SP INFO SP sampler_channel SP fx_send_id |
8293 |
|
|
8294 |
|
/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path |
8295 |
|
|
8296 |
|
/ DB_INSTRUMENT_DIRECTORIES SP db_path |
8297 |
|
|
8298 |
|
/ DB_INSTRUMENT_DIRECTORY SP INFO SP db_path |
8299 |
|
|
8300 |
Schoenebeck Expires May 5, 2010 [Page 123] |
/ DB_INSTRUMENTS SP RECURSIVE SP db_path |
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
8301 |
|
|
8302 |
|
/ DB_INSTRUMENTS SP db_path |
8303 |
|
|
8304 |
/ DB_INSTRUMENT SP INFO SP db_path |
/ DB_INSTRUMENT SP INFO SP db_path |
8305 |
|
|
8331 |
/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' |
/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' |
8332 |
param_val_list |
param_val_list |
8333 |
|
|
8334 |
|
/ EFFECT_INSTANCE_INPUT_CONTROL SP VALUE SP effect_instance SP |
8335 |
|
input_control SP control_value |
8336 |
|
|
8337 |
/ CHANNEL SP set_chan_instruction |
/ CHANNEL SP set_chan_instruction |
8338 |
|
|
8339 |
|
|
8340 |
|
|
8341 |
|
|
8342 |
|
|
8343 |
|
Schoenebeck Expires July 13, 2014 [Page 149] |
8344 |
|
|
8345 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
8346 |
|
|
8347 |
|
|
8348 |
/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name |
/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name |
8349 |
|
|
8350 |
/ FX_SEND SP NAME SP sampler_channel SP fx_send_id SP fx_send_name |
/ FX_SEND SP NAME SP sampler_channel SP fx_send_id SP fx_send_name |
8358 |
/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP |
/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP |
8359 |
volume_value |
volume_value |
8360 |
|
|
8361 |
/ DB_INSTRUMENT_DIRECTORY SP NAME SP db_path SP stringval_escaped |
/ FX_SEND SP EFFECT SP sampler_channel SP fx_send_id SP |
8362 |
|
effect_chain SP chain_pos |
|
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 124] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
8363 |
|
|
8364 |
|
/ DB_INSTRUMENT_DIRECTORY SP NAME SP db_path SP stringval_escaped |
8365 |
|
|
8366 |
/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP db_path SP |
/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP db_path SP |
8367 |
stringval_escaped |
stringval_escaped |
8392 |
|
|
8393 |
/ FX_SEND SP sampler_channel SP midi_ctrl |
/ FX_SEND SP sampler_channel SP midi_ctrl |
8394 |
|
|
8395 |
|
|
8396 |
|
|
8397 |
|
|
8398 |
|
|
8399 |
|
Schoenebeck Expires July 13, 2014 [Page 150] |
8400 |
|
|
8401 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
8402 |
|
|
8403 |
|
|
8404 |
/ FX_SEND SP sampler_channel SP midi_ctrl SP fx_send_name |
/ FX_SEND SP sampler_channel SP midi_ctrl SP fx_send_name |
8405 |
|
|
8406 |
|
/ EFFECT_INSTANCE SP effect_index |
8407 |
|
|
8408 |
|
/ EFFECT_INSTANCE SP effect_system SP module SP effect_name |
8409 |
|
|
8410 |
reset_instruction = |
reset_instruction = |
8411 |
|
|
8412 |
CHANNEL SP sampler_channel |
CHANNEL SP sampler_channel |
8423 |
|
|
8424 |
/ DB_INSTRUMENTS SP db_path SP query_val_list |
/ DB_INSTRUMENTS SP db_path SP query_val_list |
8425 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 125] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
8426 |
/ DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP db_path SP |
/ DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP db_path SP |
8427 |
query_val_list |
query_val_list |
8428 |
|
|
8448 |
|
|
8449 |
/ MIDI_INPUT_DEVICE SP number |
/ MIDI_INPUT_DEVICE SP number |
8450 |
|
|
8451 |
|
|
8452 |
|
|
8453 |
|
|
8454 |
|
|
8455 |
|
Schoenebeck Expires July 13, 2014 [Page 151] |
8456 |
|
|
8457 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
8458 |
|
|
8459 |
|
|
8460 |
/ FX_SEND SP sampler_channel SP fx_send_id |
/ FX_SEND SP sampler_channel SP fx_send_id |
8461 |
|
|
8462 |
|
/ EFFECT_INSTANCE SP number |
8463 |
|
|
8464 |
load_instruction = |
load_instruction = |
8465 |
|
|
8466 |
INSTRUMENT SP load_instr_args |
INSTRUMENT SP load_instr_args |
8467 |
|
|
8468 |
/ ENGINE SP load_engine_args |
/ ENGINE SP load_engine_args |
8469 |
|
|
8470 |
|
append_instruction = |
8471 |
|
|
8472 |
|
SEND_EFFECT_CHAIN SP EFFECT SP device_index SP effect_chain SP |
8473 |
|
effect_instance |
8474 |
|
|
8475 |
|
insert_instruction = |
8476 |
|
|
8477 |
|
SEND_EFFECT_CHAIN SP EFFECT SP device_index SP effect_chain SP |
8478 |
|
chain_pos SP effect_instance |
8479 |
|
|
8480 |
set_chan_instruction = |
set_chan_instruction = |
8481 |
|
|
8482 |
AUDIO_OUTPUT_DEVICE SP sampler_channel SP device_index |
AUDIO_OUTPUT_DEVICE SP sampler_channel SP device_index |
8491 |
|
|
8492 |
/ MIDI_INPUT_DEVICE SP sampler_channel SP device_index |
/ MIDI_INPUT_DEVICE SP sampler_channel SP device_index |
8493 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 126] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
8494 |
/ MIDI_INPUT_PORT SP sampler_channel SP midi_input_port_index |
/ MIDI_INPUT_PORT SP sampler_channel SP midi_input_port_index |
8495 |
|
|
8496 |
/ MIDI_INPUT_CHANNEL SP sampler_channel SP |
/ MIDI_INPUT_CHANNEL SP sampler_channel SP |
8504 |
|
|
8505 |
/ SOLO SP sampler_channel SP boolean |
/ SOLO SP sampler_channel SP boolean |
8506 |
|
|
8507 |
|
|
8508 |
|
|
8509 |
|
|
8510 |
|
|
8511 |
|
Schoenebeck Expires July 13, 2014 [Page 152] |
8512 |
|
|
8513 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
8514 |
|
|
8515 |
|
|
8516 |
/ MIDI_INSTRUMENT_MAP SP sampler_channel SP midi_map |
/ MIDI_INSTRUMENT_MAP SP sampler_channel SP midi_map |
8517 |
|
|
8518 |
/ MIDI_INSTRUMENT_MAP SP sampler_channel SP NONE |
/ MIDI_INSTRUMENT_MAP SP sampler_channel SP NONE |
8547 |
|
|
8548 |
list_instruction = |
list_instruction = |
8549 |
|
|
8550 |
|
AUDIO_OUTPUT_DEVICES |
8551 |
|
|
8552 |
|
/ MIDI_INPUT_DEVICES |
8553 |
|
|
8554 |
|
/ CHANNELS |
8555 |
|
|
8556 |
|
/ CHANNEL SP MIDI_INPUTS SP sampler_channel |
8557 |
|
|
8558 |
Schoenebeck Expires May 5, 2010 [Page 127] |
/ AVAILABLE_ENGINES |
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
8559 |
|
|
8560 |
|
/ AVAILABLE_EFFECTS |
8561 |
|
|
8562 |
AUDIO_OUTPUT_DEVICES |
/ EFFECT_INSTANCES |
8563 |
|
|
|
/ MIDI_INPUT_DEVICES |
|
8564 |
|
|
|
/ CHANNELS |
|
8565 |
|
|
8566 |
/ AVAILABLE_ENGINES |
|
8567 |
|
Schoenebeck Expires July 13, 2014 [Page 153] |
8568 |
|
|
8569 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
8570 |
|
|
8571 |
|
|
8572 |
|
/ SEND_EFFECT_CHAINS SP number |
8573 |
|
|
8574 |
/ AVAILABLE_MIDI_INPUT_DRIVERS |
/ AVAILABLE_MIDI_INPUT_DRIVERS |
8575 |
|
|
8610 |
|
|
8611 |
instr_load_mode = |
instr_load_mode = |
8612 |
|
|
8613 |
|
ON_DEMAND |
8614 |
|
|
8615 |
|
/ ON_DEMAND_HOLD |
8616 |
|
|
8617 |
|
/ PERSISTENT |
8618 |
|
|
8619 |
|
effect_instance = |
8620 |
|
|
|
Schoenebeck Expires May 5, 2010 [Page 128] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
8621 |
|
|
8622 |
|
|
8623 |
ON_DEMAND |
Schoenebeck Expires July 13, 2014 [Page 154] |
8624 |
|
|
8625 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
8626 |
|
|
|
/ ON_DEMAND_HOLD |
|
8627 |
|
|
8628 |
/ PERSISTENT |
number |
8629 |
|
|
8630 |
device_index = |
device_index = |
8631 |
|
|
8669 |
|
|
8670 |
number |
number |
8671 |
|
|
8672 |
|
volume_value = |
8673 |
|
|
8674 |
|
dotnum |
8675 |
|
|
8676 |
|
|
|
Schoenebeck Expires May 5, 2010 [Page 129] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
8677 |
|
|
8678 |
|
|
8679 |
volume_value = |
Schoenebeck Expires July 13, 2014 [Page 155] |
8680 |
|
|
8681 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
8682 |
|
|
|
dotnum |
|
8683 |
|
|
8684 |
/ number |
/ number |
8685 |
|
|
8686 |
|
control_value = |
8687 |
|
|
8688 |
|
real |
8689 |
|
|
8690 |
sampler_channel = |
sampler_channel = |
8691 |
|
|
8692 |
number |
number |
8723 |
|
|
8724 |
stringval_escaped |
stringval_escaped |
8725 |
|
|
8726 |
param_val_list = |
effect_name = |
8727 |
|
|
8728 |
param_val |
stringval_escaped |
8729 |
|
|
8730 |
/ param_val_list','param_val |
effect_index = |
8731 |
|
|
8732 |
|
|
8733 |
|
|
8734 |
|
|
8735 |
Schoenebeck Expires May 5, 2010 [Page 130] |
Schoenebeck Expires July 13, 2014 [Page 156] |
8736 |
|
|
8737 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
8738 |
|
|
8739 |
|
|
8740 |
|
number |
8741 |
|
|
8742 |
|
effect_chain = |
8743 |
|
|
8744 |
|
number |
8745 |
|
|
8746 |
|
chain_pos = |
8747 |
|
|
8748 |
|
number |
8749 |
|
|
8750 |
|
input_control = |
8751 |
|
|
8752 |
|
number |
8753 |
|
|
8754 |
|
param_val_list = |
8755 |
|
|
8756 |
|
param_val |
8757 |
|
|
8758 |
|
/ param_val_list','param_val |
8759 |
|
|
8760 |
param_val = |
param_val = |
8761 |
|
|
8785 |
|
|
8786 |
/ NON_RECURSIVE |
/ NON_RECURSIVE |
8787 |
|
|
|
/ FLAT |
|
|
|
|
|
7.1. Character Set and Escape Sequences |
|
|
|
|
|
Older versions of this protocol up to and including v1.1 only |
|
|
supported the standard ASCII character set (ASCII code 0 - 127) |
|
|
[RFC20], all younger versions of this protocol however support the |
|
|
Extended ASCII character set (ASCII code 0 - 255). The same group of |
|
|
younger protocols also support escape sequences, but only for |
|
|
certain, explicitly declared parts of the protocol. The supported |
|
|
escape sequences are defined as follows: |
|
|
|
|
|
|
|
8788 |
|
|
8789 |
|
|
8790 |
|
|
8791 |
|
Schoenebeck Expires July 13, 2014 [Page 157] |
8792 |
|
|
8793 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
8794 |
|
|
8795 |
|
|
8796 |
|
/ FLAT |
8797 |
|
|
8798 |
|
effect_system = |
8799 |
|
|
8800 |
|
string |
8801 |
|
|
8802 |
|
module = |
8803 |
|
|
8804 |
|
filename |
8805 |
|
|
8806 |
Schoenebeck Expires May 5, 2010 [Page 131] |
7.1. Character Set and Escape Sequences |
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
8807 |
|
|
8808 |
|
Older versions of this protocol up to and including v1.1 only |
8809 |
|
supported the standard ASCII character set (ASCII code 0 - 127) |
8810 |
|
[RFC20], all younger versions of this protocol however support the |
8811 |
|
Extended ASCII character set (ASCII code 0 - 255). The same group of |
8812 |
|
younger protocols also support escape sequences, but only for |
8813 |
|
certain, explicitly declared parts of the protocol. The supported |
8814 |
|
escape sequences are defined as follows: |
8815 |
|
|
8816 |
+------------------------+------------------------------------------+ |
+------------------------+------------------------------------------+ |
8817 |
| ASCII Character | Translated into (Name) | |
| ASCII Character | Translated into (Name) | |
8841 |
+------------------------+------------------------------------------+ |
+------------------------+------------------------------------------+ |
8842 |
|
|
8843 |
Notice: due to the transition of certain parts of the protocol which |
Notice: due to the transition of certain parts of the protocol which |
8844 |
|
|
8845 |
|
|
8846 |
|
|
8847 |
|
Schoenebeck Expires July 13, 2014 [Page 158] |
8848 |
|
|
8849 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
8850 |
|
|
8851 |
|
|
8852 |
now support escape sequences, a slight backward incompatibility to |
now support escape sequences, a slight backward incompatibility to |
8853 |
protocols version v1.1 and younger has been introduced. The only |
protocols version v1.1 and younger has been introduced. The only |
8854 |
difference is that in parts of the protocol where escape characters |
difference is that in parts of the protocol where escape characters |
8868 |
|
|
8869 |
"GET MIDI_INSTRUMENT INFO" (Section 6.7.11) |
"GET MIDI_INSTRUMENT INFO" (Section 6.7.11) |
8870 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 132] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
8871 |
"ADD DB_INSTRUMENT_DIRECTORY" (Section 6.8.1) |
"ADD DB_INSTRUMENT_DIRECTORY" (Section 6.8.1) |
8872 |
|
|
8873 |
"ADD DB_INSTRUMENTS" (Section 6.8.11) |
"ADD DB_INSTRUMENTS" (Section 6.8.11) |
8896 |
|
|
8897 |
"SET DB_INSTRUMENT DESCRIPTION" (Section 6.8.19) |
"SET DB_INSTRUMENT DESCRIPTION" (Section 6.8.19) |
8898 |
|
|
8899 |
|
|
8900 |
|
|
8901 |
|
|
8902 |
|
|
8903 |
|
Schoenebeck Expires July 13, 2014 [Page 159] |
8904 |
|
|
8905 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
8906 |
|
|
8907 |
|
|
8908 |
"FIND DB_INSTRUMENTS" (Section 6.8.20) |
"FIND DB_INSTRUMENTS" (Section 6.8.20) |
8909 |
|
|
8910 |
"FIND DB_INSTRUMENT_DIRECTORIES" (Section 6.8.10) |
"FIND DB_INSTRUMENT_DIRECTORIES" (Section 6.8.10) |
8925 |
|
|
8926 |
"LIST FILE INSTRUMENTS" (Section 6.10.2) |
"LIST FILE INSTRUMENTS" (Section 6.10.2) |
8927 |
|
|
8928 |
|
"GET FILE INSTRUMENT INFO" (Section 6.10.3) |
8929 |
|
|
8930 |
|
"GET EFFECT INFO" (Section 6.11.3) |
8931 |
|
|
8932 |
|
"GET EFFECT_INSTANCE INFO" (Section 6.11.9) |
8933 |
|
|
8934 |
Schoenebeck Expires May 5, 2010 [Page 133] |
"CREATE EFFECT_INSTANCE" (Section 6.11.4) |
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
|
"GET FILE INSTRUMENT INFO" (Section 6.10.3) |
|
8935 |
|
|
8936 |
Note that the forward slash character ('/') has a special meaning in |
Note that the forward slash character ('/') has a special meaning in |
8937 |
filename / path based arguments: it acts as separator of the nodes in |
filename / path based arguments: it acts as separator of the nodes in |
8952 |
description) and / or may contain escape sequences in at least one of |
description) and / or may contain escape sequences in at least one of |
8953 |
their text-based fields in their response: |
their text-based fields in their response: |
8954 |
|
|
8955 |
|
|
8956 |
|
|
8957 |
|
|
8958 |
|
|
8959 |
|
Schoenebeck Expires July 13, 2014 [Page 160] |
8960 |
|
|
8961 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
8962 |
|
|
8963 |
|
|
8964 |
"GET SERVER INFO" (Section 6.6.5) |
"GET SERVER INFO" (Section 6.6.5) |
8965 |
|
|
8966 |
"GET ENGINE INFO" (Section 6.4.9) |
"GET ENGINE INFO" (Section 6.4.9) |
8967 |
|
|
8968 |
"GET CHANNEL INFO" (Section 6.4.10) |
"GET CHANNEL INFO" (Section 6.4.10) |
8969 |
|
|
8970 |
"CREATE FX_SEND" (Section 6.4.25) |
"CREATE FX_SEND" (Section 6.4.28) |
8971 |
|
|
8972 |
"GET FX_SEND INFO" (Section 6.4.29) |
"GET FX_SEND INFO" (Section 6.4.32) |
8973 |
|
|
8974 |
"SET FX_SEND NAME" (Section 6.4.30) |
"SET FX_SEND NAME" (Section 6.4.33) |
8975 |
|
|
8976 |
"GET MIDI_INSTRUMENT INFO" (Section 6.7.11) |
"GET MIDI_INSTRUMENT INFO" (Section 6.7.11) |
8977 |
|
|
8987 |
|
|
8988 |
"SET DB_INSTRUMENT_DIRECTORY NAME" (Section 6.8.6) |
"SET DB_INSTRUMENT_DIRECTORY NAME" (Section 6.8.6) |
8989 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 134] |
|
|
|
|
|
Internet-Draft LinuxSampler Control Protocol November 2009 |
|
|
|
|
|
|
|
8990 |
"SET DB_INSTRUMENT_DIRECTORY DESCRIPTION" (Section 6.8.9) |
"SET DB_INSTRUMENT_DIRECTORY DESCRIPTION" (Section 6.8.9) |
8991 |
|
|
8992 |
"FIND DB_INSTRUMENT_DIRECTORIES" (Section 6.8.10) |
"FIND DB_INSTRUMENT_DIRECTORIES" (Section 6.8.10) |
8999 |
|
|
9000 |
"FIND DB_INSTRUMENTS" (Section 6.8.20) |
"FIND DB_INSTRUMENTS" (Section 6.8.20) |
9001 |
|
|
9002 |
Please note that these lists are manually maintained. If you find a |
"GET EFFECT INFO" (Section 6.11.3) |
|
command that also supports escape sequences we forgot to mention |
|
|
here, please report it! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9003 |
|
|
9004 |
|
"GET EFFECT_INSTANCE INFO" (Section 6.11.9) |
9005 |
|
|
9006 |
|
"CREATE EFFECT_INSTANCE" (Section 6.11.4) |
9007 |
|
|
9008 |
|
Please note that these lists are manually maintained. If you find a |
9009 |
|
command that also supports escape sequences we forgot to mention |
9010 |
|
here, please report it! |
9011 |
|
|
9012 |
|
|
9013 |
|
|
9014 |
|
|
9015 |
Schoenebeck Expires May 5, 2010 [Page 135] |
Schoenebeck Expires July 13, 2014 [Page 161] |
9016 |
|
|
9017 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
9018 |
|
|
9019 |
|
|
9020 |
8. Events |
8. Events |
9068 |
|
|
9069 |
|
|
9070 |
|
|
9071 |
Schoenebeck Expires May 5, 2010 [Page 136] |
Schoenebeck Expires July 13, 2014 [Page 162] |
9072 |
|
|
9073 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
9074 |
|
|
9075 |
|
|
9076 |
"NOTIFY:MIDI_INPUT_DEVICE_COUNT:<devices>" |
"NOTIFY:MIDI_INPUT_DEVICE_COUNT:<devices>" |
9124 |
|
|
9125 |
|
|
9126 |
|
|
9127 |
Schoenebeck Expires May 5, 2010 [Page 137] |
Schoenebeck Expires July 13, 2014 [Page 163] |
9128 |
|
|
9129 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
9130 |
|
|
9131 |
|
|
9132 |
"NOTIFY:CHANNEL_MIDI:<channel-id> NOTE_ON <note> <velocity>" |
"NOTIFY:CHANNEL_MIDI:<channel-id> NOTE_ON <note> <velocity>" |
9180 |
|
|
9181 |
|
|
9182 |
|
|
9183 |
Schoenebeck Expires May 5, 2010 [Page 138] |
Schoenebeck Expires July 13, 2014 [Page 164] |
9184 |
|
|
9185 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
9186 |
|
|
9187 |
|
|
9188 |
SUBSCRIBE VOICE_COUNT |
SUBSCRIBE VOICE_COUNT |
9236 |
|
|
9237 |
|
|
9238 |
|
|
9239 |
Schoenebeck Expires May 5, 2010 [Page 139] |
Schoenebeck Expires July 13, 2014 [Page 165] |
9240 |
|
|
9241 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
9242 |
|
|
9243 |
|
|
9244 |
SUBSCRIBE CHANNEL_INFO |
SUBSCRIBE CHANNEL_INFO |
9292 |
|
|
9293 |
|
|
9294 |
|
|
9295 |
Schoenebeck Expires May 5, 2010 [Page 140] |
Schoenebeck Expires July 13, 2014 [Page 166] |
9296 |
|
|
9297 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
9298 |
|
|
9299 |
|
|
9300 |
8.14. Total number of active voices changed |
8.14. Total number of active voices changed |
9348 |
|
|
9349 |
|
|
9350 |
|
|
9351 |
Schoenebeck Expires May 5, 2010 [Page 141] |
Schoenebeck Expires July 13, 2014 [Page 167] |
9352 |
|
|
9353 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
9354 |
|
|
9355 |
|
|
9356 |
SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO |
SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO |
9404 |
|
|
9405 |
|
|
9406 |
|
|
9407 |
Schoenebeck Expires May 5, 2010 [Page 142] |
Schoenebeck Expires July 13, 2014 [Page 168] |
9408 |
|
|
9409 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
9410 |
|
|
9411 |
|
|
9412 |
8.20. Global settings changed |
8.20. Global settings changed |
9460 |
|
|
9461 |
|
|
9462 |
|
|
9463 |
Schoenebeck Expires May 5, 2010 [Page 143] |
Schoenebeck Expires July 13, 2014 [Page 169] |
9464 |
|
|
9465 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
9466 |
|
|
9467 |
|
|
9468 |
SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO |
SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO |
9516 |
|
|
9517 |
|
|
9518 |
|
|
9519 |
Schoenebeck Expires May 5, 2010 [Page 144] |
Schoenebeck Expires July 13, 2014 [Page 170] |
9520 |
|
|
9521 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
9522 |
|
|
9523 |
|
|
9524 |
"NOTIFY:DB_INSTRUMENT_INFO:<instr-path>" |
"NOTIFY:DB_INSTRUMENT_INFO:<instr-path>" |
9556 |
real time events happening on the server, it is believed that an |
real time events happening on the server, it is believed that an |
9557 |
empty notification message is sufficient here. |
empty notification message is sufficient here. |
9558 |
|
|
9559 |
8.26. Miscellaneous and debugging events |
8.26. Number of effect instances changed |
9560 |
|
|
9561 |
Client may want to be notified of miscellaneous and debugging events |
Client may want to be notified when the number of effect instances is |
9562 |
occurring at the server by issuing the following command: |
changed by issuing the following command: |
9563 |
|
|
9564 |
SUBSCRIBE MISCELLANEOUS |
SUBSCRIBE EFFECT_INSTANCE_COUNT |
9565 |
|
|
9566 |
Server will start sending the following notification messages: |
Server will start sending the following notification messages: |
9567 |
|
|
9568 |
"NOTIFY:MISCELLANEOUS:<string>" |
"EFFECT_INSTANCE_COUNT:<instances>" |
9569 |
|
|
9570 |
where <string> will be replaced by whatever data server wants to send |
where <instances> will be replaced by the new number of effect |
9571 |
to the client. Client MAY display this data to the user AS IS to |
instances. |
9572 |
|
|
9573 |
|
|
9574 |
|
|
9575 |
Schoenebeck Expires May 5, 2010 [Page 145] |
Schoenebeck Expires July 13, 2014 [Page 171] |
9576 |
|
|
9577 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
9578 |
|
|
9579 |
|
|
9580 |
facilitate debugging. |
8.27. Effect instance information changed |
9581 |
|
|
9582 |
|
Client may want to be notified when changes were made to effect |
9583 |
|
instances on the back-end by issuing the following command: |
9584 |
|
|
9585 |
|
SUBSCRIBE EFFECT_INSTANCE_INFO |
9586 |
|
|
9587 |
|
Server will start sending the following notification messages: |
9588 |
|
|
9589 |
|
"EFFECT_INSTANCE_INFO:<instance-id>" |
9590 |
|
|
9591 |
|
where <instance-id> will be replaced by the numerical ID of the |
9592 |
|
effect instance. |
9593 |
|
|
9594 |
|
8.28. Number of send effect chains changed |
9595 |
|
|
9596 |
|
Client may want to be notified when the number of send effect chains |
9597 |
|
is changed by issuing the following command: |
9598 |
|
|
9599 |
|
SUBSCRIBE SEND_EFFECT_CHAIN_COUNT |
9600 |
|
|
9601 |
|
Server will start sending the following notification messages: |
9602 |
|
|
9603 |
|
"NOTIFY:SEND_EFFECT_CHAIN_COUNT:<device-id> <chains>" |
9604 |
|
|
9605 |
|
where <device-id> will be replaced by the numerical ID of the audio |
9606 |
|
output device, in which the number of send effect chains is changed |
9607 |
|
and <chains> will be replaced by the new number of send effect |
9608 |
|
chains. |
9609 |
|
|
9610 |
|
8.29. Send effect chain information changed |
9611 |
|
|
9612 |
|
Client may want to be notified when changes were made to send effect |
9613 |
|
chains on the back-end by issuing the following command: |
9614 |
|
|
9615 |
|
SUBSCRIBE SEND_EFFECT_CHAIN_INFO |
9616 |
|
|
9617 |
|
Server will start sending the following notification messages: |
9618 |
|
|
9619 |
|
"SEND_EFFECT_CHAIN_INFO:<device-id> <chain-id> <instances>" - |
9620 |
|
Notifies that the number of effect instances in a particular send |
9621 |
|
effect chain is changed, where <device-id> will be replaced by the |
9622 |
|
numerical ID of the audio output device the send effect chain |
9623 |
|
belongs to, <chain-id> will be replaced by the numerical ID of the |
9624 |
|
send effect chain in which the number of effect instances has |
9625 |
|
changed and <instances> will be replaced by the new number of |
9626 |
|
effect instances in the specified send effect chain. |
9627 |
|
|
9628 |
|
|
9629 |
|
|
9630 |
|
|
9631 |
|
Schoenebeck Expires July 13, 2014 [Page 172] |
9632 |
|
|
9633 |
|
Internet-Draft LinuxSampler Control Protocol January 2014 |
9634 |
|
|
9635 |
|
|
9636 |
|
8.30. Miscellaneous and debugging events |
9637 |
|
|
9638 |
|
Client may want to be notified of miscellaneous and debugging events |
9639 |
|
occurring at the server by issuing the following command: |
9640 |
|
|
9641 |
|
SUBSCRIBE MISCELLANEOUS |
9642 |
|
|
9643 |
|
Server will start sending the following notification messages: |
9644 |
|
|
9645 |
|
"NOTIFY:MISCELLANEOUS:<string>" |
9646 |
|
|
9647 |
|
where <string> will be replaced by whatever data server wants to send |
9648 |
|
to the client. Client MAY display this data to the user AS IS to |
9649 |
|
facilitate debugging. |
9650 |
|
|
9651 |
|
|
9652 |
|
|
9684 |
|
|
9685 |
|
|
9686 |
|
|
9687 |
Schoenebeck Expires May 5, 2010 [Page 146] |
Schoenebeck Expires July 13, 2014 [Page 173] |
9688 |
|
|
9689 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
9690 |
|
|
9691 |
|
|
9692 |
9. Security Considerations |
9. Security Considerations |
9740 |
|
|
9741 |
|
|
9742 |
|
|
9743 |
Schoenebeck Expires May 5, 2010 [Page 147] |
Schoenebeck Expires July 13, 2014 [Page 174] |
9744 |
|
|
9745 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
9746 |
|
|
9747 |
|
|
9748 |
10. Acknowledgments |
10. Acknowledgments |
9796 |
|
|
9797 |
|
|
9798 |
|
|
9799 |
Schoenebeck Expires May 5, 2010 [Page 148] |
Schoenebeck Expires July 13, 2014 [Page 175] |
9800 |
|
|
9801 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
9802 |
|
|
9803 |
|
|
9804 |
11. References |
11. References |
9852 |
|
|
9853 |
|
|
9854 |
|
|
9855 |
Schoenebeck Expires May 5, 2010 [Page 149] |
Schoenebeck Expires July 13, 2014 [Page 176] |
9856 |
|
|
9857 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
9858 |
|
|
9859 |
|
|
9860 |
Author's Address |
Author's Address |
9861 |
|
|
9862 |
C. Schoenebeck |
C. Schoenebeck |
9863 |
Interessengemeinschaft Software Engineering e. V. |
LinuxSampler.org |
9864 |
Max-Planck-Str. 39 |
Crudebyte Engineering |
9865 |
74081 Heilbronn |
Hofgartenstr. 3 |
9866 |
|
74189 Weinsberg |
9867 |
Germany |
Germany |
9868 |
|
|
9869 |
Email: schoenebeck at software minus engineering dot org |
Phone: +49 7134 911614 |
9870 |
|
Email: cuse@users.sf.net |
9871 |
|
|
9872 |
|
|
9873 |
|
|
9908 |
|
|
9909 |
|
|
9910 |
|
|
9911 |
|
Schoenebeck Expires July 13, 2014 [Page 177] |
|
|
|
|
Schoenebeck Expires May 5, 2010 [Page 150] |
|
9912 |
|
|
9913 |
Internet-Draft LinuxSampler Control Protocol November 2009 |
Internet-Draft LinuxSampler Control Protocol January 2014 |
9914 |
|
|
9915 |
|
|
9916 |
Full Copyright Statement |
Full Copyright Statement |
9917 |
|
|
9918 |
Copyright (C) The IETF Trust (2009). |
Copyright (C) The IETF Trust (2014). |
9919 |
|
|
9920 |
This document is subject to the rights, licenses and restrictions |
This document is subject to the rights, licenses and restrictions |
9921 |
contained in BCP 78, and except as set forth therein, the authors |
contained in BCP 78, and except as set forth therein, the authors |
9964 |
|
|
9965 |
|
|
9966 |
|
|
9967 |
Schoenebeck Expires May 5, 2010 [Page 151] |
Schoenebeck Expires July 13, 2014 [Page 178] |
9968 |
|
|
|
|
|