/[svn]/web/trunk/www.linuxsampler.org/api/draft-linuxsampler-protocol.txt
ViewVC logotype

Diff of /web/trunk/www.linuxsampler.org/api/draft-linuxsampler-protocol.txt

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3502 by schoenebeck, Wed Jul 15 21:41:19 2015 UTC revision 3503 by schoenebeck, Mon Mar 11 15:46:15 2019 UTC
# Line 1  Line 1 
1    
2    
3    
4  LinuxSampler Developers                                   C. Schoenebeck  
5    LinuxSampler Developers                              C. Schoenebeck, Ed.
6  Internet-Draft                                          LinuxSampler.org  Internet-Draft                                          LinuxSampler.org
7  Intended status: Standards Track                           July 15, 2015  Intended status: Informational                            March 11, 2019
8  Expires: January 16, 2016  Expires: September 12, 2019
9    
10    
11                       LinuxSampler Control Protocol                       LinuxSampler Control Protocol
# Line 18  Abstract Line 19  Abstract
19     like console application essentially playing back audio samples and     like console application essentially playing back audio samples and
20     manipulating the samples in real time to certain extent.     manipulating the samples in real time to certain extent.
21    
22  Status of this Memo  Status of This Memo
23    
24     By submitting this Internet-Draft, each author represents that any     This Internet-Draft is submitted in full conformance with the
25     applicable patent or other IPR claims of which he or she is aware     provisions of BCP 78 and BCP 79.
    have been or will be disclosed, and any of which he or she becomes  
    aware will be disclosed, in accordance with Section 6 of BCP 79.  
26    
27     Internet-Drafts are working documents of the Internet Engineering     Internet-Drafts are working documents of the Internet Engineering
28     Task Force (IETF).  Note that other groups may also distribute     Task Force (IETF).  Note that other groups may also distribute
# Line 35  Status of this Memo Line 34  Status of this Memo
34     time.  It is inappropriate to use Internet-Drafts as reference     time.  It is inappropriate to use Internet-Drafts as reference
35     material or to cite them other than as "work in progress."     material or to cite them other than as "work in progress."
36    
37     This Internet-Draft will expire on January 16, 2016.     This Internet-Draft will expire on September 12, 2019.
   
   
   
   
   
   
   
38    
39    Copyright Notice
40    
41       Copyright (c) 2019 IETF Trust and the persons identified as the
42       document authors.  All rights reserved.
43    
44       This document is subject to BCP 78 and the IETF Trust's Legal
45       Provisions Relating to IETF Documents
46       (http://trustee.ietf.org/license-info) in effect on the date of
47       publication of this document.  Please review these documents
48       carefully, as they describe your rights and restrictions with respect
49       to this document.  Code Components extracted from this document must
50       include Simplified BSD License text as described in Section 4.e of
51       the Trust Legal Provisions and are provided without warranty as
52       described in the Simplified BSD License.
53    
54    
55    
56    Schoenebeck            Expires September 12, 2019               [Page 1]
   
   
 Schoenebeck             Expires January 16, 2016                [Page 1]  
57    
58  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
59    
60    
61       This document may not be modified, and derivative works of it may not
62       be created, and it may not be published except as an Internet-Draft.
63    
64  Table of Contents  Table of Contents
65    
66     1.  Requirements notation . . . . . . . . . . . . . . . . . . . .   7     1.  Requirements notation . . . . . . . . . . . . . . . . . . . .   6
67     2.  Versioning of this specification  . . . . . . . . . . . . . .   8     2.  Versioning of this specification  . . . . . . . . . . . . . .   7
68     3.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   9     3.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   8
69     4.  Focus of this protocol  . . . . . . . . . . . . . . . . . . .  10     4.  Focus of this protocol  . . . . . . . . . . . . . . . . . . .   8
70     5.  Communication Overview  . . . . . . . . . . . . . . . . . . .  11     5.  Communication Overview  . . . . . . . . . . . . . . . . . . .   8
71       5.1.  Request/response communication method . . . . . . . . . .  11       5.1.  Request/response communication method . . . . . . . . . .   9
72         5.1.1.   Result format  . . . . . . . . . . . . . . . . . . .  12         5.1.1.  Result format . . . . . . . . . . . . . . . . . . . .   9
73       5.2.  Subscribe/notify communication method . . . . . . . . . .  14       5.2.  Subscribe/notify communication method . . . . . . . . . .  12
74     6.  Description for control commands  . . . . . . . . . . . . . .  16     6.  Description for control commands  . . . . . . . . . . . . . .  13
75       6.1.  Ignored lines and comments  . . . . . . . . . . . . . . .  16       6.1.  Ignored lines and comments  . . . . . . . . . . . . . . .  14
76       6.2.  Configuring audio drivers . . . . . . . . . . . . . . . .  16       6.2.  Configuring audio drivers . . . . . . . . . . . . . . . .  14
77         6.2.1.   Getting amount of available audio output drivers . .  17         6.2.1.  Getting amount of available audio output drivers  . .  14
78         6.2.2.   Getting all available audio output drivers . . . . .  17         6.2.2.  Getting all available audio output drivers  . . . . .  15
79         6.2.3.   Getting information about a specific audio output         6.2.3.  Getting information about a specific audio
80                  driver . . . . . . . . . . . . . . . . . . . . . . .  17                 output driver . . . . . . . . . . . . . . . . . . . .  15
81         6.2.4.   Getting information about specific audio output         6.2.4.  Getting information about specific audio
82                  driver parameter . . . . . . . . . . . . . . . . . .  18                 output driver parameter . . . . . . . . . . . . . . .  16
83         6.2.5.   Creating an audio output device  . . . . . . . . . .  22         6.2.5.  Creating an audio output device . . . . . . . . . . .  20
84         6.2.6.   Destroying an audio output device  . . . . . . . . .  23         6.2.6.  Destroying an audio output device . . . . . . . . . .  21
85         6.2.7.   Getting all created audio output device count  . . .  24         6.2.7.  Getting all created audio output device count . . . .  21
86         6.2.8.   Getting all created audio output device list . . . .  24         6.2.8.  Getting all created audio output device list  . . . .  22
87         6.2.9.   Getting current settings of an audio output device .  24         6.2.9.  Getting current settings of an audio output device  .  22
88         6.2.10.  Changing settings of audio output devices  . . . . .  26         6.2.10. Changing settings of audio output devices . . . . . .  23
89         6.2.11.  Getting information about an audio channel . . . . .  27         6.2.11. Getting information about an audio channel  . . . . .  24
90         6.2.12.  Getting information about specific audio channel         6.2.12. Getting information about specific audio channel
91                  parameter  . . . . . . . . . . . . . . . . . . . . .  28                 parameter . . . . . . . . . . . . . . . . . . . . . .  26
92         6.2.13.  Changing settings of audio output channels . . . . .  30         6.2.13. Changing settings of audio output channels  . . . . .  28
93       6.3.  Configuring MIDI input drivers  . . . . . . . . . . . . .  31       6.3.  Configuring MIDI input drivers  . . . . . . . . . . . . .  29
94         6.3.1.   Getting amount of available MIDI input drivers . . .  32         6.3.1.  Getting amount of available MIDI input drivers  . . .  29
95         6.3.2.   Getting all available MIDI input drivers . . . . . .  32         6.3.2.  Getting all available MIDI input drivers  . . . . . .  30
96         6.3.3.   Getting information about a specific MIDI input         6.3.3.  Getting information about a specific MIDI input
97                  driver . . . . . . . . . . . . . . . . . . . . . . .  33                 driver  . . . . . . . . . . . . . . . . . . . . . . .  30
98         6.3.4.   Getting information about specific MIDI input         6.3.4.  Getting information about specific MIDI input driver
99                  driver parameter . . . . . . . . . . . . . . . . . .  34                 parameter . . . . . . . . . . . . . . . . . . . . . .  31
100         6.3.5.   Creating a MIDI input device . . . . . . . . . . . .  36         6.3.5.  Creating a MIDI input device  . . . . . . . . . . . .  34
101         6.3.6.   Destroying a MIDI input device . . . . . . . . . . .  37         6.3.6.  Destroying a MIDI input device  . . . . . . . . . . .  35
102         6.3.7.   Getting all created MIDI input device count  . . . .  38         6.3.7.  Getting all created MIDI input device count . . . . .  35
103         6.3.8.   Getting all created MIDI input device list . . . . .  38         6.3.8.  Getting all created MIDI input device list  . . . . .  36
104         6.3.9.   Getting current settings of a MIDI input device  . .  39         6.3.9.  Getting current settings of a MIDI input device . . .  36
105         6.3.10.  Changing settings of MIDI input devices  . . . . . .  40         6.3.10. Changing settings of MIDI input devices . . . . . . .  37
106         6.3.11.  Getting information about a MIDI port  . . . . . . .  40         6.3.11. Getting information about a MIDI port . . . . . . . .  38
107         6.3.12.  Getting information about specific MIDI port         6.3.12. Getting information about specific MIDI port
108                  parameter  . . . . . . . . . . . . . . . . . . . . .  41                 parameter . . . . . . . . . . . . . . . . . . . . . .  39
109         6.3.13.  Changing settings of MIDI input ports  . . . . . . .  43  
110       6.4.  Configuring sampler channels  . . . . . . . . . . . . . .  44  
111         6.4.1.   Loading an instrument  . . . . . . . . . . . . . . .  44  
112    Schoenebeck            Expires September 12, 2019               [Page 2]
113    
114    Internet-Draft        LinuxSampler Control Protocol           March 2019
115  Schoenebeck             Expires January 16, 2016                [Page 2]  
116    
117  Internet-Draft        LinuxSampler Control Protocol            July 2015         6.3.13. Changing settings of MIDI input ports . . . . . . . .  41
118         6.4.  Configuring sampler channels  . . . . . . . . . . . . . .  41
119           6.4.1.  Loading an instrument . . . . . . . . . . . . . . . .  42
120         6.4.2.   Loading a sampler engine . . . . . . . . . . . . . .  45         6.4.2.  Loading a sampler engine  . . . . . . . . . . . . . .  43
121         6.4.3.   Getting all created sampler channel count  . . . . .  46         6.4.3.  Getting all created sampler channel count . . . . . .  44
122         6.4.4.   Getting all created sampler channel list . . . . . .  47         6.4.4.  Getting all created sampler channel list  . . . . . .  44
123         6.4.5.   Adding a new sampler channel . . . . . . . . . . . .  47         6.4.5.  Adding a new sampler channel  . . . . . . . . . . . .  44
124         6.4.6.   Removing a sampler channel . . . . . . . . . . . . .  48         6.4.6.  Removing a sampler channel  . . . . . . . . . . . . .  45
125         6.4.7.   Getting amount of available engines  . . . . . . . .  49         6.4.7.  Getting amount of available engines . . . . . . . . .  46
126         6.4.8.   Getting all available engines  . . . . . . . . . . .  49         6.4.8.  Getting all available engines . . . . . . . . . . . .  46
127         6.4.9.   Getting information about an engine  . . . . . . . .  49         6.4.9.  Getting information about an engine . . . . . . . . .  47
128         6.4.10.  Getting sampler channel information  . . . . . . . .  51         6.4.10. Getting sampler channel information . . . . . . . . .  48
129         6.4.11.  Current number of active voices  . . . . . . . . . .  54         6.4.11. Current number of active voices . . . . . . . . . . .  52
130         6.4.12.  Current number of active disk streams  . . . . . . .  55         6.4.12. Current number of active disk streams . . . . . . . .  52
131         6.4.13.  Current fill state of disk stream buffers  . . . . .  55         6.4.13. Current fill state of disk stream buffers . . . . . .  52
132         6.4.14.  Setting audio output device  . . . . . . . . . . . .  56         6.4.14. Setting audio output device . . . . . . . . . . . . .  53
133         6.4.15.  Setting audio output type  . . . . . . . . . . . . .  57         6.4.15. Setting audio output type . . . . . . . . . . . . . .  54
134         6.4.16.  Setting audio output channel . . . . . . . . . . . .  58         6.4.16. Setting audio output channel  . . . . . . . . . . . .  55
135         6.4.17.  Add MIDI input to sampler channel  . . . . . . . . .  59         6.4.17. Add MIDI input to sampler channel . . . . . . . . . .  56
136         6.4.18.  Remove MIDI input(s) from sampler channel  . . . . .  60         6.4.18. Remove MIDI input(s) from sampler channel . . . . . .  57
137         6.4.19.  Getting all MIDI inputs of a sampler channel . . . .  61         6.4.19. Getting all MIDI inputs of a sampler channel  . . . .  58
138         6.4.20.  Setting MIDI input device  . . . . . . . . . . . . .  62         6.4.20. Setting MIDI input device . . . . . . . . . . . . . .  59
139         6.4.21.  Setting MIDI input type  . . . . . . . . . . . . . .  63         6.4.21. Setting MIDI input type . . . . . . . . . . . . . . .  60
140         6.4.22.  Setting MIDI input port  . . . . . . . . . . . . . .  64         6.4.22. Setting MIDI input port . . . . . . . . . . . . . . .  61
141         6.4.23.  Setting MIDI input channel . . . . . . . . . . . . .  65         6.4.23. Setting MIDI input channel  . . . . . . . . . . . . .  62
142         6.4.24.  Setting channel volume . . . . . . . . . . . . . . .  66         6.4.24. Setting channel volume  . . . . . . . . . . . . . . .  63
143         6.4.25.  Muting a sampler channel . . . . . . . . . . . . . .  66         6.4.25. Muting a sampler channel  . . . . . . . . . . . . . .  63
144         6.4.26.  Soloing a sampler channel  . . . . . . . . . . . . .  67         6.4.26. Soloing a sampler channel . . . . . . . . . . . . . .  64
145         6.4.27.  Assigning a MIDI instrument map to a sampler         6.4.27. Assigning a MIDI instrument map to a sampler channel   65
146                  channel  . . . . . . . . . . . . . . . . . . . . . .  68         6.4.28. Adding an effect send to a sampler channel  . . . . .  66
147         6.4.28.  Adding an effect send to a sampler channel . . . . .  69         6.4.29. Removing an effect send from a sampler channel  . . .  67
148         6.4.29.  Removing an effect send from a sampler channel . . .  70         6.4.30. Getting amount of effect sends on a sampler channel .  68
149         6.4.30.  Getting amount of effect sends on a sampler         6.4.31. Listing all effect sends on a sampler channel . . . .  68
150                  channel  . . . . . . . . . . . . . . . . . . . . . .  71         6.4.32. Getting effect send information . . . . . . . . . . .  69
151         6.4.31.  Listing all effect sends on a sampler channel  . . .  71         6.4.33. Changing effect send's name . . . . . . . . . . . . .  71
152         6.4.32.  Getting effect send information  . . . . . . . . . .  72         6.4.34. Altering effect send's audio routing  . . . . . . . .  71
153         6.4.33.  Changing effect send's name  . . . . . . . . . . . .  74         6.4.35. Assigning destination effect to an effect send  . . .  73
154         6.4.34.  Altering effect send's audio routing . . . . . . . .  75         6.4.36. Removing destination effect from an effect send . . .  74
155         6.4.35.  Assigning destination effect to an effect send . . .  76         6.4.37. Altering effect send's MIDI controller  . . . . . . .  74
156         6.4.36.  Removing destination effect from an effect send  . .  77         6.4.38. Altering effect send's send level . . . . . . . . . .  75
157         6.4.37.  Altering effect send's MIDI controller . . . . . . .  77         6.4.39. Sending MIDI messages to sampler channel  . . . . . .  76
158         6.4.38.  Altering effect send's send level  . . . . . . . . .  78         6.4.40. Resetting a sampler channel . . . . . . . . . . . . .  77
159         6.4.39.  Sending MIDI messages to sampler channel . . . . . .  79       6.5.  Controlling connection  . . . . . . . . . . . . . . . . .  78
160         6.4.40.  Resetting a sampler channel  . . . . . . . . . . . .  80         6.5.1.  Register front-end for receiving event messages . . .  78
161       6.5.  Controlling connection  . . . . . . . . . . . . . . . . .  81         6.5.2.  Unregister front-end for not receiving event messages  78
162         6.5.1.   Register front-end for receiving event messages  . .  81         6.5.3.  Enable or disable echo of commands  . . . . . . . . .  79
163         6.5.2.   Unregister front-end for not receiving event         6.5.4.  Close client connection . . . . . . . . . . . . . . .  80
164                  messages . . . . . . . . . . . . . . . . . . . . . .  81       6.6.  Global commands . . . . . . . . . . . . . . . . . . . . .  80
165         6.5.3.   Enable or disable echo of commands . . . . . . . . .  82  
166         6.5.4.   Close client connection  . . . . . . . . . . . . . .  83  
167       6.6.  Global commands . . . . . . . . . . . . . . . . . . . . .  83  
168    Schoenebeck            Expires September 12, 2019               [Page 3]
169    
170    Internet-Draft        LinuxSampler Control Protocol           March 2019
171  Schoenebeck             Expires January 16, 2016                [Page 3]  
172    
173  Internet-Draft        LinuxSampler Control Protocol            July 2015         6.6.1.  Current number of active voices . . . . . . . . . . .  80
174           6.6.2.  Maximum amount of active voices . . . . . . . . . . .  80
175           6.6.3.  Current number of active disk streams . . . . . . . .  80
176         6.6.1.   Current number of active voices  . . . . . . . . . .  83         6.6.4.  Reset sampler . . . . . . . . . . . . . . . . . . . .  81
177         6.6.2.   Maximum amount of active voices  . . . . . . . . . .  83         6.6.5.  General sampler information . . . . . . . . . . . . .  81
178         6.6.3.   Current number of active disk streams  . . . . . . .  83         6.6.6.  Getting global volume attenuation . . . . . . . . . .  82
179         6.6.4.   Reset sampler  . . . . . . . . . . . . . . . . . . .  84         6.6.7.  Setting global volume attenuation . . . . . . . . . .  83
180         6.6.5.   General sampler informations . . . . . . . . . . . .  84         6.6.8.  Getting global voice limit  . . . . . . . . . . . . .  83
181         6.6.6.   Getting global volume attenuation  . . . . . . . . .  85         6.6.9.  Setting global voice limit  . . . . . . . . . . . . .  84
182         6.6.7.   Setting global volume attenuation  . . . . . . . . .  86         6.6.10. Getting global disk stream limit  . . . . . . . . . .  84
183         6.6.8.   Getting global voice limit . . . . . . . . . . . . .  86         6.6.11. Setting global disk stream limit  . . . . . . . . . .  85
184         6.6.9.   Setting global voice limit . . . . . . . . . . . . .  87       6.7.  MIDI Instrument Mapping . . . . . . . . . . . . . . . . .  85
185         6.6.10.  Getting global disk stream limit . . . . . . . . . .  87         6.7.1.  Create a new MIDI instrument map  . . . . . . . . . .  86
186         6.6.11.  Setting global disk stream limit . . . . . . . . . .  88         6.7.2.  Delete one particular or all MIDI instrument maps . .  87
187       6.7.  MIDI Instrument Mapping . . . . . . . . . . . . . . . . .  88         6.7.3.  Get amount of existing MIDI instrument maps . . . . .  88
188         6.7.1.   Create a new MIDI instrument map . . . . . . . . . .  89         6.7.4.  Getting all created MIDI instrument maps  . . . . . .  88
189         6.7.2.   Delete one particular or all MIDI instrument maps  .  90         6.7.5.  Getting MIDI instrument map information . . . . . . .  88
190         6.7.3.   Get amount of existing MIDI instrument maps  . . . .  91         6.7.6.  Renaming a MIDI instrument map  . . . . . . . . . . .  89
191         6.7.4.   Getting all created MIDI instrument maps . . . . . .  91         6.7.7.  Create or replace a MIDI instrument map entry . . . .  90
192         6.7.5.   Getting MIDI instrument map information  . . . . . .  91         6.7.8.  Getting amount of MIDI instrument map entries . . . .  93
193         6.7.6.   Renaming a MIDI instrument map . . . . . . . . . . .  92         6.7.9.  Getting indeces of all entries of a MIDI instrument
194         6.7.7.   Create or replace a MIDI instrument map entry  . . .  93                 map . . . . . . . . . . . . . . . . . . . . . . . . .  93
195         6.7.8.   Getting amount of MIDI instrument map entries  . . .  96         6.7.10. Remove an entry from the MIDI instrument map  . . . .  94
196         6.7.9.   Getting indeces of all entries of a MIDI         6.7.11. Get current settings of MIDI instrument map entry . .  95
197                  instrument map . . . . . . . . . . . . . . . . . . .  96         6.7.12. Clear MIDI instrument map . . . . . . . . . . . . . .  96
198         6.7.10.  Remove an entry from the MIDI instrument map . . . .  97       6.8.  Managing Instruments Database . . . . . . . . . . . . . .  97
199         6.7.11.  Get current settings of MIDI instrument map entry  .  98         6.8.1.  Creating a new instrument directory . . . . . . . . .  97
200         6.7.12.  Clear MIDI instrument map  . . . . . . . . . . . . .  99         6.8.2.  Deleting an instrument directory  . . . . . . . . . .  98
201       6.8.  Managing Instruments Database . . . . . . . . . . . . . . 100         6.8.3.  Getting amount of instrument directories  . . . . . .  99
202         6.8.1.   Creating a new instrument directory  . . . . . . . . 100         6.8.4.  Listing all directories in specific directory . . . .  99
203         6.8.2.   Deleting an instrument directory . . . . . . . . . . 101         6.8.5.  Getting instrument directory information  . . . . . . 100
204         6.8.3.   Getting amount of instrument directories . . . . . . 102         6.8.6.  Renaming an instrument directory  . . . . . . . . . . 101
205         6.8.4.   Listing all directories in specific directory  . . . 102         6.8.7.  Moving an instrument directory  . . . . . . . . . . . 101
206         6.8.5.   Getting instrument directory information . . . . . . 103         6.8.8.  Copying instrument directories  . . . . . . . . . . . 102
207         6.8.6.   Renaming an instrument directory . . . . . . . . . . 104         6.8.9.  Changing the description of directory . . . . . . . . 103
208         6.8.7.   Moving an instrument directory . . . . . . . . . . . 104         6.8.10. Finding directories . . . . . . . . . . . . . . . . . 103
209         6.8.8.   Copying instrument directories . . . . . . . . . . . 105         6.8.11. Adding instruments to the instruments database  . . . 104
210         6.8.9.   Changing the description of directory  . . . . . . . 106         6.8.12. Removing an instrument  . . . . . . . . . . . . . . . 106
211         6.8.10.  Finding directories  . . . . . . . . . . . . . . . . 106         6.8.13. Getting amount of instruments . . . . . . . . . . . . 106
212         6.8.11.  Adding instruments to the instruments database . . . 108         6.8.14. Listing all instruments in specific directory . . . . 107
213         6.8.12.  Removing an instrument . . . . . . . . . . . . . . . 109         6.8.15. Getting instrument information  . . . . . . . . . . . 107
214         6.8.13.  Getting amount of instruments  . . . . . . . . . . . 110         6.8.16. Renaming an instrument  . . . . . . . . . . . . . . . 110
215         6.8.14.  Listing all instruments in specific directory  . . . 111         6.8.17. Moving an instrument  . . . . . . . . . . . . . . . . 110
216         6.8.15.  Getting instrument information . . . . . . . . . . . 111         6.8.18. Copying instruments . . . . . . . . . . . . . . . . . 111
217         6.8.16.  Renaming an instrument . . . . . . . . . . . . . . . 114         6.8.19. Changing the description of instrument  . . . . . . . 112
218         6.8.17.  Moving an instrument . . . . . . . . . . . . . . . . 114         6.8.20. Finding instruments . . . . . . . . . . . . . . . . . 112
219         6.8.18.  Copying instruments  . . . . . . . . . . . . . . . . 115         6.8.21. Getting job status information  . . . . . . . . . . . 113
220         6.8.19.  Changing the description of instrument . . . . . . . 115         6.8.22. Formatting the instruments database . . . . . . . . . 114
221         6.8.20.  Finding instruments  . . . . . . . . . . . . . . . . 116  
222         6.8.21.  Getting job status information . . . . . . . . . . . 118  
223         6.8.22.  Formatting the instruments database  . . . . . . . . 120  
224    Schoenebeck            Expires September 12, 2019               [Page 4]
225    
226    Internet-Draft        LinuxSampler Control Protocol           March 2019
227  Schoenebeck             Expires January 16, 2016                [Page 4]  
228    
229  Internet-Draft        LinuxSampler Control Protocol            July 2015         6.8.23. Checking for lost instrument files  . . . . . . . . . 115
230           6.8.24. Replacing an instrument file  . . . . . . . . . . . . 115
231         6.9.  Editing Instruments . . . . . . . . . . . . . . . . . . . 116
232         6.8.23.  Checking for lost instrument files . . . . . . . . . 120         6.9.1.  Opening an appropriate instrument editor application  116
233         6.8.24.  Replacing an instrument file . . . . . . . . . . . . 121       6.10. Managing Files  . . . . . . . . . . . . . . . . . . . . . 117
234       6.9.  Editing Instruments . . . . . . . . . . . . . . . . . . . 121         6.10.1.  Retrieving amount of instruments of a file . . . . . 117
235         6.9.1.   Opening an appropriate instrument editor         6.10.2.  Retrieving all instruments of a file . . . . . . . . 118
236                  application  . . . . . . . . . . . . . . . . . . . . 121         6.10.3.  Retrieving information about one instrument in a
237       6.10. Managing Files  . . . . . . . . . . . . . . . . . . . . . 122                  file . . . . . . . . . . . . . . . . . . . . . . . . 118
238         6.10.1.  Retrieving amount of instruments of a file . . . . . 123       6.11. Managing Effects  . . . . . . . . . . . . . . . . . . . . 120
239         6.10.2.  Retrieving all instruments of a file . . . . . . . . 123         6.11.1.  Retrieve amount of available effects . . . . . . . . 121
240         6.10.3.  Retrieving informations about one instrument in a         6.11.2.  Get list of available effects  . . . . . . . . . . . 121
241                  file . . . . . . . . . . . . . . . . . . . . . . . . 124         6.11.3.  Retrieving general information about an effect . . . 122
242       6.11. Managing Effects  . . . . . . . . . . . . . . . . . . . . 126         6.11.4.  Creating an instance of an effect by its portable ID 123
243         6.11.1.  Retrieve amount of available effects . . . . . . . . 126         6.11.5.  Creating an instance of an effect by its numerical
244         6.11.2.  Get list of available effects  . . . . . . . . . . . 127                  ID . . . . . . . . . . . . . . . . . . . . . . . . . 124
245         6.11.3.  Retrieving general information about an effect . . . 127         6.11.6.  Destroy an effect instance . . . . . . . . . . . . . 125
246         6.11.4.  Creating an instance of an effect by its portable         6.11.7.  Retrieve amount of effect instances  . . . . . . . . 126
247                  ID . . . . . . . . . . . . . . . . . . . . . . . . . 128         6.11.8.  Get list of effect instances . . . . . . . . . . . . 126
        6.11.5.  Creating an instance of an effect by its  
                 numerical ID . . . . . . . . . . . . . . . . . . . . 129  
        6.11.6.  Destroy an effect instance . . . . . . . . . . . . . 130  
        6.11.7.  Retrieve amount of effect instances  . . . . . . . . 131  
        6.11.8.  Get list of effect instances . . . . . . . . . . . . 131  
248         6.11.9.  Retrieving current information about an effect         6.11.9.  Retrieving current information about an effect
249                  instance . . . . . . . . . . . . . . . . . . . . . . 132                  instance . . . . . . . . . . . . . . . . . . . . . . 126
250         6.11.10. Retrieving information about an effect parameter . . 133         6.11.10. Retrieving information about an effect parameter . . 128
251         6.11.11. Altering an effect parameter . . . . . . . . . . . . 135         6.11.11. Altering an effect parameter . . . . . . . . . . . . 130
252         6.11.12. Retrieve amount of send effect chains  . . . . . . . 135         6.11.12. Retrieve amount of send effect chains  . . . . . . . 130
253         6.11.13. Retrieve list of send effect chains  . . . . . . . . 136         6.11.13. Retrieve list of send effect chains  . . . . . . . . 131
254         6.11.14. Add send effect chain  . . . . . . . . . . . . . . . 136         6.11.14. Add send effect chain  . . . . . . . . . . . . . . . 131
255         6.11.15. Remove send effect chain . . . . . . . . . . . . . . 137         6.11.15. Remove send effect chain . . . . . . . . . . . . . . 132
256         6.11.16. Retrieving information about a send effect chain . . 138         6.11.16. Retrieving information about a send effect chain . . 132
257         6.11.17. Append effect instance to a send effect chain  . . . 139         6.11.17. Append effect instance to a send effect chain  . . . 133
258         6.11.18. Insert effect instance to a send effect chain  . . . 139         6.11.18. Insert effect instance to a send effect chain  . . . 134
259         6.11.19. Remove effect instance from send effect chain  . . . 140         6.11.19. Remove effect instance from send effect chain  . . . 135
260     7.  Command Syntax  . . . . . . . . . . . . . . . . . . . . . . . 142     7.  Command Syntax  . . . . . . . . . . . . . . . . . . . . . . . 136
261       7.1.  Character Set and Escape Sequences  . . . . . . . . . . . 159       7.1.  Character Set and Escape Sequences  . . . . . . . . . . . 153
262     8.  Events  . . . . . . . . . . . . . . . . . . . . . . . . . . . 164     8.  Events  . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
263       8.1.  Number of audio output devices changed  . . . . . . . . . 164       8.1.  Number of audio output devices changed  . . . . . . . . . 157
264       8.2.  Audio output device's settings changed  . . . . . . . . . 164       8.2.  Audio output device's settings changed  . . . . . . . . . 157
265       8.3.  Number of MIDI input devices changed  . . . . . . . . . . 164       8.3.  Number of MIDI input devices changed  . . . . . . . . . . 157
266       8.4.  MIDI input device's settings changed  . . . . . . . . . . 165       8.4.  MIDI input device's settings changed  . . . . . . . . . . 158
267       8.5.  Number of sampler channels changed  . . . . . . . . . . . 165       8.5.  Number of sampler channels changed  . . . . . . . . . . . 158
268       8.6.  MIDI data on a sampler channel arrived  . . . . . . . . . 165       8.6.  MIDI data on a sampler channel arrived  . . . . . . . . . 158
269       8.7.  MIDI data on a MIDI input device arrived  . . . . . . . . 166       8.7.  MIDI data on a MIDI input device arrived  . . . . . . . . 159
270       8.8.  Number of active voices changed . . . . . . . . . . . . . 166       8.8.  Number of active voices changed . . . . . . . . . . . . . 159
271       8.9.  Number of active disk streams changed . . . . . . . . . . 167       8.9.  Number of active disk streams changed . . . . . . . . . . 160
272       8.10. Disk stream buffer fill state changed . . . . . . . . . . 167       8.10. Disk stream buffer fill state changed . . . . . . . . . . 160
273       8.11. Channel information changed . . . . . . . . . . . . . . . 167       8.11. Channel information changed . . . . . . . . . . . . . . . 160
274       8.12. Number of effect sends changed  . . . . . . . . . . . . . 168       8.12. Number of effect sends changed  . . . . . . . . . . . . . 161
275         8.13. Effect send information changed . . . . . . . . . . . . . 161
276         8.14. Total number of active voices changed . . . . . . . . . . 162
   
 Schoenebeck             Expires January 16, 2016                [Page 5]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
      8.13. Effect send information changed . . . . . . . . . . . . . 168  
      8.14. Total number of active voices changed . . . . . . . . . . 169  
      8.15. Total number of active disk streams changed . . . . . . . 169  
      8.16. Number of MIDI instrument maps changed  . . . . . . . . . 169  
      8.17. MIDI instrument map information changed . . . . . . . . . 169  
      8.18. Number of MIDI instruments changed  . . . . . . . . . . . 170  
      8.19. MIDI instrument information changed . . . . . . . . . . . 170  
      8.20. Global settings changed . . . . . . . . . . . . . . . . . 171  
      8.21. Number of database instrument directories changed . . . . 171  
      8.22. Database instrument directory information changed . . . . 171  
      8.23. Number of database instruments changed  . . . . . . . . . 172  
      8.24. Database instrument information changed . . . . . . . . . 172  
      8.25. Database job status information changed . . . . . . . . . 173  
      8.26. Number of effect instances changed  . . . . . . . . . . . 173  
      8.27. Effect instance information changed . . . . . . . . . . . 174  
      8.28. Number of send effect chains changed  . . . . . . . . . . 174  
      8.29. Send effect chain information changed . . . . . . . . . . 174  
      8.30. Miscellaneous and debugging events  . . . . . . . . . . . 175  
    9.  Security Considerations . . . . . . . . . . . . . . . . . . . 176  
    10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 177  
    11. References  . . . . . . . . . . . . . . . . . . . . . . . . . 178  
    Author's Address  . . . . . . . . . . . . . . . . . . . . . . . . 179  
    Intellectual Property and Copyright Statements  . . . . . . . . . 180  
   
   
   
   
   
   
   
   
   
   
   
277    
278    
279    
280    Schoenebeck            Expires September 12, 2019               [Page 5]
281    
282    Internet-Draft        LinuxSampler Control Protocol           March 2019
283    
284    
285         8.15. Total number of active disk streams changed . . . . . . . 162
286         8.16. Number of MIDI instrument maps changed  . . . . . . . . . 162
287         8.17. MIDI instrument map information changed . . . . . . . . . 162
288         8.18. Number of MIDI instruments changed  . . . . . . . . . . . 163
289         8.19. MIDI instrument information changed . . . . . . . . . . . 163
290         8.20. Global settings changed . . . . . . . . . . . . . . . . . 164
291         8.21. Number of database instrument directories changed . . . . 164
292         8.22. Database instrument directory information changed . . . . 165
293         8.23. Number of database instruments changed  . . . . . . . . . 165
294  Schoenebeck             Expires January 16, 2016                [Page 6]       8.24. Database instrument information changed . . . . . . . . . 166
295         8.25. Database job status information changed . . . . . . . . . 166
296  Internet-Draft        LinuxSampler Control Protocol            July 2015       8.26. Number of effect instances changed  . . . . . . . . . . . 167
297         8.27. Effect instance information changed . . . . . . . . . . . 167
298         8.28. Number of send effect chains changed  . . . . . . . . . . 167
299         8.29. Send effect chain information changed . . . . . . . . . . 168
300         8.30. Miscellaneous and debugging events  . . . . . . . . . . . 168
301       9.  Security Considerations . . . . . . . . . . . . . . . . . . . 168
302       10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 168
303       11. References  . . . . . . . . . . . . . . . . . . . . . . . . . 169
304       Author's Address  . . . . . . . . . . . . . . . . . . . . . . . . 169
305    
306  1.  Requirements notation  1.  Requirements notation
307    
# Line 354  Internet-Draft        LinuxSampler Contr Line 320  Internet-Draft        LinuxSampler Contr
320    
321        C: "some line"        C: "some line"
322    
323           "another line"        "another line"
324    
325     must actually be interpreted as client sending the following message:     must actually be interpreted as client sending the following message:
326    
# Line 363  Internet-Draft        LinuxSampler Contr Line 329  Internet-Draft        LinuxSampler Contr
329     where <CR> symbolizes the carriage return character and <LF> the line     where <CR> symbolizes the carriage return character and <LF> the line
330     feed character as defined in the ASCII standard.     feed character as defined in the ASCII standard.
331    
332    
333    
334    
335    
336    Schoenebeck            Expires September 12, 2019               [Page 6]
337    
338    Internet-Draft        LinuxSampler Control Protocol           March 2019
339    
340    
341     Due to technical reasons, messages can arbitrary be fragmented, means     Due to technical reasons, messages can arbitrary be fragmented, means
342     the following example:     the following example:
343    
# Line 384  Internet-Draft        LinuxSampler Contr Line 359  Internet-Draft        LinuxSampler Contr
359     where again <CR> and <LF> symbolize the carriage return and line feed     where again <CR> and <LF> symbolize the carriage return and line feed
360     characters respectively.     characters respectively.
361    
   
   
   
   
 Schoenebeck             Expires January 16, 2016                [Page 7]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
362  2.  Versioning of this specification  2.  Versioning of this specification
363    
364     LSCP will certainly be extended and enhanced by-and-by.  Each     LSCP will certainly be extended and enhanced by-and-by.  Each
# Line 418  Internet-Draft        LinuxSampler Contr Line 384  Internet-Draft        LinuxSampler Contr
384     2.  The frontend's LSCP minor version is less or equal than the     2.  The frontend's LSCP minor version is less or equal than the
385         sampler's LSCP minor version.         sampler's LSCP minor version.
386    
    Compatibility can only be claimed if both rules are true.  The  
    frontend can use the "GET SERVER INFO" (Section 6.6.5) command to get  
    the version of the LSCP specification the sampler complies with.  
   
   
   
   
   
   
   
   
   
   
   
387    
388    
389    
390    
391    
392    Schoenebeck            Expires September 12, 2019               [Page 7]
   
   
   
   
   
   
 Schoenebeck             Expires January 16, 2016                [Page 8]  
393    
394  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
395    
396    
397       Compatibility can only be claimed if both rules are true.  The
398       frontend can use the "GET SERVER INFO" (Section 6.6.5) command to get
399       the version of the LSCP specification the sampler complies with.
400    
401  3.  Introduction  3.  Introduction
402    
403     LinuxSampler is a so called software sampler application capable to     LinuxSampler is a so called software sampler application capable to
# Line 459  Internet-Draft        LinuxSampler Contr Line 408  Internet-Draft        LinuxSampler Contr
408     virtual channels which will be referred in this document as "sampler     virtual channels which will be referred in this document as "sampler
409     channels".  The channels are in such way virtual as they can be     channels".  The channels are in such way virtual as they can be
410     connected to an arbitrary MIDI input method and arbitrary MIDI     connected to an arbitrary MIDI input method and arbitrary MIDI
411     channel (e.g. sampler channel 17 could be connected to an ALSA     channel (e.g.  sampler channel 17 could be connected to an ALSA
412     sequencer device 64:0 and listening to MIDI channel 1 there).  Each     sequencer device 64:0 and listening to MIDI channel 1 there).  Each
413     sampler channel will be associated with an instance of one of the     sampler channel will be associated with an instance of one of the
414     available sampler engines (e.g.  GigEngine, DLSEngine).  The audio     available sampler engines (e.g.  GigEngine, DLSEngine).  The audio
# Line 467  Internet-Draft        LinuxSampler Contr Line 416  Internet-Draft        LinuxSampler Contr
416     output method (ALSA / JACK) and an arbitrary audio output channel     output method (ALSA / JACK) and an arbitrary audio output channel
417     there.     there.
418    
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
 Schoenebeck             Expires January 16, 2016                [Page 9]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
419  4.  Focus of this protocol  4.  Focus of this protocol
420    
421     Main focus of this protocol is to provide a way to configure a     Main focus of this protocol is to provide a way to configure a
# Line 515  Internet-Draft        LinuxSampler Contr Line 426  Internet-Draft        LinuxSampler Contr
426     covered by MIDI or which may at most be handled via MIDI System     covered by MIDI or which may at most be handled via MIDI System
427     Exclusive Messages.     Exclusive Messages.
428    
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 10]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
429  5.  Communication Overview  5.  Communication Overview
430    
431     There are two distinct methods of communication between a running     There are two distinct methods of communication between a running
# Line 573  Internet-Draft        LinuxSampler Contr Line 438  Internet-Draft        LinuxSampler Contr
438     more effort to be implemented in the front-end application.  The two     more effort to be implemented in the front-end application.  The two
439     communication methods will be described next.     communication methods will be described next.
440    
441    
442    
443    
444    
445    
446    
447    
448    Schoenebeck            Expires September 12, 2019               [Page 8]
449    
450    Internet-Draft        LinuxSampler Control Protocol           March 2019
451    
452    
453  5.1.  Request/response communication method  5.1.  Request/response communication method
454    
455     This simple communication method is based on TCP [RFC793].  The     This simple communication method is based on TCP [RFC793].  The
# Line 610  Internet-Draft        LinuxSampler Contr Line 487  Internet-Draft        LinuxSampler Contr
487     server they MUST be processed in the order they were received and     server they MUST be processed in the order they were received and
488     result sets MUST be sent back in the same order.     result sets MUST be sent back in the same order.
489    
   
   
 Schoenebeck             Expires January 16, 2016               [Page 11]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
490  5.1.1.  Result format  5.1.1.  Result format
491    
492     Result set could be one of the following types:     Result set could be one of the following types:
# Line 627  Internet-Draft        LinuxSampler Contr Line 497  Internet-Draft        LinuxSampler Contr
497    
498     3.  Error     3.  Error
499    
500    
501    
502    
503    
504    Schoenebeck            Expires September 12, 2019               [Page 9]
505    
506    Internet-Draft        LinuxSampler Control Protocol           March 2019
507    
508    
509     Warning and Error result sets MUST be single line and have the     Warning and Error result sets MUST be single line and have the
510     following format:     following format:
511    
# Line 665  Internet-Draft        LinuxSampler Contr Line 544  Internet-Draft        LinuxSampler Contr
544     Empty result set is issued when the server only needed to acknowledge     Empty result set is issued when the server only needed to acknowledge
545     the fact that the request was received and it was processed     the fact that the request was received and it was processed
546     successfully and no additional information is available.  This result     successfully and no additional information is available.  This result
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 12]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
547     set has the following format:     set has the following format:
548    
549        "OK"        "OK"
# Line 683  Internet-Draft        LinuxSampler Contr Line 554  Internet-Draft        LinuxSampler Contr
554    
555        S: "OK"        S: "OK"
556    
557    
558    
559    
560    Schoenebeck            Expires September 12, 2019              [Page 10]
561    
562    Internet-Draft        LinuxSampler Control Protocol           March 2019
563    
564    
565     Single line result sets are command specific.  One example of a     Single line result sets are command specific.  One example of a
566     single line result set is an empty line.  Multi-line result sets are     single line result set is an empty line.  Multi-line result sets are
567     command specific and may include one or more lines of information.     command specific and may include one or more lines of information.
# Line 696  Internet-Draft        LinuxSampler Contr Line 575  Internet-Draft        LinuxSampler Contr
575    
576        S: "DRIVER: ALSA"        S: "DRIVER: ALSA"
577    
578           "CHANNELS: 2"        "CHANNELS: 2"
579    
580           "SAMPLERATE: 44100"        "SAMPLERATE: 44100"
581    
582           "ACTIVE: true"        "ACTIVE: true"
583    
584           "FRAGMENTS: 2"        "FRAGMENTS: 2"
585    
586           "FRAGMENTSIZE: 128"        "FRAGMENTSIZE: 128"
587    
588           "CARD: '0,0'"        "CARD: '0,0'"
589    
590           "."        "."
591    
592     In addition to above mentioned formats, warnings and empty result     In addition to above mentioned formats, warnings and empty result
593     sets MAY be indexed.  In this case, they have the following formats     sets MAY be indexed.  In this case, they have the following formats
# Line 721  Internet-Draft        LinuxSampler Contr Line 600  Internet-Draft        LinuxSampler Contr
600     where <index> is command specific and is used to indicate channel     where <index> is command specific and is used to indicate channel
601     number that the result set was related to or other integer value.     number that the result set was related to or other integer value.
602    
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 13]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
603     Each line of the result set MUST end with <CRLF>.     Each line of the result set MUST end with <CRLF>.
604    
605     Examples:     Examples:
# Line 739  Internet-Draft        LinuxSampler Contr Line 610  Internet-Draft        LinuxSampler Contr
610    
611        C: "CREATE AUDIO_OUTPUT_DEVICE ALSA SAMPLERATE=96000"        C: "CREATE AUDIO_OUTPUT_DEVICE ALSA SAMPLERATE=96000"
612    
613    
614    
615    
616    Schoenebeck            Expires September 12, 2019              [Page 11]
617    
618    Internet-Draft        LinuxSampler Control Protocol           March 2019
619    
620    
621        S: "WRN[0]:32:Sample rate not supported, using 44100 instead."        S: "WRN[0]:32:Sample rate not supported, using 44100 instead."
622    
623  5.2.  Subscribe/notify communication method  5.2.  Subscribe/notify communication method
# Line 777  Internet-Draft        LinuxSampler Contr Line 656  Internet-Draft        LinuxSampler Contr
656     3.  When response is being sent to the client, event MUST be inserted     3.  When response is being sent to the client, event MUST be inserted
657         in the stream before or after the response, but NOT in the         in the stream before or after the response, but NOT in the
658         middle.  Same is true about the response.  It should never be         middle.  Same is true about the response.  It should never be
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 14]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
659         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
660         response.         response.
661    
# Line 793  Internet-Draft        LinuxSampler Contr Line 664  Internet-Draft        LinuxSampler Contr
664    
665        UNSUBSCRIBE <event-id>        UNSUBSCRIBE <event-id>
666    
667    
668    
669    
670    
671    
672    Schoenebeck            Expires September 12, 2019              [Page 12]
673    
674    Internet-Draft        LinuxSampler Control Protocol           March 2019
675    
676    
677     where <event-id> will be replace by the respective event that client     where <event-id> will be replace by the respective event that client
678     is no longer interested in receiving.  For a list of supported events     is no longer interested in receiving.  For a list of supported events
679     see Section 8.     see Section 8.
# Line 830  Internet-Draft        LinuxSampler Contr Line 711  Internet-Draft        LinuxSampler Contr
711     reconnects it MUST resubscribe to all events that it wants to     reconnects it MUST resubscribe to all events that it wants to
712     receive.     receive.
713    
   
   
   
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 15]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
714  6.  Description for control commands  6.  Description for control commands
715    
716     This chapter will describe the available control commands that can be     This chapter will describe the available control commands that can be
# Line 850  Internet-Draft        LinuxSampler Contr Line 720  Internet-Draft        LinuxSampler Contr
720     LinuxSampler signals the end of the response by a "." (single dot)     LinuxSampler signals the end of the response by a "." (single dot)
721     line.     line.
722    
723    
724    
725    
726    
727    
728    Schoenebeck            Expires September 12, 2019              [Page 13]
729    
730    Internet-Draft        LinuxSampler Control Protocol           March 2019
731    
732    
733  6.1.  Ignored lines and comments  6.1.  Ignored lines and comments
734    
735     White lines, that is lines which only contain space and tabulator     White lines, that is lines which only contain space and tabulator
# Line 886  Internet-Draft        LinuxSampler Contr Line 766  Internet-Draft        LinuxSampler Contr
766     retrieve what parameters drivers are offering, how to retrieve their     retrieve what parameters drivers are offering, how to retrieve their
767     possible values, etc.     possible values, etc.
768    
   
   
   
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 16]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
769  6.2.1.  Getting amount of available audio output drivers  6.2.1.  Getting amount of available audio output drivers
770    
771     Use the following command to get the number of audio output drivers     Use the following command to get the number of audio output drivers
# Line 909  Internet-Draft        LinuxSampler Contr Line 778  Internet-Draft        LinuxSampler Contr
778        LinuxSampler will answer by sending the number of audio output        LinuxSampler will answer by sending the number of audio output
779        drivers.        drivers.
780    
781    
782    
783    
784    Schoenebeck            Expires September 12, 2019              [Page 14]
785    
786    Internet-Draft        LinuxSampler Control Protocol           March 2019
787    
788    
789     Example:     Example:
790    
791        C: "GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"        C: "GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"
# Line 946  Internet-Draft        LinuxSampler Contr Line 823  Internet-Draft        LinuxSampler Contr
823    
824     Possible Answers:     Possible Answers:
825    
   
   
 Schoenebeck             Expires January 16, 2016               [Page 17]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
826        LinuxSampler will answer by sending a <CRLF> separated list.  Each        LinuxSampler will answer by sending a <CRLF> separated list.  Each
827        answer line begins with the information category name followed by        answer line begins with the information category name followed by
828        a colon and then a space character <SP> and finally the info        a colon and then a space character <SP> and finally the info
# Line 965  Internet-Draft        LinuxSampler Contr Line 835  Internet-Draft        LinuxSampler Contr
835    
836              character string describing the audio output driver              character string describing the audio output driver
837    
838    
839    
840    Schoenebeck            Expires September 12, 2019              [Page 15]
841    
842    Internet-Draft        LinuxSampler Control Protocol           March 2019
843    
844    
845           VERSION -           VERSION -
846    
847              character string reflecting the driver's version              character string reflecting the driver's version
# Line 984  Internet-Draft        LinuxSampler Contr Line 861  Internet-Draft        LinuxSampler Contr
861    
862        S: "DESCRIPTION: Advanced Linux Sound Architecture"        S: "DESCRIPTION: Advanced Linux Sound Architecture"
863    
864           "VERSION: 1.0"        "VERSION: 1.0"
865    
866           "PARAMETERS: DRIVER,CHANNELS,SAMPLERATE,ACTIVE,FRAGMENTS,        "PARAMETERS: DRIVER,CHANNELS,SAMPLERATE,ACTIVE,FRAGMENTS,
867        FRAGMENTSIZE,CARD"        FRAGMENTSIZE,CARD"
868    
869           "."        "."
870    
871  6.2.4.  Getting information about specific audio output driver parameter  6.2.4.  Getting information about specific audio output driver parameter
872    
# Line 1001  Internet-Draft        LinuxSampler Contr Line 878  Internet-Draft        LinuxSampler Contr
878     Where <audio> is the name of the audio output driver as returned by     Where <audio> is the name of the audio output driver as returned by
879     the "LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS" (Section 6.2.2) command,     the "LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS" (Section 6.2.2) command,
880     <prm> a specific parameter name for which information should be     <prm> a specific parameter name for which information should be
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 18]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
881     obtained (as returned by the "GET AUDIO_OUTPUT_DRIVER INFO"     obtained (as returned by the "GET AUDIO_OUTPUT_DRIVER INFO"
882     (Section 6.2.3) command) and <deplist> is an optional list of     (Section 6.2.3) command) and <deplist> is an optional list of
883     parameters on which the sought parameter <prm> depends on, <deplist>     parameters on which the sought parameter <prm> depends on, <deplist>
# Line 1021  Internet-Draft        LinuxSampler Contr Line 890  Internet-Draft        LinuxSampler Contr
890    
891     Possible Answers:     Possible Answers:
892    
893    
894    
895    
896    Schoenebeck            Expires September 12, 2019              [Page 16]
897    
898    Internet-Draft        LinuxSampler Control Protocol           March 2019
899    
900    
901        LinuxSampler will answer by sending a <CRLF> separated list.  Each        LinuxSampler will answer by sending a <CRLF> separated list.  Each
902        answer line begins with the information category name followed by        answer line begins with the information category name followed by
903        a colon and then a space character <SP> and finally the info        a colon and then a space character <SP> and finally the info
# Line 1056  Internet-Draft        LinuxSampler Contr Line 933  Internet-Draft        LinuxSampler Contr
933           AUDIO_OUTPUT_DEVICE' (Section 6.2.5) command (always returned,           AUDIO_OUTPUT_DEVICE' (Section 6.2.5) command (always returned,
934           no matter which driver parameter)           no matter which driver parameter)
935    
   
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 19]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
936        MULTIPLICITY -        MULTIPLICITY -
937    
938           either true or false, defines if this parameter allows only one           either true or false, defines if this parameter allows only one
# Line 1078  Internet-Draft        LinuxSampler Contr Line 946  Internet-Draft        LinuxSampler Contr
946           means the values for fields 'DEFAULT', 'RANGE_MIN', 'RANGE_MAX'           means the values for fields 'DEFAULT', 'RANGE_MIN', 'RANGE_MAX'
947           and 'POSSIBILITIES' might depend on these listed parameters,           and 'POSSIBILITIES' might depend on these listed parameters,
948           for example assuming that an audio driver (like the ALSA           for example assuming that an audio driver (like the ALSA
949    
950    
951    
952    Schoenebeck            Expires September 12, 2019              [Page 17]
953    
954    Internet-Draft        LinuxSampler Control Protocol           March 2019
955    
956    
957           driver) offers parameters 'card' and 'samplerate' then           driver) offers parameters 'card' and 'samplerate' then
958           parameter 'samplerate' would depend on 'card' because the           parameter 'samplerate' would depend on 'card' because the
959           possible values for 'samplerate' depends on the sound card           possible values for 'samplerate' depends on the sound card
# Line 1113  Internet-Draft        LinuxSampler Contr Line 989  Internet-Draft        LinuxSampler Contr
989    
990           comma separated list of possible values for this parameter,           comma separated list of possible values for this parameter,
991           character strings are encapsulated into apostrophes (optionally           character strings are encapsulated into apostrophes (optionally
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 20]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
992           returned, dependent to driver parameter)           returned, dependent to driver parameter)
993    
994     The mentioned fields above don't have to be in particular order.     The mentioned fields above don't have to be in particular order.
# Line 1131  Internet-Draft        LinuxSampler Contr Line 999  Internet-Draft        LinuxSampler Contr
999    
1000        S: "DESCRIPTION: sound card to be used"        S: "DESCRIPTION: sound card to be used"
1001    
1002           "TYPE: STRING"        "TYPE: STRING"
1003    
1004          "MANDATORY: false"
1005    
          "MANDATORY: false"  
1006    
          "FIX: true"  
1007    
1008           "MULTIPLICITY: false"  Schoenebeck            Expires September 12, 2019              [Page 18]
1009    
1010    Internet-Draft        LinuxSampler Control Protocol           March 2019
1011    
1012    
1013           "DEFAULT: '0,0'"        "FIX: true"
1014    
1015           "POSSIBILITIES: '0,0','1,0','2,0'"        "MULTIPLICITY: false"
1016    
1017           "."        "DEFAULT: '0,0'"
1018    
1019          "POSSIBILITIES: '0,0','1,0','2,0'"
1020    
1021          "."
1022    
1023        C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA SAMPLERATE"        C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA SAMPLERATE"
1024    
1025        S: "DESCRIPTION: output sample rate in Hz"        S: "DESCRIPTION: output sample rate in Hz"
1026    
1027           "TYPE: INT"        "TYPE: INT"
1028    
1029           "MANDATORY: false"        "MANDATORY: false"
1030    
1031           "FIX: false"        "FIX: false"
1032    
1033           "MULTIPLICITY: false"        "MULTIPLICITY: false"
1034    
1035           "DEPENDS: card"        "DEPENDS: card"
1036    
1037           "DEFAULT: 44100"        "DEFAULT: 44100"
1038    
1039           "."        "."
1040    
1041        C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA SAMPLERATE        C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA SAMPLERATE
1042        CARD='0,0'"        CARD='0,0'"
1043    
1044        S: "DESCRIPTION: output sample rate in Hz"        S: "DESCRIPTION: output sample rate in Hz"
1045    
1046          "TYPE: INT"
1047    
1048          "MANDATORY: false"
1049    
1050          "FIX: false"
1051    
1052          "MULTIPLICITY: false"
1053    
1054  Schoenebeck             Expires January 16, 2016               [Page 21]        "DEPENDS: card"
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
          "TYPE: INT"  
1055    
1056           "MANDATORY: false"        "DEFAULT: 44100"
1057    
1058           "FIX: false"        "RANGE_MIN: 22050"
1059    
1060           "MULTIPLICITY: false"        "RANGE_MAX: 96000"
1061    
          "DEPENDS: card"  
1062    
          "DEFAULT: 44100"  
1063    
1064           "RANGE_MIN: 22050"  Schoenebeck            Expires September 12, 2019              [Page 19]
1065    
1066    Internet-Draft        LinuxSampler Control Protocol           March 2019
1067    
          "RANGE_MAX: 96000"  
1068    
1069           "."        "."
1070    
1071  6.2.5.  Creating an audio output device  6.2.5.  Creating an audio output device
1072    
# Line 1225  Internet-Draft        LinuxSampler Contr Line 1098  Internet-Draft        LinuxSampler Contr
1098           is the numerical ID of the new device, but there are noteworthy           is the numerical ID of the new device, but there are noteworthy
1099           issue(s) related (e.g. sound card doesn't support given           issue(s) related (e.g. sound card doesn't support given
1100           hardware parameters and the driver is using fall-back values),           hardware parameters and the driver is using fall-back values),
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 22]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
1101           providing an appropriate warning code and warning message           providing an appropriate warning code and warning message
1102    
1103        "ERR:<error-code>:<error-message>" -        "ERR:<error-code>:<error-message>" -
# Line 1250  Internet-Draft        LinuxSampler Contr Line 1115  Internet-Draft        LinuxSampler Contr
1115    
1116        S: "OK[1]"        S: "OK[1]"
1117    
1118    
1119    
1120    Schoenebeck            Expires September 12, 2019              [Page 20]
1121    
1122    Internet-Draft        LinuxSampler Control Protocol           March 2019
1123    
1124    
1125  6.2.6.  Destroying an audio output device  6.2.6.  Destroying an audio output device
1126    
1127     Use the following command to destroy a created output device:     Use the following command to destroy a created output device:
# Line 1282  Internet-Draft        LinuxSampler Contr Line 1154  Internet-Draft        LinuxSampler Contr
1154    
1155     Example:     Example:
1156    
   
   
 Schoenebeck             Expires January 16, 2016               [Page 23]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
1157        C: "DESTROY AUDIO_OUTPUT_DEVICE 0"        C: "DESTROY AUDIO_OUTPUT_DEVICE 0"
1158    
1159        S: "OK"        S: "OK"
# Line 1306  Internet-Draft        LinuxSampler Contr Line 1171  Internet-Draft        LinuxSampler Contr
1171    
1172     Example:     Example:
1173    
1174    
1175    
1176    Schoenebeck            Expires September 12, 2019              [Page 21]
1177    
1178    Internet-Draft        LinuxSampler Control Protocol           March 2019
1179    
1180    
1181        C: "GET AUDIO_OUTPUT_DEVICES"        C: "GET AUDIO_OUTPUT_DEVICES"
1182    
1183        S: "4"        S: "4"
# Line 1338  Internet-Draft        LinuxSampler Contr Line 1210  Internet-Draft        LinuxSampler Contr
1210     output device as e.g. returned by the "LIST AUDIO_OUTPUT_DEVICES"     output device as e.g. returned by the "LIST AUDIO_OUTPUT_DEVICES"
1211     (Section 6.2.8) command.     (Section 6.2.8) command.
1212    
   
   
 Schoenebeck             Expires January 16, 2016               [Page 24]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
1213     Possible Answers:     Possible Answers:
1214    
1215     LinuxSampler will answer by sending a <CRLF> separated list.  Each     LinuxSampler will answer by sending a <CRLF> separated list.  Each
# Line 1361  Internet-Draft        LinuxSampler Contr Line 1226  Internet-Draft        LinuxSampler Contr
1226           the "LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS" (Section 6.2.2)           the "LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS" (Section 6.2.2)
1227           command           command
1228    
1229    
1230    
1231    
1232    Schoenebeck            Expires September 12, 2019              [Page 22]
1233    
1234    Internet-Draft        LinuxSampler Control Protocol           March 2019
1235    
1236    
1237        CHANNELS -        CHANNELS -
1238    
1239           amount of audio output channels this device currently offers           amount of audio output channels this device currently offers
# Line 1387  Internet-Draft        LinuxSampler Contr Line 1260  Internet-Draft        LinuxSampler Contr
1260    
1261        S: "DRIVER: ALSA"        S: "DRIVER: ALSA"
1262    
1263           "CHANNELS: 2"        "CHANNELS: 2"
1264    
1265           "SAMPLERATE: 44100"        "SAMPLERATE: 44100"
1266    
1267           "ACTIVE: true"        "ACTIVE: true"
1268    
1269          "FRAGMENTS: 2"
1270    
1271          "FRAGMENTSIZE: 128"
1272    
1273          "CARD: '0,0'"
1274    
1275  Schoenebeck             Expires January 16, 2016               [Page 25]        "."
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
1276    
1277    6.2.10.  Changing settings of audio output devices
1278    
1279       Use the following command to alter a specific setting of a created
1280       audio output device:
1281    
1282           "FRAGMENTS: 2"        SET AUDIO_OUTPUT_DEVICE_PARAMETER <device-id> <key>=<value>
1283    
          "FRAGMENTSIZE: 128"  
1284    
          "CARD: '0,0'"  
1285    
          "."  
1286    
 6.2.10.  Changing settings of audio output devices  
1287    
1288     Use the following command to alter a specific setting of a created  Schoenebeck            Expires September 12, 2019              [Page 23]
1289     audio output device:  
1290    Internet-Draft        LinuxSampler Control Protocol           March 2019
1291    
       SET AUDIO_OUTPUT_DEVICE_PARAMETER <device-id> <key>=<value>  
1292    
1293     Where <device-id> should be replaced by the numerical ID of the audio     Where <device-id> should be replaced by the numerical ID of the audio
1294     output device as given by the "CREATE AUDIO_OUTPUT_DEVICE"     output device as given by the "CREATE AUDIO_OUTPUT_DEVICE"
# Line 1445  Internet-Draft        LinuxSampler Contr Line 1319  Internet-Draft        LinuxSampler Contr
1319    
1320        S: "OK"        S: "OK"
1321    
   
   
   
   
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 26]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
1322  6.2.11.  Getting information about an audio channel  6.2.11.  Getting information about an audio channel
1323    
1324     Use the following command to get information about an audio channel:     Use the following command to get information about an audio channel:
# Line 1478  Internet-Draft        LinuxSampler Contr Line 1340  Internet-Draft        LinuxSampler Contr
1340    
1341    
1342    
1343    
1344    Schoenebeck            Expires September 12, 2019              [Page 24]
1345    
1346    Internet-Draft        LinuxSampler Control Protocol           March 2019
1347    
1348    
1349           NAME -           NAME -
1350    
1351              arbitrary character string naming the channel, which doesn't              arbitrary character string naming the channel, which doesn't
# Line 1506  Internet-Draft        LinuxSampler Contr Line 1374  Internet-Draft        LinuxSampler Contr
1374     driver.  Every audio channel might have its own, additional driver     driver.  Every audio channel might have its own, additional driver
1375     and channel specific parameters.     and channel specific parameters.
1376    
   
   
 Schoenebeck             Expires January 16, 2016               [Page 27]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
1377     Examples:     Examples:
1378    
1379        C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 0"        C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 0"
1380    
1381        S: "NAME: studio monitor left"        S: "NAME: studio monitor left"
1382    
1383           "IS_MIX_CHANNEL: false"        "IS_MIX_CHANNEL: false"
1384    
1385           "."        "."
1386    
1387        C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 1"        C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 1"
1388    
1389        S: "NAME: studio monitor right"        S: "NAME: studio monitor right"
1390    
1391           "IS_MIX_CHANNEL: false"        "IS_MIX_CHANNEL: false"
1392    
1393           "."        "."
1394    
1395        C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 2"        C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 2"
1396    
1397    
1398    
1399    
1400    Schoenebeck            Expires September 12, 2019              [Page 25]
1401    
1402    Internet-Draft        LinuxSampler Control Protocol           March 2019
1403    
1404    
1405        S: "NAME: studio monitor left"        S: "NAME: studio monitor left"
1406    
1407           "IS_MIX_CHANNEL: true"        "IS_MIX_CHANNEL: true"
1408    
1409           "MIX_CHANNEL_DESTINATION: 1"        "MIX_CHANNEL_DESTINATION: 1"
1410    
1411           "."        "."
1412    
1413        C: "GET AUDIO_OUTPUT_CHANNEL INFO 1 0"        C: "GET AUDIO_OUTPUT_CHANNEL INFO 1 0"
1414    
1415        S: "NAME: 'ardour (left)'"        S: "NAME: 'ardour (left)'"
1416    
1417           "IS_MIX_CHANNEL: false"        "IS_MIX_CHANNEL: false"
1418    
1419           "JACK_BINDINGS: 'ardour:0'"        "JACK_BINDINGS: 'ardour:0'"
1420    
1421           "."        "."
1422    
1423  6.2.12.  Getting information about specific audio channel parameter  6.2.12.  Getting information about specific audio channel parameter
1424    
# Line 1561  Internet-Draft        LinuxSampler Contr Line 1430  Internet-Draft        LinuxSampler Contr
1430     Where <dev-id> is the numerical ID of the audio output device as     Where <dev-id> is the numerical ID of the audio output device as
1431     returned by the "CREATE AUDIO_OUTPUT_DEVICE" (Section 6.2.5) or "LIST     returned by the "CREATE AUDIO_OUTPUT_DEVICE" (Section 6.2.5) or "LIST
1432     AUDIO_OUTPUT_DEVICES" (Section 6.2.8) command, <chan> the audio     AUDIO_OUTPUT_DEVICES" (Section 6.2.8) command, <chan> the audio
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 28]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
1433     channel number and <param> a specific channel parameter name for     channel number and <param> a specific channel parameter name for
1434     which information should be obtained (as returned by the "GET     which information should be obtained (as returned by the "GET
1435     AUDIO_OUTPUT_CHANNEL INFO" (Section 6.2.11) command).     AUDIO_OUTPUT_CHANNEL INFO" (Section 6.2.11) command).
# Line 1588  Internet-Draft        LinuxSampler Contr Line 1449  Internet-Draft        LinuxSampler Contr
1449    
1450           TYPE -           TYPE -
1451    
1452    
1453    
1454    
1455    
1456    Schoenebeck            Expires September 12, 2019              [Page 26]
1457    
1458    Internet-Draft        LinuxSampler Control Protocol           March 2019
1459    
1460    
1461              either "BOOL" for boolean value(s) or "INT" for integer              either "BOOL" for boolean value(s) or "INT" for integer
1462              value(s) or "FLOAT" for dotted number(s) or "STRING" for              value(s) or "FLOAT" for dotted number(s) or "STRING" for
1463              character string(s) (always returned)              character string(s) (always returned)
# Line 1617  Internet-Draft        LinuxSampler Contr Line 1487  Internet-Draft        LinuxSampler Contr
1487              may also appear without (optionally returned, dependent to              may also appear without (optionally returned, dependent to
1488              driver and channel parameter)              driver and channel parameter)
1489    
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 29]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
1490           RANGE_MAX -           RANGE_MAX -
1491    
1492              defines upper limit of the allowed value range for this              defines upper limit of the allowed value range for this
# Line 1644  Internet-Draft        LinuxSampler Contr Line 1506  Internet-Draft        LinuxSampler Contr
1506    
1507     Example:     Example:
1508    
1509    
1510    
1511    
1512    Schoenebeck            Expires September 12, 2019              [Page 27]
1513    
1514    Internet-Draft        LinuxSampler Control Protocol           March 2019
1515    
1516    
1517        C: "GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO 1 0 JACK_BINDINGS"        C: "GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO 1 0 JACK_BINDINGS"
1518    
1519        S: "DESCRIPTION: bindings to other JACK clients"        S: "DESCRIPTION: bindings to other JACK clients"
1520    
1521           "TYPE: STRING"        "TYPE: STRING"
1522    
1523           "FIX: false"        "FIX: false"
1524    
1525           "MULTIPLICITY: true"        "MULTIPLICITY: true"
1526    
1527           "POSSIBILITIES: 'PCM:0','PCM:1','ardour:0','ardour:1'"        "POSSIBILITIES: 'PCM:0','PCM:1','ardour:0','ardour:1'"
1528    
1529           "."        "."
1530    
1531  6.2.13.  Changing settings of audio output channels  6.2.13.  Changing settings of audio output channels
1532    
# Line 1673  Internet-Draft        LinuxSampler Contr Line 1543  Internet-Draft        LinuxSampler Contr
1543    
1544     Possible Answers:     Possible Answers:
1545    
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 30]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
1546        "OK" -        "OK" -
1547    
1548           in case setting was successfully changed           in case setting was successfully changed
# Line 1700  Internet-Draft        LinuxSampler Contr Line 1562  Internet-Draft        LinuxSampler Contr
1562    
1563        C: "SET AUDIO_OUTPUT_CHANNEL PARAMETER 0 0 JACK_BINDINGS='PCM:0'"        C: "SET AUDIO_OUTPUT_CHANNEL PARAMETER 0 0 JACK_BINDINGS='PCM:0'"
1564    
1565    
1566    
1567    
1568    Schoenebeck            Expires September 12, 2019              [Page 28]
1569    
1570    Internet-Draft        LinuxSampler Control Protocol           March 2019
1571    
1572    
1573        S: "OK"        S: "OK"
1574    
1575        C: "SET AUDIO_OUTPUT_CHANNEL PARAMETER 0 0 NAME='monitor left'"        C: "SET AUDIO_OUTPUT_CHANNEL PARAMETER 0 0 NAME='monitor left'"
# Line 1729  Internet-Draft        LinuxSampler Contr Line 1599  Internet-Draft        LinuxSampler Contr
1599     as the commands for configuring audio output drivers, already     as the commands for configuring audio output drivers, already
1600     described in the last chapter.     described in the last chapter.
1601    
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 31]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
1602     Note: examples in this chapter showing particular parameters of     Note: examples in this chapter showing particular parameters of
1603     drivers are not meant as specification of the drivers' parameters.     drivers are not meant as specification of the drivers' parameters.
1604     Driver implementations in LinuxSampler might have complete different     Driver implementations in LinuxSampler might have complete different
# Line 1757  Internet-Draft        LinuxSampler Contr Line 1619  Internet-Draft        LinuxSampler Contr
1619        LinuxSampler will answer by sending the number of available MIDI        LinuxSampler will answer by sending the number of available MIDI
1620        input drivers.        input drivers.
1621    
1622    
1623    
1624    Schoenebeck            Expires September 12, 2019              [Page 29]
1625    
1626    Internet-Draft        LinuxSampler Control Protocol           March 2019
1627    
1628    
1629     Example:     Example:
1630    
1631        C: "GET AVAILABLE_MIDI_INPUT_DRIVERS"        C: "GET AVAILABLE_MIDI_INPUT_DRIVERS"
# Line 1781  Internet-Draft        LinuxSampler Contr Line 1650  Internet-Draft        LinuxSampler Contr
1650    
1651        S: "ALSA,JACK"        S: "ALSA,JACK"
1652    
   
   
   
   
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 32]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
1653  6.3.3.  Getting information about a specific MIDI input driver  6.3.3.  Getting information about a specific MIDI input driver
1654    
1655     Use the following command to get detailed information about a     Use the following command to get detailed information about a
# Line 1818  Internet-Draft        LinuxSampler Contr Line 1675  Internet-Draft        LinuxSampler Contr
1675    
1676              arbitrary description text about the MIDI input driver              arbitrary description text about the MIDI input driver
1677    
1678    
1679    
1680    Schoenebeck            Expires September 12, 2019              [Page 30]
1681    
1682    Internet-Draft        LinuxSampler Control Protocol           March 2019
1683    
1684    
1685           VERSION -           VERSION -
1686    
1687              arbitrary character string regarding the driver's version              arbitrary character string regarding the driver's version
# Line 1835  Internet-Draft        LinuxSampler Contr Line 1699  Internet-Draft        LinuxSampler Contr
1699    
1700        S: "DESCRIPTION: Advanced Linux Sound Architecture"        S: "DESCRIPTION: Advanced Linux Sound Architecture"
1701    
1702           "VERSION: 1.0"        "VERSION: 1.0"
   
          "PARAMETERS: DRIVER,ACTIVE"  
   
          "."  
1703    
1704          "PARAMETERS: DRIVER,ACTIVE"
1705    
1706          "."
   
 Schoenebeck             Expires January 16, 2016               [Page 33]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
1707    
1708  6.3.4.  Getting information about specific MIDI input driver parameter  6.3.4.  Getting information about specific MIDI input driver parameter
1709    
# Line 1874  Internet-Draft        LinuxSampler Contr Line 1730  Internet-Draft        LinuxSampler Contr
1730     answer line begins with the information category name followed by a     answer line begins with the information category name followed by a
1731     colon and then a space character <SP> and finally the info character     colon and then a space character <SP> and finally the info character
1732     string to that info category.  There is information which is always     string to that info category.  There is information which is always
1733    
1734    
1735    
1736    Schoenebeck            Expires September 12, 2019              [Page 31]
1737    
1738    Internet-Draft        LinuxSampler Control Protocol           March 2019
1739    
1740    
1741     returned, independent of the given driver parameter and there is     returned, independent of the given driver parameter and there is
1742     optional information which is only shown dependent to given driver     optional information which is only shown dependent to given driver
1743     parameter.  At the moment the following information categories are     parameter.  At the moment the following information categories are
# Line 1898  Internet-Draft        LinuxSampler Contr Line 1762  Internet-Draft        LinuxSampler Contr
1762           MIDI_INPUT_DEVICE' (Section 6.3.5) command (always returned, no           MIDI_INPUT_DEVICE' (Section 6.3.5) command (always returned, no
1763           matter which driver parameter)           matter which driver parameter)
1764    
   
   
 Schoenebeck             Expires January 16, 2016               [Page 34]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
1765        FIX -        FIX -
1766    
1767           either true or false, if false then this parameter can be           either true or false, if false then this parameter can be
# Line 1928  Internet-Draft        LinuxSampler Contr Line 1785  Internet-Draft        LinuxSampler Contr
1785           driver) offers parameters 'card' and 'samplerate' then           driver) offers parameters 'card' and 'samplerate' then
1786           parameter 'samplerate' would depend on 'card' because the           parameter 'samplerate' would depend on 'card' because the
1787           possible values for 'samplerate' depends on the sound card           possible values for 'samplerate' depends on the sound card
1788    
1789    
1790    
1791    
1792    Schoenebeck            Expires September 12, 2019              [Page 32]
1793    
1794    Internet-Draft        LinuxSampler Control Protocol           March 2019
1795    
1796    
1797           which can be chosen by the 'card' parameter (optionally           which can be chosen by the 'card' parameter (optionally
1798           returned, dependent to driver parameter)           returned, dependent to driver parameter)
1799    
# Line 1953  Internet-Draft        LinuxSampler Contr Line 1819  Internet-Draft        LinuxSampler Contr
1819           defines upper limit of the allowed value range for this           defines upper limit of the allowed value range for this
1820           parameter, can be an integer value as well as a dotted number,           parameter, can be an integer value as well as a dotted number,
1821           this parameter is often used in conjunction with RANGE_MIN, but           this parameter is often used in conjunction with RANGE_MIN, but
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 35]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
1822           may also appear without (optionally returned, dependent to           may also appear without (optionally returned, dependent to
1823           driver parameter)           driver parameter)
1824    
# Line 1978  Internet-Draft        LinuxSampler Contr Line 1836  Internet-Draft        LinuxSampler Contr
1836    
1837        S: "DESCRIPTION: Whether device is enabled"        S: "DESCRIPTION: Whether device is enabled"
1838    
1839           "TYPE: BOOL"        "TYPE: BOOL"
1840    
1841           "MANDATORY: false"        "MANDATORY: false"
1842    
1843           "FIX: false"        "FIX: false"
1844    
          "MULTIPLICITY: false"  
1845    
          "DEFAULT: true"  
1846    
1847           "."  
1848    Schoenebeck            Expires September 12, 2019              [Page 33]
1849    
1850    Internet-Draft        LinuxSampler Control Protocol           March 2019
1851    
1852    
1853          "MULTIPLICITY: false"
1854    
1855          "DEFAULT: true"
1856    
1857          "."
1858    
1859  6.3.5.  Creating a MIDI input device  6.3.5.  Creating a MIDI input device
1860    
# Line 2008  Internet-Draft        LinuxSampler Contr Line 1874  Internet-Draft        LinuxSampler Contr
1874    
1875     Possible Answers:     Possible Answers:
1876    
   
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 36]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
1877        "OK[<device-id>]" -        "OK[<device-id>]" -
1878    
1879           in case the device was successfully created, where <device-id>           in case the device was successfully created, where <device-id>
# Line 2040  Internet-Draft        LinuxSampler Contr Line 1897  Internet-Draft        LinuxSampler Contr
1897    
1898        S: "OK[0]"        S: "OK[0]"
1899    
1900    
1901    
1902    
1903    
1904    Schoenebeck            Expires September 12, 2019              [Page 34]
1905    
1906    Internet-Draft        LinuxSampler Control Protocol           March 2019
1907    
1908    
1909  6.3.6.  Destroying a MIDI input device  6.3.6.  Destroying a MIDI input device
1910    
1911     Use the following command to destroy a created MIDI input device:     Use the following command to destroy a created MIDI input device:
# Line 2064  Internet-Draft        LinuxSampler Contr Line 1930  Internet-Draft        LinuxSampler Contr
1930    
1931        "ERR:<error-code>:<error-message>" -        "ERR:<error-code>:<error-message>" -
1932    
   
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 37]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
1933           in case it failed, providing an appropriate error code and           in case it failed, providing an appropriate error code and
1934           error message           error message
1935    
# Line 2097  Internet-Draft        LinuxSampler Contr Line 1954  Internet-Draft        LinuxSampler Contr
1954    
1955        C: "GET MIDI_INPUT_DEVICES"        C: "GET MIDI_INPUT_DEVICES"
1956    
1957    
1958    
1959    
1960    Schoenebeck            Expires September 12, 2019              [Page 35]
1961    
1962    Internet-Draft        LinuxSampler Control Protocol           March 2019
1963    
1964    
1965        S: "3"        S: "3"
1966    
1967  6.3.8.  Getting all created MIDI input device list  6.3.8.  Getting all created MIDI input device list
# Line 2120  Internet-Draft        LinuxSampler Contr Line 1985  Internet-Draft        LinuxSampler Contr
1985    
1986        S: "1,3"        S: "1,3"
1987    
   
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 38]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
1988  6.3.9.  Getting current settings of a MIDI input device  6.3.9.  Getting current settings of a MIDI input device
1989    
1990     Use the following command to get current settings of a specific,     Use the following command to get current settings of a specific,
# Line 2154  Internet-Draft        LinuxSampler Contr Line 2010  Internet-Draft        LinuxSampler Contr
2010    
2011           DRIVER -           DRIVER -
2012    
2013              identifier of the used MIDI input driver, as e.g. returned  
2014    
2015    
2016    Schoenebeck            Expires September 12, 2019              [Page 36]
2017    
2018    Internet-Draft        LinuxSampler Control Protocol           March 2019
2019    
2020    
2021                identifier of the used MIDI input driver, as e.g.  returned
2022              by the "LIST AVAILABLE_MIDI_INPUT_DRIVERS" (Section 6.3.2)              by the "LIST AVAILABLE_MIDI_INPUT_DRIVERS" (Section 6.3.2)
2023              command              command
2024    
# Line 2177  Internet-Draft        LinuxSampler Contr Line 2041  Internet-Draft        LinuxSampler Contr
2041    
2042        S: "DRIVER: ALSA"        S: "DRIVER: ALSA"
2043    
2044          "ACTIVE: true"
2045    
2046          "."
   
 Schoenebeck             Expires January 16, 2016               [Page 39]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
          "ACTIVE: true"  
   
          "."  
2047    
2048  6.3.10.  Changing settings of MIDI input devices  6.3.10.  Changing settings of MIDI input devices
2049    
# Line 2210  Internet-Draft        LinuxSampler Contr Line 2066  Internet-Draft        LinuxSampler Contr
2066    
2067        "WRN:<warning-code>:<warning-message>" -        "WRN:<warning-code>:<warning-message>" -
2068    
2069    
2070    
2071    
2072    Schoenebeck            Expires September 12, 2019              [Page 37]
2073    
2074    Internet-Draft        LinuxSampler Control Protocol           March 2019
2075    
2076    
2077           in case setting was changed successfully, but there are           in case setting was changed successfully, but there are
2078           noteworthy issue(s) related, providing an appropriate warning           noteworthy issue(s) related, providing an appropriate warning
2079           code and warning message           code and warning message
# Line 2233  Internet-Draft        LinuxSampler Contr Line 2097  Internet-Draft        LinuxSampler Contr
2097    
2098     Where <device-id> is the numerical ID of the MIDI input device as     Where <device-id> is the numerical ID of the MIDI input device as
2099     returned by the "CREATE MIDI_INPUT_DEVICE" (Section 6.3.5) or "LIST     returned by the "CREATE MIDI_INPUT_DEVICE" (Section 6.3.5) or "LIST
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 40]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
2100     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
2101     input port number.     input port number.
2102    
# Line 2266  Internet-Draft        LinuxSampler Contr Line 2122  Internet-Draft        LinuxSampler Contr
2122    
2123        S: "NAME: 'Masterkeyboard'"        S: "NAME: 'Masterkeyboard'"
2124    
          "ALSA_SEQ_BINDINGS: '64:0'"  
2125    
2126           "."  
2127    
2128    Schoenebeck            Expires September 12, 2019              [Page 38]
2129    
2130    Internet-Draft        LinuxSampler Control Protocol           March 2019
2131    
2132    
2133          "ALSA_SEQ_BINDINGS: '64:0'"
2134    
2135          "."
2136    
2137  6.3.12.  Getting information about specific MIDI port parameter  6.3.12.  Getting information about specific MIDI port parameter
2138    
# Line 2289  Internet-Draft        LinuxSampler Contr Line 2153  Internet-Draft        LinuxSampler Contr
2153        LinuxSampler will answer by sending a <CRLF> separated list.  Each        LinuxSampler will answer by sending a <CRLF> separated list.  Each
2154        answer line begins with the information category name followed by        answer line begins with the information category name followed by
2155        a colon and then a space character <SP> and finally the info        a colon and then a space character <SP> and finally the info
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 41]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
2156        character string to that info category.  There is information        character string to that info category.  There is information
2157        which is always returned, independently of the given channel        which is always returned, independently of the given channel
2158        parameter and there is optional information which are only shown        parameter and there is optional information which are only shown
# Line 2321  Internet-Draft        LinuxSampler Contr Line 2177  Internet-Draft        LinuxSampler Contr
2177    
2178        MULTIPLICITY -        MULTIPLICITY -
2179    
2180    
2181    
2182    
2183    
2184    Schoenebeck            Expires September 12, 2019              [Page 39]
2185    
2186    Internet-Draft        LinuxSampler Control Protocol           March 2019
2187    
2188    
2189           either true or false, defines if this parameter allows only one           either true or false, defines if this parameter allows only one
2190           value or a list of values, where true means multiple values and           value or a list of values, where true means multiple values and
2191           false only a single value allowed (always returned)           false only a single value allowed (always returned)
# Line 2345  Internet-Draft        LinuxSampler Contr Line 2210  Internet-Draft        LinuxSampler Contr
2210    
2211           comma separated list of possible values for this parameter,           comma separated list of possible values for this parameter,
2212           character strings are encapsulated into apostrophes (optionally           character strings are encapsulated into apostrophes (optionally
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 42]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
2213           returned, dependent to device and port parameter)           returned, dependent to device and port parameter)
2214    
2215     The mentioned fields above don't have to be in particular order.     The mentioned fields above don't have to be in particular order.
# Line 2363  Internet-Draft        LinuxSampler Contr Line 2220  Internet-Draft        LinuxSampler Contr
2220    
2221        S: "DESCRIPTION: bindings to other ALSA sequencer clients"        S: "DESCRIPTION: bindings to other ALSA sequencer clients"
2222    
2223           "TYPE: STRING"        "TYPE: STRING"
2224    
2225          "FIX: false"
2226    
2227          "MULTIPLICITY: true"
2228    
2229          "POSSIBILITIES: '64:0','68:0','68:1'"
2230    
2231          "."
2232    
2233    
2234    
2235    
2236    
          "FIX: false"  
2237    
          "MULTIPLICITY: true"  
2238    
          "POSSIBILITIES: '64:0','68:0','68:1'"  
2239    
2240           "."  Schoenebeck            Expires September 12, 2019              [Page 40]
2241    
2242    Internet-Draft        LinuxSampler Control Protocol           March 2019
2243    
2244    
2245  6.3.13.  Changing settings of MIDI input ports  6.3.13.  Changing settings of MIDI input ports
2246    
# Line 2400  Internet-Draft        LinuxSampler Contr Line 2269  Internet-Draft        LinuxSampler Contr
2269           noteworthy issue(s) related, providing an appropriate warning           noteworthy issue(s) related, providing an appropriate warning
2270           code and warning message           code and warning message
2271    
   
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 43]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
2272        "ERR:<error-code>:<error-message>" -        "ERR:<error-code>:<error-message>" -
2273    
2274           in case it failed, providing an appropriate error code and           in case it failed, providing an appropriate error code and
# Line 2430  Internet-Draft        LinuxSampler Contr Line 2290  Internet-Draft        LinuxSampler Contr
2290     channels, associate a sampler channel with a sampler engine, load     channels, associate a sampler channel with a sampler engine, load
2291     instruments and connect sampler channels to MIDI and audio devices.     instruments and connect sampler channels to MIDI and audio devices.
2292    
2293    
2294    
2295    
2296    Schoenebeck            Expires September 12, 2019              [Page 41]
2297    
2298    Internet-Draft        LinuxSampler Control Protocol           March 2019
2299    
2300    
2301  6.4.1.  Loading an instrument  6.4.1.  Loading an instrument
2302    
2303     An instrument file can be loaded and assigned to a sampler channel by     An instrument file can be loaded and assigned to a sampler channel by
# Line 2457  Internet-Draft        LinuxSampler Contr Line 2325  Internet-Draft        LinuxSampler Contr
2325     (Section 6.4.10) command can be used to obtain loading progress from     (Section 6.4.10) command can be used to obtain loading progress from
2326     INSTRUMENT_STATUS field.  LOAD command will perform sanity checks     INSTRUMENT_STATUS field.  LOAD command will perform sanity checks
2327     such as making sure that the file could be read and it is of a proper     such as making sure that the file could be read and it is of a proper
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 44]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
2328     format and SHOULD return ERR and SHOULD not launch the background     format and SHOULD return ERR and SHOULD not launch the background
2329     process should any errors be detected at that point.     process should any errors be detected at that point.
2330    
# Line 2487  Internet-Draft        LinuxSampler Contr Line 2347  Internet-Draft        LinuxSampler Contr
2347           in case it failed, providing an appropriate error code and           in case it failed, providing an appropriate error code and
2348           error message           error message
2349    
2350    
2351    
2352    Schoenebeck            Expires September 12, 2019              [Page 42]
2353    
2354    Internet-Draft        LinuxSampler Control Protocol           March 2019
2355    
2356    
2357     Example (Unix):     Example (Unix):
2358    
2359        C: LOAD INSTRUMENT '/home/joe/gigs/cello.gig' 0 0        C: LOAD INSTRUMENT '/home/joe/gigs/cello.gig' 0 0
# Line 2513  Internet-Draft        LinuxSampler Contr Line 2380  Internet-Draft        LinuxSampler Contr
2380     be assigned to.  This command should be issued after adding a new     be assigned to.  This command should be issued after adding a new
2381     sampler channel and before any other control commands on the new     sampler channel and before any other control commands on the new
2382     sampler channel.  It can also be used to change the engine type of a     sampler channel.  It can also be used to change the engine type of a
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 45]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
2383     sampler channel.  This command has (currently) no way to define or     sampler channel.  This command has (currently) no way to define or
2384     force if a new engine instance should be created and assigned to the     force if a new engine instance should be created and assigned to the
2385     given sampler channel or if an already existing instance of that     given sampler channel or if an already existing instance of that
# Line 2543  Internet-Draft        LinuxSampler Contr Line 2402  Internet-Draft        LinuxSampler Contr
2402           in case it failed, providing an appropriate error code and           in case it failed, providing an appropriate error code and
2403           error message           error message
2404    
2405    
2406    
2407    
2408    Schoenebeck            Expires September 12, 2019              [Page 43]
2409    
2410    Internet-Draft        LinuxSampler Control Protocol           March 2019
2411    
2412    
2413     Example:     Example:
2414    
2415    
# Line 2566  Internet-Draft        LinuxSampler Contr Line 2433  Internet-Draft        LinuxSampler Contr
2433    
2434        S: "12"        S: "12"
2435    
   
   
   
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 46]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
2436  6.4.4.  Getting all created sampler channel list  6.4.4.  Getting all created sampler channel list
2437    
2438     The number of sampler channels can change on runtime.  To get the     The number of sampler channels can change on runtime.  To get the
# Line 2603  Internet-Draft        LinuxSampler Contr Line 2459  Internet-Draft        LinuxSampler Contr
2459    
2460        ADD CHANNEL        ADD CHANNEL
2461    
2462    
2463    
2464    Schoenebeck            Expires September 12, 2019              [Page 44]
2465    
2466    Internet-Draft        LinuxSampler Control Protocol           March 2019
2467    
2468    
2469     This will increment the sampler channel count by one and the new     This will increment the sampler channel count by one and the new
2470     sampler channel will be appended to the end of the sampler channel     sampler channel will be appended to the end of the sampler channel
2471     list.  The front-end should send the respective, related commands     list.  The front-end should send the respective, related commands
# Line 2624  Internet-Draft        LinuxSampler Contr Line 2487  Internet-Draft        LinuxSampler Contr
2487    
2488        "WRN:<warning-code>:<warning-message>" -        "WRN:<warning-code>:<warning-message>" -
2489    
   
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 47]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
2490           in case a new channel was added successfully, but there are           in case a new channel was added successfully, but there are
2491           noteworthy issue(s) related, providing an appropriate warning           noteworthy issue(s) related, providing an appropriate warning
2492           code and warning message           code and warning message
# Line 2661  Internet-Draft        LinuxSampler Contr Line 2515  Internet-Draft        LinuxSampler Contr
2515    
2516        "OK" -        "OK" -
2517    
2518    
2519    
2520    Schoenebeck            Expires September 12, 2019              [Page 45]
2521    
2522    Internet-Draft        LinuxSampler Control Protocol           March 2019
2523    
2524    
2525           in case the given sampler channel could be removed           in case the given sampler channel could be removed
2526    
2527        "WRN:<warning-code>:<warning-message>" -        "WRN:<warning-code>:<warning-message>" -
# Line 2678  Internet-Draft        LinuxSampler Contr Line 2539  Internet-Draft        LinuxSampler Contr
2539    
2540    
2541    
   
   
   
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 48]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
2542  6.4.7.  Getting amount of available engines  6.4.7.  Getting amount of available engines
2543    
2544     The front-end can ask for the number of available engines by sending     The front-end can ask for the number of available engines by sending
# Line 2721  Internet-Draft        LinuxSampler Contr Line 2571  Internet-Draft        LinuxSampler Contr
2571        can consist of lower and upper cases, digits and underlines ("_"        can consist of lower and upper cases, digits and underlines ("_"
2572        character).        character).
2573    
2574    
2575    
2576    Schoenebeck            Expires September 12, 2019              [Page 46]
2577    
2578    Internet-Draft        LinuxSampler Control Protocol           March 2019
2579    
2580    
2581     Example:     Example:
2582    
2583        C: "LIST AVAILABLE_ENGINES"        C: "LIST AVAILABLE_ENGINES"
# Line 2737  Internet-Draft        LinuxSampler Contr Line 2594  Internet-Draft        LinuxSampler Contr
2594     Where <engine-name> is an engine name as obtained by the "LIST     Where <engine-name> is an engine name as obtained by the "LIST
2595     AVAILABLE_ENGINES" (Section 6.4.8) command.     AVAILABLE_ENGINES" (Section 6.4.8) command.
2596    
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 49]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
2597     Possible Answers:     Possible Answers:
2598    
2599        LinuxSampler will answer by sending a <CRLF> separated list.  Each        LinuxSampler will answer by sending a <CRLF> separated list.  Each
# Line 2772  Internet-Draft        LinuxSampler Contr Line 2621  Internet-Draft        LinuxSampler Contr
2621    
2622        S: "DESCRIPTION: GigaSampler Format Engine"        S: "DESCRIPTION: GigaSampler Format Engine"
2623    
2624           "VERSION: 1.110"        "VERSION: 1.110"
2625    
2626           "."        "."
2627    
2628        C: "GET ENGINE INFO sf2"        C: "GET ENGINE INFO sf2"
2629    
       S: "DESCRIPTION: SoundFont Format Engine"  
   
          "VERSION: 1.4"  
2630    
          "."  
2631    
2632        C: "GET ENGINE INFO sfz"  Schoenebeck            Expires September 12, 2019              [Page 47]
2633    
2634    Internet-Draft        LinuxSampler Control Protocol           March 2019
2635    
       S: "DESCRIPTION: SFZ Format Engine"  
2636    
2637           "VERSION: 1.11"        S: "DESCRIPTION: SoundFont Format Engine"
2638    
2639           "."        "VERSION: 1.4"
2640    
2641          "."
2642    
2643          C: "GET ENGINE INFO sfz"
2644    
2645          S: "DESCRIPTION: SFZ Format Engine"
2646    
2647          "VERSION: 1.11"
2648    
2649  Schoenebeck             Expires January 16, 2016               [Page 50]        "."
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
2650    
2651  6.4.10.  Getting sampler channel information  6.4.10.  Getting sampler channel information
2652    
# Line 2835  Internet-Draft        LinuxSampler Contr Line 2682  Internet-Draft        LinuxSampler Contr
2682              signal, "-1" if there's no device connected to this sampler              signal, "-1" if there's no device connected to this sampler
2683              channel              channel
2684    
2685    
2686    
2687    
2688    Schoenebeck            Expires September 12, 2019              [Page 48]
2689    
2690    Internet-Draft        LinuxSampler Control Protocol           March 2019
2691    
2692    
2693           AUDIO_OUTPUT_CHANNELS -           AUDIO_OUTPUT_CHANNELS -
2694    
2695              number of output channels the sampler channel offers              number of output channels the sampler channel offers
# Line 2849  Internet-Draft        LinuxSampler Contr Line 2704  Internet-Draft        LinuxSampler Contr
2704              device and the engine's output channel 1 is routed to the              device and the engine's output channel 1 is routed to the
2705              channel 3 of the audio output device              channel 3 of the audio output device
2706    
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 51]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
2707           INSTRUMENT_FILE -           INSTRUMENT_FILE -
2708    
2709              the file name of the loaded instrument, "NONE" if there's no              the file name of the loaded instrument, "NONE" if there's no
# Line 2892  Internet-Draft        LinuxSampler Contr Line 2739  Internet-Draft        LinuxSampler Contr
2739              commands, "-1" if there's no device connected to this              commands, "-1" if there's no device connected to this
2740              sampler channel              sampler channel
2741    
2742    
2743    
2744    Schoenebeck            Expires September 12, 2019              [Page 49]
2745    
2746    Internet-Draft        LinuxSampler Control Protocol           March 2019
2747    
2748    
2749              Should not be used anymore as of LSCP v1.6 and younger.              Should not be used anymore as of LSCP v1.6 and younger.
2750              This field is currently only preserved for backward              This field is currently only preserved for backward
2751              compatibility.              compatibility.
# Line 2904  Internet-Draft        LinuxSampler Contr Line 2758  Internet-Draft        LinuxSampler Contr
2758    
2759              DEPRECATED: THIS FIELD WILL DISAPPEAR!              DEPRECATED: THIS FIELD WILL DISAPPEAR!
2760    
   
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 52]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
2761              port number of the MIDI input device (in case a MIDI device              port number of the MIDI input device (in case a MIDI device
2762              was already assigned to the sampler channel)              was already assigned to the sampler channel)
2763    
# Line 2950  Internet-Draft        LinuxSampler Contr Line 2795  Internet-Draft        LinuxSampler Contr
2795    
2796           MIDI_INSTRUMENT_MAP -           MIDI_INSTRUMENT_MAP -
2797    
2798    
2799    
2800    Schoenebeck            Expires September 12, 2019              [Page 50]
2801    
2802    Internet-Draft        LinuxSampler Control Protocol           March 2019
2803    
2804    
2805              Determines to which MIDI instrument map this sampler channel              Determines to which MIDI instrument map this sampler channel
2806              is assigned to.  Read chapter "SET CHANNEL              is assigned to.  Read chapter "SET CHANNEL
2807              MIDI_INSTRUMENT_MAP" (Section 6.4.27) for a list of possible              MIDI_INSTRUMENT_MAP" (Section 6.4.27) for a list of possible
# Line 2959  Internet-Draft        LinuxSampler Contr Line 2811  Internet-Draft        LinuxSampler Contr
2811    
2812     Example:     Example:
2813    
2814          C: "GET CHANNEL INFO 34"
2815    
2816          S: "ENGINE_NAME: gig"
2817    
2818          "VOLUME: 1.0"
2819    
2820          "AUDIO_OUTPUT_DEVICE: 0"
2821    
2822          "AUDIO_OUTPUT_CHANNELS: 2"
2823    
2824  Schoenebeck             Expires January 16, 2016               [Page 53]        "AUDIO_OUTPUT_ROUTING: 0,1"
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
2825    
2826          "INSTRUMENT_FILE: /home/joe/FazioliPiano.gig"
2827    
2828        C: "GET CHANNEL INFO 34"        "INSTRUMENT_NR: 0"
2829    
2830        S: "ENGINE_NAME: gig"        "INSTRUMENT_NAME: Fazioli Piano"
2831    
2832           "VOLUME: 1.0"        "INSTRUMENT_STATUS: 100"
2833    
2834           "AUDIO_OUTPUT_DEVICE: 0"        "MIDI_INPUT_DEVICE: 0"
2835    
2836           "AUDIO_OUTPUT_CHANNELS: 2"        "MIDI_INPUT_PORT: 0"
2837    
2838           "AUDIO_OUTPUT_ROUTING: 0,1"        "MIDI_INPUT_CHANNEL: 5"
2839    
2840           "INSTRUMENT_FILE: /home/joe/FazioliPiano.gig"        "VOLUME: 1.0"
2841    
2842           "INSTRUMENT_NR: 0"        "MUTE: false"
2843    
2844           "INSTRUMENT_NAME: Fazioli Piano"        "SOLO: false"
2845    
2846           "INSTRUMENT_STATUS: 100"        "MIDI_INSTRUMENT_MAP: NONE"
2847    
2848          "."
2849    
          "MIDI_INPUT_DEVICE: 0"  
2850    
          "MIDI_INPUT_PORT: 0"  
2851    
          "MIDI_INPUT_CHANNEL: 5"  
2852    
          "VOLUME: 1.0"  
2853    
          "MUTE: false"  
2854    
          "SOLO: false"  
2855    
2856           "MIDI_INSTRUMENT_MAP: NONE"  Schoenebeck            Expires September 12, 2019              [Page 51]
2857    
2858    Internet-Draft        LinuxSampler Control Protocol           March 2019
2859    
          "."  
2860    
2861  6.4.11.  Current number of active voices  6.4.11.  Current number of active voices
2862    
# Line 3018  Internet-Draft        LinuxSampler Contr Line 2871  Internet-Draft        LinuxSampler Contr
2871    
2872     Possible Answers:     Possible Answers:
2873    
   
   
 Schoenebeck             Expires January 16, 2016               [Page 54]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
2874        LinuxSampler will answer by returning the number of active voices        LinuxSampler will answer by returning the number of active voices
2875        on that channel.        on that channel.
2876    
# Line 3061  Internet-Draft        LinuxSampler Contr Line 2907  Internet-Draft        LinuxSampler Contr
2907    
2908        GET CHANNEL BUFFER_FILL BYTES <sampler-channel>        GET CHANNEL BUFFER_FILL BYTES <sampler-channel>
2909    
2910    
2911    
2912    Schoenebeck            Expires September 12, 2019              [Page 52]
2913    
2914    Internet-Draft        LinuxSampler Control Protocol           March 2019
2915    
2916    
2917     to get the fill state in bytes or     to get the fill state in bytes or
2918    
2919        GET CHANNEL BUFFER_FILL PERCENTAGE <sampler-channel>        GET CHANNEL BUFFER_FILL PERCENTAGE <sampler-channel>
# Line 3072  Internet-Draft        LinuxSampler Contr Line 2925  Internet-Draft        LinuxSampler Contr
2925    
2926     Possible Answers:     Possible Answers:
2927    
   
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 55]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
2928        LinuxSampler will either answer by returning a comma separated        LinuxSampler will either answer by returning a comma separated
2929        string with the fill state of all disk stream buffers on that        string with the fill state of all disk stream buffers on that
2930        channel or an empty line if there are no active disk streams or        channel or an empty line if there are no active disk streams or
# Line 3111  Internet-Draft        LinuxSampler Contr Line 2955  Internet-Draft        LinuxSampler Contr
2955     The front-end can set the audio output device on a specific sampler     The front-end can set the audio output device on a specific sampler
2956     channel by sending the following command:     channel by sending the following command:
2957    
2958        SET CHANNEL AUDIO_OUTPUT_DEVICE <sampler-channel>        SET CHANNEL AUDIO_OUTPUT_DEVICE <sampler-channel> <audio-device-
2959        <audio-device-id>        id>
2960    
2961     Where <sampler-channel> is the respective sampler channel number as     Where <sampler-channel> is the respective sampler channel number as
2962     returned by the "ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS"     returned by the "ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS"
2963     (Section 6.4.4) command and <audio-device-id> is the numerical ID of     (Section 6.4.4) command and <audio-device-id> is the numerical ID of
2964     the audio output device as given by the "CREATE AUDIO_OUTPUT_DEVICE"     the audio output device as given by the "CREATE AUDIO_OUTPUT_DEVICE"
    (Section 6.2.5) or "LIST AUDIO_OUTPUT_DEVICES" (Section 6.2.8)  
    command.  
2965    
    Possible Answers:  
   
       "OK" -  
   
          on success  
2966    
2967    
2968    Schoenebeck            Expires September 12, 2019              [Page 53]
2969    
2970    Internet-Draft        LinuxSampler Control Protocol           March 2019
2971    
2972    
2973       (Section 6.2.5) or "LIST AUDIO_OUTPUT_DEVICES" (Section 6.2.8)
2974       command.
2975    
2976       Possible Answers:
2977    
2978  Schoenebeck             Expires January 16, 2016               [Page 56]        "OK" -
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
2979    
2980             on success
2981    
2982        "WRN:<warning-code>:<warning-message>" -        "WRN:<warning-code>:<warning-message>" -
2983    
# Line 3177  Internet-Draft        LinuxSampler Contr Line 3019  Internet-Draft        LinuxSampler Contr
3019           related, providing an appropriate warning code and warning           related, providing an appropriate warning code and warning
3020           message           message
3021    
       "ERR:<error-code>:<error-message>" -  
   
          in case it failed, providing an appropriate error code and  
          error message  
   
    Examples:  
3022    
3023    
3024    Schoenebeck            Expires September 12, 2019              [Page 54]
3025    
3026    Internet-Draft        LinuxSampler Control Protocol           March 2019
3027    
3028    
3029          "ERR:<error-code>:<error-message>" -
3030    
3031  Schoenebeck             Expires January 16, 2016               [Page 57]           in case it failed, providing an appropriate error code and
3032             error message
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
3033    
3034       Examples:
3035    
3036    
3037    
# Line 3234  Internet-Draft        LinuxSampler Contr Line 3074  Internet-Draft        LinuxSampler Contr
3074    
3075        "ERR:<error-code>:<error-message>" -        "ERR:<error-code>:<error-message>" -
3076    
          in case it failed, providing an appropriate error code and  
          error message  
   
    Examples:  
   
3077    
3078    
3079    
3080    Schoenebeck            Expires September 12, 2019              [Page 55]
3081    
3082    Internet-Draft        LinuxSampler Control Protocol           March 2019
3083    
3084    
3085  Schoenebeck             Expires January 16, 2016               [Page 58]           in case it failed, providing an appropriate error code and
3086             error message
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
3087    
3088       Examples:
3089    
3090    
3091    
# Line 3293  Internet-Draft        LinuxSampler Contr Line 3131  Internet-Draft        LinuxSampler Contr
3131    
3132        C: "ADD CHANNEL MIDI_INPUT 1 0"        C: "ADD CHANNEL MIDI_INPUT 1 0"
3133    
       S: "OK"  
   
       C: "ADD CHANNEL MIDI_INPUT 1 1 1"  
3134    
3135    
3136    Schoenebeck            Expires September 12, 2019              [Page 56]
3137    
3138    Internet-Draft        LinuxSampler Control Protocol           March 2019
3139    
3140    
3141  Schoenebeck             Expires January 16, 2016               [Page 59]        S: "OK"
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
3142    
3143          C: "ADD CHANNEL MIDI_INPUT 1 1 1"
3144    
3145        S: "OK"        S: "OK"
3146    
# Line 3349  Internet-Draft        LinuxSampler Contr Line 3186  Internet-Draft        LinuxSampler Contr
3186           issue(s) related, providing an appropriate warning code and           issue(s) related, providing an appropriate warning code and
3187           warning message           warning message
3188    
       "ERR:<error-code>:<error-message>" -  
   
          in case it failed, providing an appropriate error code and  
          error message  
3189    
3190    
3191    
3192  Schoenebeck             Expires January 16, 2016               [Page 60]  Schoenebeck            Expires September 12, 2019              [Page 57]
3193    
3194  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
3195    
3196    
3197          "ERR:<error-code>:<error-message>" -
3198    
3199             in case it failed, providing an appropriate error code and
3200             error message
3201    
3202     Examples:     Examples:
3203    
3204        C: "REMOVE CHANNEL MIDI_INPUT 0"        C: "REMOVE CHANNEL MIDI_INPUT 0"
# Line 3404  Internet-Draft        LinuxSampler Contr Line 3242  Internet-Draft        LinuxSampler Contr
3242    
3243        C: "LIST CHANNEL MIDI_INPUTS 0"        C: "LIST CHANNEL MIDI_INPUTS 0"
3244    
       S: "{0,0},{1,3},{2,0}"  
   
    Since:  
3245    
3246    
3247    
3248    Schoenebeck            Expires September 12, 2019              [Page 58]
3249    
3250    Internet-Draft        LinuxSampler Control Protocol           March 2019
3251    
3252    
3253  Schoenebeck             Expires January 16, 2016               [Page 61]        S: "{0,0},{1,3},{2,0}"
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
3254    
3255       Since:
3256    
3257        Introduced with LSCP v1.6        Introduced with LSCP v1.6
3258    
# Line 3462  Internet-Draft        LinuxSampler Contr Line 3299  Internet-Draft        LinuxSampler Contr
3299    
3300    
3301    
    Deprecated:  
3302    
3303    
3304    Schoenebeck            Expires September 12, 2019              [Page 59]
   
   
 Schoenebeck             Expires January 16, 2016               [Page 62]  
3305    
3306  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
3307    
3308    
3309       Deprecated:
3310    
3311        Should not be used anymore as of LSCP v1.6 and younger.  This        Should not be used anymore as of LSCP v1.6 and younger.  This
3312        command is currently only preserved for backward compatibility.        command is currently only preserved for backward compatibility.
3313    
# Line 3522  Internet-Draft        LinuxSampler Contr Line 3357  Internet-Draft        LinuxSampler Contr
3357    
3358    
3359    
3360    Schoenebeck            Expires September 12, 2019              [Page 60]
   
 Schoenebeck             Expires January 16, 2016               [Page 63]  
3361    
3362  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
   
   
3363    
3364    
3365     Deprecated:     Deprecated:
# Line 3576  Internet-Draft        LinuxSampler Contr Line 3407  Internet-Draft        LinuxSampler Contr
3407           related, providing an appropriate warning code and warning           related, providing an appropriate warning code and warning
3408           message           message
3409    
3410          "ERR:<error-code>:<error-message>" -
3411    
3412    
3413    
3414    
 Schoenebeck             Expires January 16, 2016               [Page 64]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
3415    
3416    Schoenebeck            Expires September 12, 2019              [Page 61]
3417    
3418    Internet-Draft        LinuxSampler Control Protocol           March 2019
3419    
       "ERR:<error-code>:<error-message>" -  
3420    
3421           in case it failed, providing an appropriate error code and           in case it failed, providing an appropriate error code and
3422           error message           error message
# Line 3634  Internet-Draft        LinuxSampler Contr Line 3465  Internet-Draft        LinuxSampler Contr
3465    
3466     Examples:     Examples:
3467    
3468          C: "SET CHANNEL MIDI_INPUT_CHANNEL 0 0"
3469    
3470    
3471    
3472  Schoenebeck             Expires January 16, 2016               [Page 65]  Schoenebeck            Expires September 12, 2019              [Page 62]
3473    
3474  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
   
3475    
       C: "SET CHANNEL MIDI_INPUT_CHANNEL 0 0"  
3476    
3477        S: "OK"        S: "OK"
3478    
# Line 3687  Internet-Draft        LinuxSampler Contr Line 3518  Internet-Draft        LinuxSampler Contr
3518     The front-end can mute/unmute a specific sampler channel by sending     The front-end can mute/unmute a specific sampler channel by sending
3519     the following command:     the following command:
3520    
3521          SET CHANNEL MUTE <sampler-channel> <mute>
3522    
3523       Where <sampler-channel> is the respective sampler channel number as
3524       returned by the "ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS"
3525    
3526    
3527    
3528    Schoenebeck            Expires September 12, 2019              [Page 63]
 Schoenebeck             Expires January 16, 2016               [Page 66]  
3529    
3530  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
3531    
3532    
       SET CHANNEL MUTE <sampler-channel> <mute>  
   
    Where <sampler-channel> is the respective sampler channel number as  
    returned by the "ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS"  
3533     (Section 6.4.4) command and <mute> should be replaced either by "1"     (Section 6.4.4) command and <mute> should be replaced either by "1"
3534     to mute the channel or "0" to unmute the channel.     to mute the channel or "0" to unmute the channel.
3535    
# Line 3743  Internet-Draft        LinuxSampler Contr Line 3572  Internet-Draft        LinuxSampler Contr
3572    
3573           on success           on success
3574    
3575          "WRN:<warning-code>:<warning-message>" -
3576    
3577             if the channel was soloed/unsoloed, but there are noteworthy
3578             issue(s) related, providing an appropriate warning code and
3579             warning message
3580    
3581    
3582    
3583    
3584  Schoenebeck             Expires January 16, 2016               [Page 67]  Schoenebeck            Expires September 12, 2019              [Page 64]
3585    
3586  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
3587    
3588    
       "WRN:<warning-code>:<warning-message>" -  
   
          if the channel was soloed/unsoloed, but there are noteworthy  
          issue(s) related, providing an appropriate warning code and  
          warning message  
   
3589        "ERR:<error-code>:<error-message>" -        "ERR:<error-code>:<error-message>" -
3590    
3591           in case it failed, providing an appropriate error code and           in case it failed, providing an appropriate error code and
# Line 3802  Internet-Draft        LinuxSampler Contr Line 3629  Internet-Draft        LinuxSampler Contr
3629     Read chapter "MIDI Instrument Mapping" (Section 6.7) for details     Read chapter "MIDI Instrument Mapping" (Section 6.7) for details
3630     regarding MIDI instrument mapping.     regarding MIDI instrument mapping.
3631    
3632       Possible Answers:
3633    
3634          "OK" -
3635    
3636  Schoenebeck             Expires January 16, 2016               [Page 68]           on success
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
3637    
3638    
    Possible Answers:  
3639    
3640        "OK" -  Schoenebeck            Expires September 12, 2019              [Page 65]
3641    
3642    Internet-Draft        LinuxSampler Control Protocol           March 2019
3643    
          on success  
3644    
3645        "ERR:<error-code>:<error-message>" -        "ERR:<error-code>:<error-message>" -
3646    
# Line 3842  Internet-Draft        LinuxSampler Contr Line 3669  Internet-Draft        LinuxSampler Contr
3669     described in chapter "Character Set and Escape Sequences     described in chapter "Character Set and Escape Sequences
3670     (Section 7.1)".     (Section 7.1)".
3671    
3672     By default, that is as initial routing, the effect send's audio     Note: there are two possible approaches to apply audio effects with
3673     channels are automatically routed to the last audio channels of the     FX sends: you can either use a) internal effects or b) external
3674     sampler channel's audio output device, that way you can i.e. first     effects.  By default, that is as initial routing, effect sends are
3675     increase the amount of audio channels on the audio output device for     automatically routed directly to the sampler channel's audio output
3676     having dedicated effect send output channels and when "CREATE     device and the effect send's audio channels are by default
3677     FX_SEND" is called, those channels will automatically be picked.  You     automatically routed to the last audio channels of that audio output
3678     can alter the destination channels however with "SET FX_SEND     device (for the purpose of applying effects externally that is, e.g.
3679     AUDIO_OUTPUT_CHANNEL" (Section 6.4.34).     by using another application), that way you can i.e. first increase
3680       the amount of audio channels on the audio output device for having
3681       dedicated effect send output channels and when "CREATE FX_SEND" is
3682       called, those channels will automatically be picked.  You can alter
3683       the destination channels however with "SET FX_SEND
3684       AUDIO_OUTPUT_CHANNEL" (Section 6.4.34).  If your intention is rather
3685       to use internal effects instead of external effects, then you first
3686       need to load those internal effects (Section 6.11) and then assign
3687       the FX sends to the desired internal effect by sending "SET FX_SEND
3688       EFFECT" (Section 6.4.35).
3689    
3690     Note: Create effect sends on a sampler channel only when needed,     Note: Create effect sends on a sampler channel only when needed,
3691     because having effect sends on a sampler channel will decrease     because having effect sends on a sampler channel will decrease
3692     runtime performance, because for implementing channel effect sends,     runtime performance, because for implementing channel effect sends,
    separate (sampler channel local) audio buffers are needed to render  
    and mix the voices and route the audio signal afterwards to the  
    master outputs and effect send outputs (along with their respective  
3693    
3694    
3695    
3696  Schoenebeck             Expires January 16, 2016               [Page 69]  Schoenebeck            Expires September 12, 2019              [Page 66]
3697    
3698  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
3699    
3700    
3701       separate (sampler channel local) audio buffers are needed to render
3702       and mix the voices and route the audio signal afterwards to the
3703       master outputs and effect send outputs (along with their respective
3704     effect send levels).  A sampler channel without effect sends however     effect send levels).  A sampler channel without effect sends however
3705     can mix its voices directly into the audio output devices's audio     can mix its voices directly into the audio output devices's audio
3706     buffers and is thus faster.     buffers and is thus faster.
# Line 3879  Internet-Draft        LinuxSampler Contr Line 3715  Internet-Draft        LinuxSampler Contr
3715    
3716        "ERR:<error-code>:<error-message>" -        "ERR:<error-code>:<error-message>" -
3717    
3718           when a new effect send could not be added, i.e. due to invalid           when a new effect send could not be added, i.e.  due to invalid
3719           parameters           parameters
3720    
3721     Examples:     Examples:
# Line 3910  Internet-Draft        LinuxSampler Contr Line 3746  Internet-Draft        LinuxSampler Contr
3746    
3747        "OK" -        "OK" -
3748    
          on success  
   
   
3749    
3750    
3751    
3752  Schoenebeck             Expires January 16, 2016               [Page 70]  Schoenebeck            Expires September 12, 2019              [Page 67]
3753    
3754  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
3755    
3756    
3757             on success
3758    
3759        "ERR:<error-code>:<error-message>" -        "ERR:<error-code>:<error-message>" -
3760    
3761           in case it failed, providing an appropriate error code and           in case it failed, providing an appropriate error code and
# Line 3970  Internet-Draft        LinuxSampler Contr Line 3805  Internet-Draft        LinuxSampler Contr
3805    
3806    
3807    
3808    Schoenebeck            Expires September 12, 2019              [Page 68]
   
 Schoenebeck             Expires January 16, 2016               [Page 71]  
3809    
3810  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
3811    
3812    
3813        The sampler will answer by returning a comma separated list with        The sampler will answer by returning a comma separated list with
# Line 4023  Internet-Draft        LinuxSampler Contr Line 3856  Internet-Draft        LinuxSampler Contr
3856              a value between 0 and 127 reflecting the MIDI controller              a value between 0 and 127 reflecting the MIDI controller
3857              which is able to modify the effect send's send level              which is able to modify the effect send's send level
3858    
3859             LEVEL -
3860    
3861    
3862    
3863    
3864    Schoenebeck            Expires September 12, 2019              [Page 69]
 Schoenebeck             Expires January 16, 2016               [Page 72]  
3865    
3866  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
3867    
3868    
          LEVEL -  
   
3869              optionally dotted number reflecting the effect send's              optionally dotted number reflecting the effect send's
3870              current send level (where a value < 1.0 means attenuation              current send level (where a value < 1.0 means attenuation
3871              and a value > 1.0 means amplification)              and a value > 1.0 means amplification)
# Line 4067  Internet-Draft        LinuxSampler Contr Line 3898  Internet-Draft        LinuxSampler Contr
3898    
3899        S: "NAME: Reverb Send"        S: "NAME: Reverb Send"
3900    
3901           "MIDI_CONTROLLER: 91"        "MIDI_CONTROLLER: 91"
3902    
3903           "LEVEL: 0.3"        "LEVEL: 0.3"
3904    
3905           "AUDIO_OUTPUT_ROUTING: 2,3"        "AUDIO_OUTPUT_ROUTING: 2,3"
3906    
3907           "EFFECT: NONE"        "EFFECT: NONE"
3908    
3909           "."        "."
3910    
3911        C: "GET FX_SEND INFO 0 1"        C: "GET FX_SEND INFO 0 1"
3912    
3913        S: "NAME: Delay Send (Internal)"        S: "NAME: Delay Send (Internal)"
3914    
3915          "MIDI_CONTROLLER: 93"
3916    
3917    
3918    
 Schoenebeck             Expires January 16, 2016               [Page 73]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
3919    
3920    Schoenebeck            Expires September 12, 2019              [Page 70]
3921    
3922    Internet-Draft        LinuxSampler Control Protocol           March 2019
3923    
          "MIDI_CONTROLLER: 93"  
3924    
3925           "LEVEL: 0.51"        "LEVEL: 0.51"
3926    
3927           "AUDIO_OUTPUT_ROUTING: 1,2"        "AUDIO_OUTPUT_ROUTING: 1,2"
3928    
3929           "EFFECT: 2,0"        "EFFECT: 2,0"
3930    
3931           "."        "."
3932    
3933  6.4.33.  Changing effect send's name  6.4.33.  Changing effect send's name
3934    
# Line 4133  Internet-Draft        LinuxSampler Contr Line 3964  Internet-Draft        LinuxSampler Contr
3964    
3965        S: "OK"        S: "OK"
3966    
3967    6.4.34.  Altering effect send's audio routing
3968    
3969       The front-end can alter the destination of an effect send's audio
3970       channel on a specific sampler channel by sending the following
3971       command:
3972    
3973    
3974    
3975    
3976    Schoenebeck            Expires September 12, 2019              [Page 71]
   
 Schoenebeck             Expires January 16, 2016               [Page 74]  
3977    
3978  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
   
   
 6.4.34.  Altering effect send's audio routing  
3979    
    The front-end can alter the destination of an effect send's audio  
    channel on a specific sampler channel by sending the following  
    command:  
3980    
3981        SET FX_SEND AUDIO_OUTPUT_CHANNEL <sampler-chan> <fx-send-id>        SET FX_SEND AUDIO_OUTPUT_CHANNEL <sampler-chan> <fx-send-id>
3982        <audio-src> <audio-dst>        <audio-src> <audio-dst>
# Line 4160  Internet-Draft        LinuxSampler Contr Line 3987  Internet-Draft        LinuxSampler Contr
3987     entity as returned by the "CREATE FX_SEND" (Section 6.4.28) or "LIST     entity as returned by the "CREATE FX_SEND" (Section 6.4.28) or "LIST
3988     FX_SENDS" (Section 6.4.31) command, <audio-src> is the numerical ID     FX_SENDS" (Section 6.4.31) command, <audio-src> is the numerical ID
3989     of the effect send's audio channel which should be rerouted and     of the effect send's audio channel which should be rerouted and
3990     <audio-dst> is the numerical ID of the audio channel of the selected     <audio-dst> is the numerical ID of either a) the audio output channel
3991     audio output device where <audio-src> should be routed to.  If an     of the sampler channel's audio output device (i.e. if external effect
3992     internal send effect is assigned to the effect send, then this     shall be applied) or b) of the audio input channel of an internal
3993     setting defines the audio channel routing to that effect instance     effect assigned to the FX send where <audio-src> should be routed to.
    respectively.  
3994    
3995     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
3996     device as assigned to the effect send's sampler channel.  Also note     device as assigned to the effect send's sampler channel.  Also note
# Line 4192  Internet-Draft        LinuxSampler Contr Line 4018  Internet-Draft        LinuxSampler Contr
4018    
4019        "ERR:<error-code>:<error-message>" -        "ERR:<error-code>:<error-message>" -
4020    
   
   
   
   
 Schoenebeck             Expires January 16, 2016               [Page 75]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
4021           in case it failed, providing an appropriate error code and           in case it failed, providing an appropriate error code and
4022           error message           error message
4023    
# Line 4210  Internet-Draft        LinuxSampler Contr Line 4027  Internet-Draft        LinuxSampler Contr
4027    
4028        S: "OK"        S: "OK"
4029    
4030    
4031    
4032    Schoenebeck            Expires September 12, 2019              [Page 72]
4033    
4034    Internet-Draft        LinuxSampler Control Protocol           March 2019
4035    
4036    
4037  6.4.35.  Assigning destination effect to an effect send  6.4.35.  Assigning destination effect to an effect send
4038    
4039     The front-end can (re-)assign a destination effect to an effect send     The front-end can (re-)assign an internal destination effect to an
4040     by sending the following command:     effect send by sending the following command:
4041    
4042        SET FX_SEND EFFECT <sampler-chan> <fx-send-id> <effect-chain>        SET FX_SEND EFFECT <sampler-chan> <fx-send-id> <effect-chain>
4043        <chain-pos>        <chain-pos>
# Line 4229  Internet-Draft        LinuxSampler Contr Line 4053  Internet-Draft        LinuxSampler Contr
4053     chain position in the effect chain which hosts the actual destination     chain position in the effect chain which hosts the actual destination
4054     effect.     effect.
4055    
4056       Note: This command MUST NOT be used if you want to apply audio
4057       effects externally!  By default FX sends are routed directly to the
4058       audio output device for that purpose.  You can also revert this
4059       command later on by sending "REMOVE FX_SEND EFFECT" (Section 6.4.36),
4060       which will cause the FX send to be routed directly to the sampler
4061       channel's audio output device instead (i.e. for using external
4062       effects instead of internal effects).
4063    
4064     Possible Answers:     Possible Answers:
4065    
4066        "OK" -        "OK" -
# Line 4252  Internet-Draft        LinuxSampler Contr Line 4084  Internet-Draft        LinuxSampler Contr
4084    
4085    
4086    
4087  Schoenebeck             Expires January 16, 2016               [Page 76]  
4088    Schoenebeck            Expires September 12, 2019              [Page 73]
4089    
4090  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
4091    
4092    
4093  6.4.36.  Removing destination effect from an effect send  6.4.36.  Removing destination effect from an effect send
# Line 4308  Internet-Draft        LinuxSampler Contr Line 4141  Internet-Draft        LinuxSampler Contr
4141    
4142    
4143    
4144  Schoenebeck             Expires January 16, 2016               [Page 77]  Schoenebeck            Expires September 12, 2019              [Page 74]
4145    
4146  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
4147    
4148    
4149     controller which shall be able to modify the effect send's send     controller which shall be able to modify the effect send's send
# Line 4364  Internet-Draft        LinuxSampler Contr Line 4197  Internet-Draft        LinuxSampler Contr
4197    
4198    
4199    
4200  Schoenebeck             Expires January 16, 2016               [Page 78]  Schoenebeck            Expires September 12, 2019              [Page 75]
4201    
4202  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
4203    
4204    
4205        "WRN:<warning-code>:<warning-message>" -        "WRN:<warning-code>:<warning-message>" -
# Line 4420  Internet-Draft        LinuxSampler Contr Line 4253  Internet-Draft        LinuxSampler Contr
4253    
4254    
4255    
4256  Schoenebeck             Expires January 16, 2016               [Page 79]  Schoenebeck            Expires September 12, 2019              [Page 76]
4257    
4258  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
4259    
4260    
4261     CAUTION: This command is provided for implementations of virtual MIDI     CAUTION: This command is provided for implementations of virtual MIDI
# Line 4476  Internet-Draft        LinuxSampler Contr Line 4309  Internet-Draft        LinuxSampler Contr
4309    
4310    
4311    
4312  Schoenebeck             Expires January 16, 2016               [Page 80]  Schoenebeck            Expires September 12, 2019              [Page 77]
4313    
4314  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
4315    
4316    
4317     Examples:     Examples:
# Line 4528  Internet-Draft        LinuxSampler Contr Line 4361  Internet-Draft        LinuxSampler Contr
4361    
4362        UNSUBSCRIBE <event-id>        UNSUBSCRIBE <event-id>
4363    
    Where <event-id> will be replaced by the respective event that client  
4364    
4365    
4366    
4367  Schoenebeck             Expires January 16, 2016               [Page 81]  
4368    Schoenebeck            Expires September 12, 2019              [Page 78]
4369    
4370  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
4371    
4372    
4373       Where <event-id> will be replaced by the respective event that client
4374     doesn't want to receive anymore.     doesn't want to receive anymore.
4375    
4376     Possible Answers:     Possible Answers:
# Line 4584  Internet-Draft        LinuxSampler Contr Line 4418  Internet-Draft        LinuxSampler Contr
4418    
4419           on syntax error, e.g. non boolean value           on syntax error, e.g. non boolean value
4420    
    Examples:  
4421    
4422    
4423    
4424  Schoenebeck             Expires January 16, 2016               [Page 82]  Schoenebeck            Expires September 12, 2019              [Page 79]
4425    
4426  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
4427    
4428    
4429       Examples:
4430    
4431    
4432    
4433  6.5.4.  Close client connection  6.5.4.  Close client connection
# Line 4640  Internet-Draft        LinuxSampler Contr Line 4475  Internet-Draft        LinuxSampler Contr
4475    
4476        GET TOTAL_STREAM_COUNT        GET TOTAL_STREAM_COUNT
4477    
    Possible Answers:  
   
4478    
4479    
4480  Schoenebeck             Expires January 16, 2016               [Page 83]  Schoenebeck            Expires September 12, 2019              [Page 80]
4481    
4482  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
4483    
4484    
4485       Possible Answers:
4486    
4487        LinuxSampler will answer by returning the number of all active        LinuxSampler will answer by returning the number of all active
4488        disk streams on the sampler.        disk streams on the sampler.
# Line 4669  Internet-Draft        LinuxSampler Contr Line 4504  Internet-Draft        LinuxSampler Contr
4504    
4505    
4506    
4507  6.6.5.  General sampler informations  6.6.5.  General sampler information
4508    
4509     The client can ask for general informations about the LinuxSampler     The client can ask for general information about the LinuxSampler
4510     instance by sending the following command:     instance by sending the following command:
4511    
4512        GET SERVER INFO        GET SERVER INFO
# Line 4698  Internet-Draft        LinuxSampler Contr Line 4533  Internet-Draft        LinuxSampler Contr
4533    
4534    
4535    
4536    Schoenebeck            Expires September 12, 2019              [Page 81]
   
 Schoenebeck             Expires January 16, 2016               [Page 84]  
4537    
4538  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
4539    
4540    
4541           PROTOCOL_VERSION -           PROTOCOL_VERSION -
# Line 4725  Internet-Draft        LinuxSampler Contr Line 4558  Internet-Draft        LinuxSampler Contr
4558        S: "DESCRIPTION: LinuxSampler - modular, streaming capable        S: "DESCRIPTION: LinuxSampler - modular, streaming capable
4559        sampler"        sampler"
4560    
4561           "VERSION: 1.0.0.svn23"        "VERSION: 1.0.0.svn23"
4562    
4563           "PROTOCOL_VERSION: 1.5"        "PROTOCOL_VERSION: 1.5"
4564    
4565           "INSTRUMENTS_DB_SUPPORT: no"        "INSTRUMENTS_DB_SUPPORT: no"
4566    
4567           "."        "."
4568    
4569  6.6.6.  Getting global volume attenuation  6.6.6.  Getting global volume attenuation
4570    
# Line 4756  Internet-Draft        LinuxSampler Contr Line 4589  Internet-Draft        LinuxSampler Contr
4589    
4590    
4591    
4592  Schoenebeck             Expires January 16, 2016               [Page 85]  Schoenebeck            Expires September 12, 2019              [Page 82]
4593    
4594  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
4595    
4596    
4597  6.6.7.  Setting global volume attenuation  6.6.7.  Setting global volume attenuation
# Line 4812  Internet-Draft        LinuxSampler Contr Line 4645  Internet-Draft        LinuxSampler Contr
4645    
4646    
4647    
4648  Schoenebeck             Expires January 16, 2016               [Page 86]  Schoenebeck            Expires September 12, 2019              [Page 83]
4649    
4650  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
4651    
4652    
4653  6.6.9.  Setting global voice limit  6.6.9.  Setting global voice limit
# Line 4868  Internet-Draft        LinuxSampler Contr Line 4701  Internet-Draft        LinuxSampler Contr
4701    
4702    
4703    
4704  Schoenebeck             Expires January 16, 2016               [Page 87]  Schoenebeck            Expires September 12, 2019              [Page 84]
4705    
4706  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
4707    
4708    
4709     The disk stream limit setting defines how many disk streams should     The disk stream limit setting defines how many disk streams should
# Line 4920  Internet-Draft        LinuxSampler Contr Line 4753  Internet-Draft        LinuxSampler Contr
4753     The MIDI protocol provides a way to switch between instruments by     The MIDI protocol provides a way to switch between instruments by
4754     sending so called MIDI bank select and MIDI program change messages     sending so called MIDI bank select and MIDI program change messages
4755     which are essentially just numbers.  The following commands allow to     which are essentially just numbers.  The following commands allow to
    actually map arbitrary MIDI bank select / program change numbers with  
4756    
4757    
4758    
4759  Schoenebeck             Expires January 16, 2016               [Page 88]  
4760    Schoenebeck            Expires September 12, 2019              [Page 85]
4761    
4762  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
4763    
4764    
4765       actually map arbitrary MIDI bank select / program change numbers with
4766     real instruments.     real instruments.
4767    
4768     The sampler allows to manage an arbitrary amount of MIDI instrument     The sampler allows to manage an arbitrary amount of MIDI instrument
# Line 4975  Internet-Draft        LinuxSampler Contr Line 4809  Internet-Draft        LinuxSampler Contr
4809    
4810        "ERR:<error-code>:<error-message>" -        "ERR:<error-code>:<error-message>" -
4811    
          when a new map could not be created, which might never occur in  
          practice  
4812    
4813    
4814    
4815  Schoenebeck             Expires January 16, 2016               [Page 89]  
4816    Schoenebeck            Expires September 12, 2019              [Page 86]
4817    
4818  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
4819    
4820    
4821             when a new map could not be created, which might never occur in
4822             practice
4823    
4824     Examples:     Examples:
4825    
# Line 5030  Internet-Draft        LinuxSampler Contr Line 4866  Internet-Draft        LinuxSampler Contr
4866    
4867        S: "OK"        S: "OK"
4868    
       C: "REMOVE MIDI_INSTRUMENT_MAP ALL"  
   
4869    
4870    
4871    
4872    Schoenebeck            Expires September 12, 2019              [Page 87]
 Schoenebeck             Expires January 16, 2016               [Page 90]  
4873    
4874  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
4875    
4876    
4877          C: "REMOVE MIDI_INSTRUMENT_MAP ALL"
4878    
4879        S: "OK"        S: "OK"
4880    
# Line 5087  Internet-Draft        LinuxSampler Contr Line 4922  Internet-Draft        LinuxSampler Contr
4922    
4923        GET MIDI_INSTRUMENT_MAP INFO <map>        GET MIDI_INSTRUMENT_MAP INFO <map>
4924    
    Where <map> is the numerical ID of the map the front-end is  
    interested in as returned by the "LIST MIDI_INSTRUMENT_MAPS"  
4925    
4926    
4927    
4928  Schoenebeck             Expires January 16, 2016               [Page 91]  Schoenebeck            Expires September 12, 2019              [Page 88]
4929    
4930  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
4931    
4932    
4933       Where <map> is the numerical ID of the map the front-end is
4934       interested in as returned by the "LIST MIDI_INSTRUMENT_MAPS"
4935     (Section 6.7.4) command.     (Section 6.7.4) command.
4936    
4937     Possible Answers:     Possible Answers:
# Line 5128  Internet-Draft        LinuxSampler Contr Line 4963  Internet-Draft        LinuxSampler Contr
4963    
4964        S: "NAME: Standard Map"        S: "NAME: Standard Map"
4965    
4966           "DEFAULT: true"        "DEFAULT: true"
4967    
4968           "."        "."
4969    
4970  6.7.6.  Renaming a MIDI instrument map  6.7.6.  Renaming a MIDI instrument map
4971    
# Line 5142  Internet-Draft        LinuxSampler Contr Line 4977  Internet-Draft        LinuxSampler Contr
4977     Where <map> is the numerical ID of the map and <name> the new custom     Where <map> is the numerical ID of the map and <name> the new custom
4978     name of the map, which does not have to be unique (name MUST be     name of the map, which does not have to be unique (name MUST be
4979     encapsulated into apostrophes and supports escape sequences as     encapsulated into apostrophes and supports escape sequences as
    described in chapter "Character Set and Escape Sequences  
    (Section 7.1)").  
4980    
4981    
4982    
4983    
4984  Schoenebeck             Expires January 16, 2016               [Page 92]  Schoenebeck            Expires September 12, 2019              [Page 89]
4985    
4986  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
4987    
4988    
4989       described in chapter "Character Set and Escape Sequences
4990       (Section 7.1)").
4991    
4992     Possible Answers:     Possible Answers:
4993    
4994        "OK" -        "OK" -
# Line 5199  Internet-Draft        LinuxSampler Contr Line 5035  Internet-Draft        LinuxSampler Contr
5035    
5036        "ON_DEMAND" -        "ON_DEMAND" -
5037    
          The instrument will be loaded when needed, that is when  
          demanded by at least one sampler channel.  It will immediately  
   
5038    
5039    
5040  Schoenebeck             Expires January 16, 2016               [Page 93]  Schoenebeck            Expires September 12, 2019              [Page 90]
5041    
5042  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
5043    
5044    
5045             The instrument will be loaded when needed, that is when
5046             demanded by at least one sampler channel.  It will immediately
5047           be freed from memory when not needed by any sampler channel           be freed from memory when not needed by any sampler channel
5048           anymore.           anymore.
5049    
# Line 5255  Internet-Draft        LinuxSampler Contr Line 5090  Internet-Draft        LinuxSampler Contr
5090     this, in case the frontend shows the load modes of entries, the     this, in case the frontend shows the load modes of entries, the
5091     frontend should retrieve the actual mode by i.e. sending "GET     frontend should retrieve the actual mode by i.e. sending "GET
5092     MIDI_INSTRUMENT INFO" (Section 6.7.11) command(s).  Finally the     MIDI_INSTRUMENT INFO" (Section 6.7.11) command(s).  Finally the
    OPTIONAL <name> argument allows to set a custom name (encapsulated  
    into apostrophes, supporting escape sequences as described in chapter  
5093    
5094    
5095    
5096  Schoenebeck             Expires January 16, 2016               [Page 94]  Schoenebeck            Expires September 12, 2019              [Page 91]
5097    
5098  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
5099    
5100    
5101       OPTIONAL <name> argument allows to set a custom name (encapsulated
5102       into apostrophes, supporting escape sequences as described in chapter
5103     "Character Set and Escape Sequences (Section 7.1)") for the mapping     "Character Set and Escape Sequences (Section 7.1)") for the mapping
5104     entry, useful for frontends for displaying an appropriate name for     entry, useful for frontends for displaying an appropriate name for
5105     mapped instruments (using "GET MIDI_INSTRUMENT INFO"     mapped instruments (using "GET MIDI_INSTRUMENT INFO"
# Line 5311  Internet-Draft        LinuxSampler Contr Line 5146  Internet-Draft        LinuxSampler Contr
5146        C: "MAP MIDI_INSTRUMENT 0 0 0 gig '/usr/share/piano.gig' 0 1.0        C: "MAP MIDI_INSTRUMENT 0 0 0 gig '/usr/share/piano.gig' 0 1.0
5147        'Normal Piano'"        'Normal Piano'"
5148    
       S: "OK"  
   
5149    
5150    
5151    
5152  Schoenebeck             Expires January 16, 2016               [Page 95]  Schoenebeck            Expires September 12, 2019              [Page 92]
5153    
5154  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
5155    
5156    
5157          S: "OK"
5158    
5159        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
5160        'Silent Piano'"        'Silent Piano'"
# Line 5367  Internet-Draft        LinuxSampler Contr Line 5202  Internet-Draft        LinuxSampler Contr
5202    
5203     Where <map> is the numeric ID of the MIDI instrument map.     Where <map> is the numeric ID of the MIDI instrument map.
5204    
    The front-end can query a list of all currently existing entries of  
    all MIDI instrument maps by sending the following command:  
5205    
5206    
5207    
5208  Schoenebeck             Expires January 16, 2016               [Page 96]  Schoenebeck            Expires September 12, 2019              [Page 93]
5209    
5210  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
5211    
5212    
5213       The front-end can query a list of all currently existing entries of
5214       all MIDI instrument maps by sending the following command:
5215    
5216        LIST MIDI_INSTRUMENTS ALL        LIST MIDI_INSTRUMENTS ALL
5217    
5218     Possible Answers:     Possible Answers:
# Line 5387  Internet-Draft        LinuxSampler Contr Line 5223  Internet-Draft        LinuxSampler Contr
5223        single line.  Each triple just reflects the key of the respective        single line.  Each triple just reflects the key of the respective
5224        map entry, thus subsequent "GET MIDI_INSTRUMENT INFO"        map entry, thus subsequent "GET MIDI_INSTRUMENT INFO"
5225        (Section 6.7.11) command(s) are necessary to retrieve detailed        (Section 6.7.11) command(s) are necessary to retrieve detailed
5226        informations about each entry.        information about each entry.
5227    
5228     Example:     Example:
5229    
# Line 5425  Internet-Draft        LinuxSampler Contr Line 5261  Internet-Draft        LinuxSampler Contr
5261    
5262    
5263    
5264    Schoenebeck            Expires September 12, 2019              [Page 94]
   
   
 Schoenebeck             Expires January 16, 2016               [Page 97]  
5265    
5266  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
5267    
5268    
5269  6.7.11.  Get current settings of MIDI instrument map entry  6.7.11.  Get current settings of MIDI instrument map entry
# Line 5460  Internet-Draft        LinuxSampler Contr Line 5293  Internet-Draft        LinuxSampler Contr
5293           name shall be used by frontends for displaying a name for this           name shall be used by frontends for displaying a name for this
5294           mapped instrument.  It can be set and changed with the "MAP           mapped instrument.  It can be set and changed with the "MAP
5295           MIDI_INSTRUMENT" (Section 6.7.7) command and does not have to           MIDI_INSTRUMENT" (Section 6.7.7) command and does not have to
5296           be unique. (note that this character string may contain escape           be unique.  (note that this character string may contain escape
5297           sequences (Section 7.1))           sequences (Section 7.1))
5298    
5299        "ENGINE_NAME" -        "ENGINE_NAME" -
# Line 5480  Internet-Draft        LinuxSampler Contr Line 5313  Internet-Draft        LinuxSampler Contr
5313    
5314           Name of the loaded instrument as reflected by its file.  In           Name of the loaded instrument as reflected by its file.  In
5315           contrast to the "NAME" field, the "INSTRUMENT_NAME" field           contrast to the "NAME" field, the "INSTRUMENT_NAME" field
          cannot be changed (note that this character string may contain  
5316    
5317    
5318    
5319  Schoenebeck             Expires January 16, 2016               [Page 98]  
5320    Schoenebeck            Expires September 12, 2019              [Page 95]
5321    
5322  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
5323    
5324    
5325             cannot be changed (note that this character string may contain
5326           escape sequences (Section 7.1)).           escape sequences (Section 7.1)).
5327    
5328        "LOAD_MODE" -        "LOAD_MODE" -
# Line 5510  Internet-Draft        LinuxSampler Contr Line 5344  Internet-Draft        LinuxSampler Contr
5344    
5345        S: "NAME: Drums for Foo Song"        S: "NAME: Drums for Foo Song"
5346    
5347           "ENGINE_NAME: GigEngine"        "ENGINE_NAME: GigEngine"
5348    
5349           "INSTRUMENT_FILE: /usr/share/joesdrumkit.gig"        "INSTRUMENT_FILE: /usr/share/joesdrumkit.gig"
5350    
5351           "INSTRUMENT_NR: 0"        "INSTRUMENT_NR: 0"
5352    
5353           "INSTRUMENT_NAME: Joe's Drumkit"        "INSTRUMENT_NAME: Joe's Drumkit"
5354    
5355           "LOAD_MODE: PERSISTENT"        "LOAD_MODE: PERSISTENT"
5356    
5357           "VOLUME: 1.0"        "VOLUME: 1.0"
5358    
5359           "."        "."
5360    
5361  6.7.12.  Clear MIDI instrument map  6.7.12.  Clear MIDI instrument map
5362    
# Line 5539  Internet-Draft        LinuxSampler Contr Line 5373  Internet-Draft        LinuxSampler Contr
5373    
5374    
5375    
5376    Schoenebeck            Expires September 12, 2019              [Page 96]
 Schoenebeck             Expires January 16, 2016               [Page 99]  
5377    
5378  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
5379    
5380    
5381        CLEAR MIDI_INSTRUMENTS ALL        CLEAR MIDI_INSTRUMENTS ALL
# Line 5596  Internet-Draft        LinuxSampler Contr Line 5429  Internet-Draft        LinuxSampler Contr
5429    
5430    
5431    
5432  Schoenebeck             Expires January 16, 2016              [Page 100]  Schoenebeck            Expires September 12, 2019              [Page 97]
5433    
5434  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
5435    
5436    
5437        "OK" -        "OK" -
# Line 5652  Internet-Draft        LinuxSampler Contr Line 5485  Internet-Draft        LinuxSampler Contr
5485    
5486    
5487    
5488  Schoenebeck             Expires January 16, 2016              [Page 101]  Schoenebeck            Expires September 12, 2019              [Page 98]
5489    
5490  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
5491    
5492    
5493  6.8.3.  Getting amount of instrument directories  6.8.3.  Getting amount of instrument directories
# Line 5708  Internet-Draft        LinuxSampler Contr Line 5541  Internet-Draft        LinuxSampler Contr
5541    
5542    
5543    
5544  Schoenebeck             Expires January 16, 2016              [Page 102]  Schoenebeck            Expires September 12, 2019              [Page 99]
5545    
5546  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
5547    
5548    
5549     Example:     Example:
# Line 5764  Internet-Draft        LinuxSampler Contr Line 5597  Internet-Draft        LinuxSampler Contr
5597    
5598    
5599    
5600  Schoenebeck             Expires January 16, 2016              [Page 103]  Schoenebeck            Expires September 12, 2019             [Page 100]
5601    
5602  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
5603    
5604    
5605     Example:     Example:
# Line 5776  Internet-Draft        LinuxSampler Contr Line 5609  Internet-Draft        LinuxSampler Contr
5609        S: "DESCRIPTION: Piano collection of instruments in GigaSampler        S: "DESCRIPTION: Piano collection of instruments in GigaSampler
5610        format."        format."
5611    
5612           "CREATED: 2007-02-05 10:23:12"        "CREATED: 2007-02-05 10:23:12"
5613    
5614           "MODIFIED: 2007-04-07 12:50:21"        "MODIFIED: 2007-04-07 12:50:21"
5615    
5616           "."        "."
5617    
5618  6.8.6.  Renaming an instrument directory  6.8.6.  Renaming an instrument directory
5619    
# Line 5815  Internet-Draft        LinuxSampler Contr Line 5648  Internet-Draft        LinuxSampler Contr
5648     The front-end can move a specific instrument directory by sending the     The front-end can move a specific instrument directory by sending the
5649     following command:     following command:
5650    
5651          MOVE DB_INSTRUMENT_DIRECTORY <dir> <dst>
5652    
5653    
5654    
5655    
5656    Schoenebeck            Expires September 12, 2019             [Page 101]
 Schoenebeck             Expires January 16, 2016              [Page 104]  
5657    
5658  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
   
5659    
       MOVE DB_INSTRUMENT_DIRECTORY <dir> <dst>  
5660    
5661     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
5662     <dst> is the location where the directory will be moved to.     <dst> is the location where the directory will be moved to.
# Line 5873  Internet-Draft        LinuxSampler Contr Line 5704  Internet-Draft        LinuxSampler Contr
5704           exists in the destination directory.  Error is also thrown when           exists in the destination directory.  Error is also thrown when
5705           trying to copy a directory to a subdirectory of itself.           trying to copy a directory to a subdirectory of itself.
5706    
5707       Example:
5708    
5709    
5710    
5711    
5712  Schoenebeck             Expires January 16, 2016              [Page 105]  Schoenebeck            Expires September 12, 2019             [Page 102]
5713    
5714  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
5715    
5716    
    Example:  
   
5717        C: "COPY DB_INSTRUMENT_DIRECTORY '/Piano Collection/Acoustic'        C: "COPY DB_INSTRUMENT_DIRECTORY '/Piano Collection/Acoustic'
5718        '/Acoustic/Pianos'"        '/Acoustic/Pianos'"
5719    
# Line 5929  Internet-Draft        LinuxSampler Contr Line 5760  Internet-Draft        LinuxSampler Contr
5760     directory to search in.  If NON_RECURSIVE is specified, the     directory to search in.  If NON_RECURSIVE is specified, the
5761     directories located in subdirectories of the specified directory will     directories located in subdirectories of the specified directory will
5762     not be searched. <criteria-list> is a list of search criterias in     not be searched. <criteria-list> is a list of search criterias in
5763       form of "key1=val1 key2=val2 ...".  The following criterias are
5764       allowed:
5765    
5766    
5767    
5768  Schoenebeck             Expires January 16, 2016              [Page 106]  Schoenebeck            Expires September 12, 2019             [Page 103]
5769    
5770  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
5771    
5772    
    form of "key1=val1 key2=val2 ...".  The following criterias are  
    allowed:  
   
    NAME='<search-string>'  
   
       Restricts the search to directories, 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)").  
   
    CREATED='[<date-after>]..[<date-before>]'  
   
       Restricts the search to directories, which creation date satisfies  
       the specified period, where <date-after> and <date-before> are in  
       "YYYY-MM-DD HH:MM:SS" format.  If <date-after> is omitted the  
       search is restricted to directories created before <date-before>.  
       If <date-before> is omitted, the search is restricted to  
       directories created after <date-after>.  
   
    MODIFIED='[<date-after>]..[<date-before>]'  
   
       Restricts the search to directories, which date of last  
       modification satisfies the specified period, where <date-after>  
       and <date-before> are in "YYYY-MM-DD HH:MM:SS" format.  If <date-  
       after> is omitted the search is restricted to directories, which  
       are last modified before <date-before>.  If <date-before> is  
       omitted, the search is restricted to directories, which are last  
       modified after <date-after>.  
   
    DESCRIPTION='<search-string>'  
   
       Restricts the search to directories with description that  
       satisfies the supplied search string (encapsulated into  
       apostrophes, supporting escape sequences as described in chapter  
       "Character Set and Escape Sequences (Section 7.1)").  
   
5773     Where <search-string> is either a regular expression, or a word list     Where <search-string> is either a regular expression, or a word list
5774     separated with spaces for OR search and with '+' for AND search.     separated with spaces for OR search and with '+' for AND search.
5775    
# Line 5984  Internet-Draft        LinuxSampler Contr Line 5781  Internet-Draft        LinuxSampler Contr
5781    
5782        "ERR:<error-code>:<error-message>" -        "ERR:<error-code>:<error-message>" -
5783    
   
   
   
   
 Schoenebeck             Expires January 16, 2016              [Page 107]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
5784           if the given directory does not exist.           if the given directory does not exist.
5785    
5786     Example:     Example:
# Line 6001  Internet-Draft        LinuxSampler Contr Line 5789  Internet-Draft        LinuxSampler Contr
5789    
5790        S: "'/Piano Collection'"        S: "'/Piano Collection'"
5791    
5792        C: "FIND DB_INSTRUMENT_DIRECTORIES '/' CREATED='..2007-04-01 09:        C: "FIND DB_INSTRUMENT_DIRECTORIES '/' CREATED='..2007-04-01
5793        30:13'"        09:30:13'"
5794    
5795        S: "'/Piano Collection','/Percussions'"        S: "'/Piano Collection','/Percussions'"
5796    
# Line 6030  Internet-Draft        LinuxSampler Contr Line 5818  Internet-Draft        LinuxSampler Contr
5818    
5819        "RECURSIVE" -        "RECURSIVE" -
5820    
5821    
5822    
5823    
5824    Schoenebeck            Expires September 12, 2019             [Page 104]
5825    
5826    Internet-Draft        LinuxSampler Control Protocol           March 2019
5827    
5828    
5829           All instruments will be processed, including those in the           All instruments will be processed, including those in the
5830           subdirectories, and the respective subdirectory tree structure           subdirectories, and the respective subdirectory tree structure
5831           will be recreated in the instruments database           will be recreated in the instruments database
# Line 6039  Internet-Draft        LinuxSampler Contr Line 5835  Internet-Draft        LinuxSampler Contr
5835           Only the instruments in the specified directory will be added,           Only the instruments in the specified directory will be added,
5836           the instruments in the subdirectories will not be processed.           the instruments in the subdirectories will not be processed.
5837    
   
   
   
   
   
 Schoenebeck             Expires January 16, 2016              [Page 108]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
5838        "FLAT" -        "FLAT" -
5839    
5840           All instruments will be processed, including those in the           All instruments will be processed, including those in the
# Line 6088  Internet-Draft        LinuxSampler Contr Line 5874  Internet-Draft        LinuxSampler Contr
5874        C: "ADD DB_INSTRUMENTS '/Piano Collection' '/home/me/gigs/PMI        C: "ADD DB_INSTRUMENTS '/Piano Collection' '/home/me/gigs/PMI
5875        Bosendorfer 290.gig' 0"        Bosendorfer 290.gig' 0"
5876    
       S: "OK"  
   
 6.8.12.  Removing an instrument  
   
    The front-end can remove a particular instrument from the instruments  
    database by sending the following command:  
5877    
5878    
5879    
5880    Schoenebeck            Expires September 12, 2019             [Page 105]
5881    
5882    Internet-Draft        LinuxSampler Control Protocol           March 2019
5883    
5884    
5885          S: "OK"
5886    
5887  Schoenebeck             Expires January 16, 2016              [Page 109]  6.8.12.  Removing an instrument
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
5888    
5889       The front-end can remove a particular instrument from the instruments
5890       database by sending the following command:
5891    
5892        REMOVE DB_INSTRUMENT <instr_path>        REMOVE DB_INSTRUMENT <instr_path>
5893    
# Line 6146  Internet-Draft        LinuxSampler Contr Line 5930  Internet-Draft        LinuxSampler Contr
5930    
5931           if the given directory does not exist.           if the given directory does not exist.
5932    
    Example:  
5933    
       C: "GET DB_INSTRUMENTS '/Piano Collection'"  
   
       S: "2"  
5934    
5935    
5936    Schoenebeck            Expires September 12, 2019             [Page 106]
5937    
5938    Internet-Draft        LinuxSampler Control Protocol           March 2019
5939    
5940    
5941       Example:
5942    
5943  Schoenebeck             Expires January 16, 2016              [Page 110]        C: "GET DB_INSTRUMENTS '/Piano Collection'"
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
5944    
5945          S: "2"
5946    
5947  6.8.14.  Listing all instruments in specific directory  6.8.14.  Listing all instruments in specific directory
5948    
# Line 6203  Internet-Draft        LinuxSampler Contr Line 5986  Internet-Draft        LinuxSampler Contr
5986     Where <instr_path> should be replaced by the absolute path name of     Where <instr_path> should be replaced by the absolute path name of
5987     the instrument the front-end is interested in.     the instrument the front-end is interested in.
5988    
    Possible Answers:  
   
       LinuxSampler will answer by sending a <CRLF> separated list.  Each  
       answer line begins with the settings category name followed by a  
       colon and then a space character <SP> and finally the info  
       character string to that setting category.  At the moment the  
5989    
5990    
5991    
5992  Schoenebeck             Expires January 16, 2016              [Page 111]  Schoenebeck            Expires September 12, 2019             [Page 107]
5993    
5994  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
5995    
5996    
5997       Possible Answers:
5998    
5999          LinuxSampler will answer by sending a <CRLF> separated list.  Each
6000          answer line begins with the settings category name followed by a
6001          colon and then a space character <SP> and finally the info
6002          character string to that setting category.  At the moment the
6003        following categories are defined:        following categories are defined:
6004    
6005    
# Line 6259  Internet-Draft        LinuxSampler Contr Line 6042  Internet-Draft        LinuxSampler Contr
6042              A brief description of the instrument.  Note that the              A brief description of the instrument.  Note that the
6043              character string may contain escape sequences (Section 7.1).              character string may contain escape sequences (Section 7.1).
6044    
          IS_DRUM -  
   
             either true or false, determines whether the instrument is a  
             drumkit or a chromatic instrument  
6045    
6046    
6047    
6048    Schoenebeck            Expires September 12, 2019             [Page 108]
6049    
6050    Internet-Draft        LinuxSampler Control Protocol           March 2019
6051    
6052    
6053  Schoenebeck             Expires January 16, 2016              [Page 112]           IS_DRUM -
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
6054    
6055                either true or false, determines whether the instrument is a
6056                drumkit or a chromatic instrument
6057    
6058           PRODUCT -           PRODUCT -
6059    
# Line 6298  Internet-Draft        LinuxSampler Contr Line 6080  Internet-Draft        LinuxSampler Contr
6080    
6081        S: "INSTRUMENT_FILE: /home/me/gigs/Bosendorfer 290.gig"        S: "INSTRUMENT_FILE: /home/me/gigs/Bosendorfer 290.gig"
6082    
6083           "INSTRUMENT_NR: 0"        "INSTRUMENT_NR: 0"
6084    
6085           "FORMAT_FAMILY: GIG"        "FORMAT_FAMILY: GIG"
6086    
6087           "FORMAT_VERSION: 2"        "FORMAT_VERSION: 2"
6088    
6089           "SIZE: 2050871870"        "SIZE: 2050871870"
6090    
6091           "CREATED: 2007-02-05 10:23:12"        "CREATED: 2007-02-05 10:23:12"
6092    
6093           "MODIFIED: 2007-04-07 12:50:21"        "MODIFIED: 2007-04-07 12:50:21"
6094    
6095           "DESCRIPTION: "        "DESCRIPTION: "
6096    
6097           "IS_DRUM: false"        "IS_DRUM: false"
6098    
6099           "PRODUCT: GRANDIOSO Bosendorfer 290"        "PRODUCT: GRANDIOSO Bosendorfer 290"
6100    
          "ARTISTS: Post Musical Instruments"  
6101    
          "KEYWORDS: Bosendorfer"  
6102    
6103    
6104    Schoenebeck            Expires September 12, 2019             [Page 109]
6105    
6106    Internet-Draft        LinuxSampler Control Protocol           March 2019
6107    
6108    
6109          "ARTISTS: Post Musical Instruments"
6110    
6111  Schoenebeck             Expires January 16, 2016              [Page 113]        "KEYWORDS: Bosendorfer"
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
6112    
6113          "."
          "."  
6114    
6115  6.8.16.  Renaming an instrument  6.8.16.  Renaming an instrument
6116    
# Line 6373  Internet-Draft        LinuxSampler Contr Line 6154  Internet-Draft        LinuxSampler Contr
6154    
6155        "OK" -        "OK" -
6156    
          on success  
6157    
6158    
6159    
6160    Schoenebeck            Expires September 12, 2019             [Page 110]
   
   
 Schoenebeck             Expires January 16, 2016              [Page 114]  
6161    
6162  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
6163    
6164    
6165             on success
6166    
6167        "ERR:<error-code>:<error-message>" -        "ERR:<error-code>:<error-message>" -
6168    
6169           in case the given instrument does not exists, or if an           in case the given instrument does not exists, or if an
# Line 6427  Internet-Draft        LinuxSampler Contr Line 6206  Internet-Draft        LinuxSampler Contr
6206    
6207        S: "OK"        S: "OK"
6208    
 6.8.19.  Changing the description of instrument  
6209    
    The front-end can alter the description of a specific instrument by  
    sending the following command:  
6210    
6211    
6212    
6213    
6214    
6215  Schoenebeck             Expires January 16, 2016              [Page 115]  
6216    Schoenebeck            Expires September 12, 2019             [Page 111]
6217    
6218  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
6219    
6220    
6221    6.8.19.  Changing the description of instrument
6222    
6223       The front-end can alter the description of a specific instrument by
6224       sending the following command:
6225    
6226        SET DB_INSTRUMENT DESCRIPTION <instr> <desc>        SET DB_INSTRUMENT DESCRIPTION <instr> <desc>
6227    
6228     Where <instr> is the absolute path name of the instrument and <desc>     Where <instr> is the absolute path name of the instrument and <desc>
# Line 6479  Internet-Draft        LinuxSampler Contr Line 6261  Internet-Draft        LinuxSampler Contr
6261     form of "key1=val1 key2=val2 ...".  The following criterias are     form of "key1=val1 key2=val2 ...".  The following criterias are
6262     allowed:     allowed:
6263    
6264     NAME='<search-string>'     Where <search-string> is either a regular expression, or a word list
6265       separated with spaces for OR search and with '+' for AND search.
       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)").  
   
    SIZE=[<min>]..[<max>]  
   
   
   
   
   
 Schoenebeck             Expires January 16, 2016              [Page 116]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
       Restricts the search to instruments, which size is in the  
       specified range.  If <min> is omitted, the search results are  
       restricted to instruments with size less then or equal to <max>.  
       If <max> is omitted, the search is restricted to instruments with  
       size greater then or equal to <min>.  
   
    CREATED='[<date-after>]..[<date-before>]'  
   
       Restricts the search to instruments, which creation date satisfies  
       the specified period, where <date-after> and <date-before> are in  
       "YYYY-MM-DD HH:MM:SS" format.  If <date-after> is omitted the  
       search is restricted to instruments created before <date-before>.  
       If <date-before> is omitted, the search is restricted to  
       instruments created after <date-after>.  
   
    MODIFIED='[<date-after>]..[<date-before>]'  
   
       Restricts the search to instruments, which date of last  
       modification satisfies the specified period, where <date-after>  
       and <date-before> are in "YYYY-MM-DD HH:MM:SS" format.  If <date-  
       after> is omitted the search is restricted to instruments, which  
       are last modified before <date-before>.  If <date-before> is  
       omitted, the search is restricted to instruments, which are last  
       modified after <date-after>.  
   
    DESCRIPTION='<search-string>'  
   
       Restricts the search to instruments with description that  
       satisfies the supplied search string (encapsulated into  
       apostrophes, supporting escape sequences as described in chapter  
       "Character Set and Escape Sequences (Section 7.1)").  
   
    PRODUCT='<search-string>'  
   
       Restricts the search to instruments with product 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)").  
   
    ARTISTS='<search-string>'  
   
       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)").  
6266    
6267     KEYWORDS='<search-string>'     Possible Answers:
6268    
6269    
6270    
6271    
6272  Schoenebeck             Expires January 16, 2016              [Page 117]  Schoenebeck            Expires September 12, 2019             [Page 112]
6273    
6274  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
   
   
       Restricts the search to instruments with keyword list that  
       satisfies the supplied search string (encapsulated into  
       apostrophes, supporting escape sequences as described in chapter  
       "Character Set and Escape Sequences (Section 7.1)").  
   
    IS_DRUM=true | false  
   
       Either true or false.  Restricts the search to drum kits or  
       chromatic instruments.  
   
    FORMAT_FAMILIES='<format-list>'  
   
       Restricts the search to instruments of the supplied format  
       families, where <format-list> is a comma separated list of format  
       families.  
6275    
    Where <search-string> is either a regular expression, or a word list  
    separated with spaces for OR search and with '+' for AND search.  
   
    Possible Answers:  
6276    
6277        A comma separated list with the absolute path names (encapsulated        A comma separated list with the absolute path names (encapsulated
6278        into apostrophes) of all instruments in the specified directory        into apostrophes) of all instruments in the specified directory
# Line 6584  Internet-Draft        LinuxSampler Contr Line 6284  Internet-Draft        LinuxSampler Contr
6284    
6285     Example:     Example:
6286    
6287        C: "FIND DB_INSTRUMENTS '/Piano Collection' NAME='bosendorfer+        C: "FIND DB_INSTRUMENTS '/Piano Collection'
6288        290'"        NAME='bosendorfer+290'"
6289    
6290        S: "'/Piano Collection/Bosendorfer 290'"        S: "'/Piano Collection/Bosendorfer 290'"
6291    
# Line 6600  Internet-Draft        LinuxSampler Contr Line 6300  Internet-Draft        LinuxSampler Contr
6300     The front-end can ask for the current status of a particular database     The front-end can ask for the current status of a particular database
6301     instruments job by sending the following command:     instruments job by sending the following command:
6302    
   
   
   
   
 Schoenebeck             Expires January 16, 2016              [Page 118]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
6303        GET DB_INSTRUMENTS_JOB INFO <job-id>        GET DB_INSTRUMENTS_JOB INFO <job-id>
6304    
6305     Where <job-id> should be replaced by the numerical ID of the job the     Where <job-id> should be replaced by the numerical ID of the job the
# Line 6632  Internet-Draft        LinuxSampler Contr Line 6323  Internet-Draft        LinuxSampler Contr
6323    
6324              The current number of scanned files              The current number of scanned files
6325    
6326    
6327    
6328    Schoenebeck            Expires September 12, 2019             [Page 113]
6329    
6330    Internet-Draft        LinuxSampler Control Protocol           March 2019
6331    
6332    
6333           SCANNING -           SCANNING -
6334    
6335              The absolute path name of the file which is currently being              The absolute path name of the file which is currently being
# Line 6651  Internet-Draft        LinuxSampler Contr Line 6349  Internet-Draft        LinuxSampler Contr
6349    
6350        S: "FILES_TOTAL: 12"        S: "FILES_TOTAL: 12"
6351    
6352           "FILES_SCANNED: 7"        "FILES_SCANNED: 7"
   
          "SCANNING: /home/me/gigs/Bosendorfer 290.gig"  
   
          "STATUS: 42"  
   
6353    
6354          "SCANNING: /home/me/gigs/Bosendorfer 290.gig"
6355    
6356          "STATUS: 42"
6357    
6358  Schoenebeck             Expires January 16, 2016              [Page 119]        "."
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
          "."  
6359    
6360  6.8.22.  Formatting the instruments database  6.8.22.  Formatting the instruments database
6361    
# Line 6685  Internet-Draft        LinuxSampler Contr Line 6375  Internet-Draft        LinuxSampler Contr
6375    
6376           If the formatting of the instruments database failed.           If the formatting of the instruments database failed.
6377    
6378    
6379    
6380    
6381    
6382    
6383    
6384    Schoenebeck            Expires September 12, 2019             [Page 114]
6385    
6386    Internet-Draft        LinuxSampler Control Protocol           March 2019
6387    
6388    
6389  6.8.23.  Checking for lost instrument files  6.8.23.  Checking for lost instrument files
6390    
6391     The front-end can retrieve the list of all instrument files in the     The front-end can retrieve the list of all instrument files in the
# Line 6710  Internet-Draft        LinuxSampler Contr Line 6411  Internet-Draft        LinuxSampler Contr
6411        S: "'/gigs/Bosendorfer 290.gig','/gigs/Steinway D.gig','/gigs/Free        S: "'/gigs/Bosendorfer 290.gig','/gigs/Steinway D.gig','/gigs/Free
6412        Piano.gig'"        Piano.gig'"
6413    
   
   
   
   
   
   
 Schoenebeck             Expires January 16, 2016              [Page 120]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
6414  6.8.24.  Replacing an instrument file  6.8.24.  Replacing an instrument file
6415    
6416     The front-end can substitute all occurrences of an instrument file in     The front-end can substitute all occurrences of an instrument file in
# Line 6745  Internet-Draft        LinuxSampler Contr Line 6435  Internet-Draft        LinuxSampler Contr
6435    
6436     Example:     Example:
6437    
6438    
6439    
6440    Schoenebeck            Expires September 12, 2019             [Page 115]
6441    
6442    Internet-Draft        LinuxSampler Control Protocol           March 2019
6443    
6444    
6445        C: "SET DB_INSTRUMENT FILE_PATH '/gigs/Bosendorfer 290.gig'        C: "SET DB_INSTRUMENT FILE_PATH '/gigs/Bosendorfer 290.gig'
6446        '/gigs/pianos/Bosendorfer 290.gig'"        '/gigs/pianos/Bosendorfer 290.gig'"
6447    
# Line 6767  Internet-Draft        LinuxSampler Contr Line 6464  Internet-Draft        LinuxSampler Contr
6464     The front-end can request to open an appropriate instrument editor     The front-end can request to open an appropriate instrument editor
6465     application by sending the following command:     application by sending the following command:
6466    
   
   
   
   
   
 Schoenebeck             Expires January 16, 2016              [Page 121]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
6467        EDIT CHANNEL INSTRUMENT <sampler-channel>        EDIT CHANNEL INSTRUMENT <sampler-channel>
6468    
6469     Where <sampler-channel> should be replaced by the number of the     Where <sampler-channel> should be replaced by the number of the
# Line 6803  Internet-Draft        LinuxSampler Contr Line 6490  Internet-Draft        LinuxSampler Contr
6490    
6491           when an appropriate instrument editor was launched           when an appropriate instrument editor was launched
6492    
6493    
6494    
6495    
6496    Schoenebeck            Expires September 12, 2019             [Page 116]
6497    
6498    Internet-Draft        LinuxSampler Control Protocol           March 2019
6499    
6500    
6501        "WRN:<warning-code>:<warning-message>" -        "WRN:<warning-code>:<warning-message>" -
6502    
6503           when an appropriate instrument editor was launched, but there           when an appropriate instrument editor was launched, but there
# Line 6820  Internet-Draft        LinuxSampler Contr Line 6515  Internet-Draft        LinuxSampler Contr
6515    
6516  6.10.  Managing Files  6.10.  Managing Files
6517    
6518     You can query detailed informations about files located at the same     You can query detailed information about files located at the same
6519     system where the sampler instance is running on.  Using this command     system where the sampler instance is running on.  Using this command
6520     set allows to retrieve file informations even remotely from another     set allows to retrieve file information even remotely from another
6521     machine.     machine.
6522    
   
   
   
 Schoenebeck             Expires January 16, 2016              [Page 122]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
6523  6.10.1.  Retrieving amount of instruments of a file  6.10.1.  Retrieving amount of instruments of a file
6524    
6525     The front-end can retrieve the amount of instruments within a given     The front-end can retrieve the amount of instruments within a given
# Line 6859  Internet-Draft        LinuxSampler Contr Line 6546  Internet-Draft        LinuxSampler Contr
6546    
6547     Examples:     Examples:
6548    
6549    
6550    
6551    
6552    Schoenebeck            Expires September 12, 2019             [Page 117]
6553    
6554    Internet-Draft        LinuxSampler Control Protocol           March 2019
6555    
6556    
6557        C: "GET FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"        C: "GET FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"
6558    
6559        S: "10"        S: "10"
# Line 6880  Internet-Draft        LinuxSampler Contr Line 6575  Internet-Draft        LinuxSampler Contr
6575    
6576     Possible Answers:     Possible Answers:
6577    
   
   
   
   
 Schoenebeck             Expires January 16, 2016              [Page 123]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
6578        On success, the sampler will answer by returning a comma separated        On success, the sampler will answer by returning a comma separated
6579        list of instrument IDs.        list of instrument IDs.
6580    
# Line 6902  Internet-Draft        LinuxSampler Contr Line 6588  Internet-Draft        LinuxSampler Contr
6588    
6589        S: "0,1,2,3,4,5,6,7,8,9"        S: "0,1,2,3,4,5,6,7,8,9"
6590    
6591  6.10.3.  Retrieving informations about one instrument in a file  6.10.3.  Retrieving information about one instrument in a file
6592    
6593     The front-end can retrieve detailed informations about a specific     The front-end can retrieve detailed information about a specific
6594     instrument within a given instrument file by sending the following     instrument within a given instrument file by sending the following
6595     command:     command:
6596    
# Line 6916  Internet-Draft        LinuxSampler Contr Line 6602  Internet-Draft        LinuxSampler Contr
6602     the numeric instrument ID as returned by the "LIST FILE INSTRUMENTS"     the numeric instrument ID as returned by the "LIST FILE INSTRUMENTS"
6603     (Section 6.10.2) command.     (Section 6.10.2) command.
6604    
6605    
6606    
6607    
6608    Schoenebeck            Expires September 12, 2019             [Page 118]
6609    
6610    Internet-Draft        LinuxSampler Control Protocol           March 2019
6611    
6612    
6613     The sampler will try to ask all sampler engines, whether they support     The sampler will try to ask all sampler engines, whether they support
6614     the given file and ask the first engine with a positive answer for     the given file and ask the first engine with a positive answer for
6615     informations about the specific instrument in the given file.     information about the specific instrument in the given file.
6616    
6617     Possible Answers:     Possible Answers:
6618    
# Line 6936  Internet-Draft        LinuxSampler Contr Line 6630  Internet-Draft        LinuxSampler Contr
6630    
6631           FORMAT_FAMILY -           FORMAT_FAMILY -
6632    
   
   
   
   
 Schoenebeck             Expires January 16, 2016              [Page 124]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
6633              name of the sampler format of the given instrument              name of the sampler format of the given instrument
6634    
6635           FORMAT_VERSION -           FORMAT_VERSION -
# Line 6973  Internet-Draft        LinuxSampler Contr Line 6658  Internet-Draft        LinuxSampler Contr
6658              127, reflecting the analog meaning of the MIDI              127, reflecting the analog meaning of the MIDI
6659              specification.              specification.
6660    
    The mentioned fields above don't have to be in particular order.  
6661    
    Example:  
6662    
       C: "GET FILE INSTRUMENT INFO 'D:/Sounds/Foo.gig' 0"  
6663    
6664        S: "NAME: Lunatic Loops"  Schoenebeck            Expires September 12, 2019             [Page 119]
6665    
6666           "FORMAT_FAMILY: GIG"  Internet-Draft        LinuxSampler Control Protocol           March 2019
   
          "FORMAT_VERSION: 3"  
6667    
          "PRODUCT: The Backbone Bongo Beats"  
6668    
6669           "ARTISTS: Jimmy the Fish"     The mentioned fields above don't have to be in particular order.
6670    
6671           "."     Example:
6672    
6673          C: "GET FILE INSTRUMENT INFO 'D:/Sounds/Foo.gig' 0"
6674    
6675          S: "NAME: Lunatic Loops"
6676    
6677          "FORMAT_FAMILY: GIG"
6678    
6679          "FORMAT_VERSION: 3"
6680    
6681          "PRODUCT: The Backbone Bongo Beats"
6682    
6683  Schoenebeck             Expires January 16, 2016              [Page 125]        "ARTISTS: Jimmy the Fish"
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
6684    
6685          "."
6686    
6687  6.11.  Managing Effects  6.11.  Managing Effects
6688    
6689     Audio effects (e.g. reverb, delay, compression) can be applied to the     There are two possible approaches to apply audio effects (e.g.
6690     audio signals generated by the sampler.  The sampler usually provides     reverb, delay, compression).  You can either a) load and apply
6691     a set of internal audio effects for this task.  The exact set of     internal effects or you can b) route effect sends directly to
6692     effects depends on the availability of third party effect plugins     dedicated output channels of your audio device and apply effects
6693     installed on the system where the sampler runs on.     externally (e.g. by routing those dedicated output channels to
6694       another application).
6695    
6696       This chapter describes how to load and manage internal effects.  If
6697       your intention is rather to apply effects externally, then you can
6698       omit this chapter.  For applying effects externally, you just need to
6699       create FX sends (Section 6.4.28) on the respective sampler channel(s)
6700       and adjust their destination audio channels (Section 6.4.34)
6701       appropriately, because by default FX sends are automatically routed
6702       directly to the audio output device.
6703    
6704       The sampler usually provides a set of internal audio effects.  The
6705       exact set of effects depends on the availability of third party
6706       effect plugins installed on the system where the sampler runs on
6707       (e.g.  LADSPA plugins).
6708    
6709     At the moment only "send effects" are supported.  Support for "insert     At the moment only "send effects" are supported.  Support for "insert
6710     effects" and "master effects" is planned to be added at a later     effects" and "master effects" is planned to be added at a later
6711     point.     point.
6712    
6713     The following commands allow to retrieve the set of internal effects     The following commands allow to retrieve the set of internal effects
6714     available to the sampler, detailed informations about those effects     available to the sampler, detailed information about those effects
6715     and to create and destroy instances of such effects.  After an     and to create and destroy instances of such effects.  After an
6716    
6717    
6718    
6719    
6720    Schoenebeck            Expires September 12, 2019             [Page 120]
6721    
6722    Internet-Draft        LinuxSampler Control Protocol           March 2019
6723    
6724    
6725     instance of an effect is created, the effect instance can be inserted     instance of an effect is created, the effect instance can be inserted
6726     into the audio signal path of the sampler, e.g. as send effect.     into the audio signal path of the sampler, e.g. as send effect.
6727    
# Line 7048  Internet-Draft        LinuxSampler Contr Line 6754  Internet-Draft        LinuxSampler Contr
6754    
6755        C: "GET AVAILABLE_EFFECTS"        C: "GET AVAILABLE_EFFECTS"
6756    
   
   
   
   
 Schoenebeck             Expires January 16, 2016              [Page 126]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
6757        S: "129"        S: "129"
6758    
6759  6.11.2.  Get list of available effects  6.11.2.  Get list of available effects
# Line 7072  Internet-Draft        LinuxSampler Contr Line 6769  Internet-Draft        LinuxSampler Contr
6769        The sampler will answer by returning a comma separated list with        The sampler will answer by returning a comma separated list with
6770        numerical IDs of effects.  Note: the numercial ID of an effect is        numerical IDs of effects.  Note: the numercial ID of an effect is
6771        generated by the sampler for the current moment.  The numerical ID        generated by the sampler for the current moment.  The numerical ID
6772    
6773    
6774    
6775    
6776    Schoenebeck            Expires September 12, 2019             [Page 121]
6777    
6778    Internet-Draft        LinuxSampler Control Protocol           March 2019
6779    
6780    
6781        of the same effect can change at runtime, e.g. when the user        of the same effect can change at runtime, e.g. when the user
6782        requests a rescan of available effect plugins.        requests a rescan of available effect plugins.
6783    
# Line 7083  Internet-Draft        LinuxSampler Contr Line 6789  Internet-Draft        LinuxSampler Contr
6789    
6790  6.11.3.  Retrieving general information about an effect  6.11.3.  Retrieving general information about an effect
6791    
6792     The front-end can ask for general informations about an effect by     The front-end can ask for general information about an effect by
6793     sending the following command:     sending the following command:
6794    
6795        GET EFFECT INFO <effect-index>        GET EFFECT INFO <effect-index>
# Line 7106  Internet-Draft        LinuxSampler Contr Line 6812  Internet-Draft        LinuxSampler Contr
6812              name of the effect plugin system the effect is based on              name of the effect plugin system the effect is based on
6813              (e.g.  "LADSPA")              (e.g.  "LADSPA")
6814    
   
   
 Schoenebeck             Expires January 16, 2016              [Page 127]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
6815           MODULE -           MODULE -
6816    
6817              module of the effect plugin system that contains this              module of the effect plugin system that contains this
# Line 7127  Internet-Draft        LinuxSampler Contr Line 6826  Internet-Draft        LinuxSampler Contr
6826              within its module (note that the character string may              within its module (note that the character string may
6827              contain escape sequences (Section 7.1))              contain escape sequences (Section 7.1))
6828    
6829    
6830    
6831    
6832    Schoenebeck            Expires September 12, 2019             [Page 122]
6833    
6834    Internet-Draft        LinuxSampler Control Protocol           March 2019
6835    
6836    
6837           DESCRIPTION -           DESCRIPTION -
6838    
6839              human readable name of the effect, intended to be displayed              human readable name of the effect, intended to be displayed
# Line 7141  Internet-Draft        LinuxSampler Contr Line 6848  Internet-Draft        LinuxSampler Contr
6848    
6849        S: "SYSTEM: LADSPA"        S: "SYSTEM: LADSPA"
6850    
6851           "MODULE: /usr/lib/ladspa/lowpass_iir_1891.so"        "MODULE: /usr/lib/ladspa/lowpass_iir_1891.so"
6852    
6853           "NAME: lowpass_iir"        "NAME: lowpass_iir"
6854    
6855           "DESCRIPTION: Glame Lowpass Filter"        "DESCRIPTION: Glame Lowpass Filter"
6856    
6857           "."        "."
6858    
6859  6.11.4.  Creating an instance of an effect by its portable ID  6.11.4.  Creating an instance of an effect by its portable ID
6860    
# Line 7162  Internet-Draft        LinuxSampler Contr Line 6869  Internet-Draft        LinuxSampler Contr
6869     <module> and the character string of argument <effect-name> may     <module> and the character string of argument <effect-name> may
6870     contain escape sequences (Section 7.1).     contain escape sequences (Section 7.1).
6871    
   
   
 Schoenebeck             Expires January 16, 2016              [Page 128]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
6872     The sampler will try to load the requested effect and to create an     The sampler will try to load the requested effect and to create an
6873     instance of it.  To allow loading the same effect on a different     instance of it.  To allow loading the same effect on a different
6874     machine, probably even running a completely different operating     machine, probably even running a completely different operating
# Line 7183  Internet-Draft        LinuxSampler Contr Line 6883  Internet-Draft        LinuxSampler Contr
6883     search for an effect that only matches the given <effect-system> and     search for an effect that only matches the given <effect-system> and
6884     <effect-name> arguments.     <effect-name> arguments.
6885    
6886    
6887    
6888    Schoenebeck            Expires September 12, 2019             [Page 123]
6889    
6890    Internet-Draft        LinuxSampler Control Protocol           March 2019
6891    
6892    
6893     Possible Answers:     Possible Answers:
6894    
6895        "OK[<effect-instance>]" -        "OK[<effect-instance>]" -
# Line 7218  Internet-Draft        LinuxSampler Contr Line 6925  Internet-Draft        LinuxSampler Contr
6925     Where <effect-index> is the numerical ID of the effect as returned by     Where <effect-index> is the numerical ID of the effect as returned by
6926     the "LIST AVAILABLE_EFFECTS" (Section 6.11.2) command.     the "LIST AVAILABLE_EFFECTS" (Section 6.11.2) command.
6927    
   
   
 Schoenebeck             Expires January 16, 2016              [Page 129]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
6928     The sampler will try to load the requested effect and to create an     The sampler will try to load the requested effect and to create an
6929     instance of it.     instance of it.
6930    
# Line 7239  Internet-Draft        LinuxSampler Contr Line 6939  Internet-Draft        LinuxSampler Contr
6939    
6940     Possible Answers:     Possible Answers:
6941    
6942    
6943    
6944    Schoenebeck            Expires September 12, 2019             [Page 124]
6945    
6946    Internet-Draft        LinuxSampler Control Protocol           March 2019
6947    
6948    
6949        "OK[<effect-instance>]" -        "OK[<effect-instance>]" -
6950    
6951           in case the effect instance was successfully created, where           in case the effect instance was successfully created, where
# Line 7273  Internet-Draft        LinuxSampler Contr Line 6980  Internet-Draft        LinuxSampler Contr
6980     EFFECT_INSTANCES" (Section 6.11.8) command.     EFFECT_INSTANCES" (Section 6.11.8) command.
6981    
6982     The effect instance can only be destroyed if it's not used in any     The effect instance can only be destroyed if it's not used in any
   
   
   
 Schoenebeck             Expires January 16, 2016              [Page 130]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
6983     part of the sampler's audio signal path anymore.  If the effect     part of the sampler's audio signal path anymore.  If the effect
6984     instance is still in use somewhere, trying to destroy the effect     instance is still in use somewhere, trying to destroy the effect
6985     instance will result in an error message.     instance will result in an error message.
# Line 7296  Internet-Draft        LinuxSampler Contr Line 6995  Internet-Draft        LinuxSampler Contr
6995           in case it failed, providing an appropriate error code and           in case it failed, providing an appropriate error code and
6996           error message           error message
6997    
6998    
6999    
7000    Schoenebeck            Expires September 12, 2019             [Page 125]
7001    
7002    Internet-Draft        LinuxSampler Control Protocol           March 2019
7003    
7004    
7005     Examples:     Examples:
7006    
7007        C: "DESTROY EFFECT_INSTANCE 5"        C: "DESTROY EFFECT_INSTANCE 5"
# Line 7330  Internet-Draft        LinuxSampler Contr Line 7036  Internet-Draft        LinuxSampler Contr
7036    
7037     Possible Answers:     Possible Answers:
7038    
   
   
 Schoenebeck             Expires January 16, 2016              [Page 131]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
7039        The sampler will answer by returning a comma separated list with        The sampler will answer by returning a comma separated list with
7040        numerical IDs of effects instances.        numerical IDs of effects instances.
7041    
# Line 7348  Internet-Draft        LinuxSampler Contr Line 7047  Internet-Draft        LinuxSampler Contr
7047    
7048  6.11.9.  Retrieving current information about an effect instance  6.11.9.  Retrieving current information about an effect instance
7049    
7050     The front-end can ask for the current informations about a particular     The front-end can ask for the current information about a particular
7051     effect instance by sending the following command:     effect instance by sending the following command:
7052    
7053    
7054    
7055    
7056    Schoenebeck            Expires September 12, 2019             [Page 126]
7057    
7058    Internet-Draft        LinuxSampler Control Protocol           March 2019
7059    
7060    
7061        GET EFFECT_INSTANCE INFO <effect-instance>        GET EFFECT_INSTANCE INFO <effect-instance>
7062    
7063     Where <effect-instance> is the numerical ID of an effect instance as     Where <effect-instance> is the numerical ID of an effect instance as
# Line 7386  Internet-Draft        LinuxSampler Contr Line 7093  Internet-Draft        LinuxSampler Contr
7093              within its module (note that the character string may              within its module (note that the character string may
7094              contain escape sequences (Section 7.1))              contain escape sequences (Section 7.1))
7095    
   
   
 Schoenebeck             Expires January 16, 2016              [Page 132]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
7096           DESCRIPTION -           DESCRIPTION -
7097    
7098              human readable name of the effect, intended to be displayed              human readable name of the effect, intended to be displayed
# Line 7406  Internet-Draft        LinuxSampler Contr Line 7106  Internet-Draft        LinuxSampler Contr
7106    
7107     The mentioned fields above don't have to be in particular order.     The mentioned fields above don't have to be in particular order.
7108    
7109    
7110    
7111    
7112    Schoenebeck            Expires September 12, 2019             [Page 127]
7113    
7114    Internet-Draft        LinuxSampler Control Protocol           March 2019
7115    
7116    
7117     Example:     Example:
7118    
7119        C: "GET EFFECT_INSTANCE INFO 3"        C: "GET EFFECT_INSTANCE INFO 3"
7120    
7121        S: "SYSTEM: LADSPA"        S: "SYSTEM: LADSPA"
7122    
7123           "MODULE: /usr/lib/ladspa/mod_delay_1419.so"        "MODULE: /usr/lib/ladspa/mod_delay_1419.so"
7124    
7125           "NAME: modDelay"        "NAME: modDelay"
7126    
7127           "DESCRIPTION: Modulatable delay"        "DESCRIPTION: Modulatable delay"
7128    
7129           "INPUT_CONTROLS: 1"        "INPUT_CONTROLS: 1"
7130    
7131           "."        "."
7132    
7133  6.11.10.  Retrieving information about an effect parameter  6.11.10.  Retrieving information about an effect parameter
7134    
# Line 7428  Internet-Draft        LinuxSampler Contr Line 7136  Internet-Draft        LinuxSampler Contr
7136     can be altered by the user in realtime (e.g. depth of a reverb     can be altered by the user in realtime (e.g. depth of a reverb
7137     effect, duration of a delay effect, dry / wet signal ratio).  Those     effect, duration of a delay effect, dry / wet signal ratio).  Those
7138     controllable effect parameters are called "input controls".  The     controllable effect parameters are called "input controls".  The
7139     front-end can ask for the current informations of an effect     front-end can ask for the current information of an effect instance's
7140     instance's input control by sending the following command:     input control by sending the following command:
7141    
7142        GET EFFECT_INSTANCE_INPUT_CONTROL INFO <effect-instance> <input-        GET EFFECT_INSTANCE_INPUT_CONTROL INFO <effect-instance> <input-
7143        control>        control>
# Line 7441  Internet-Draft        LinuxSampler Contr Line 7149  Internet-Draft        LinuxSampler Contr
7149     the "INPUT_CONTROLS" field of the "GET EFFECT_INSTANCE INFO"     the "INPUT_CONTROLS" field of the "GET EFFECT_INSTANCE INFO"
7150     (Section 6.11.9) command.     (Section 6.11.9) command.
7151    
   
   
   
 Schoenebeck             Expires January 16, 2016              [Page 133]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
7152     Possible Answers:     Possible Answers:
7153    
7154        LinuxSampler will answer by sending a <CRLF> separated list.  Each        LinuxSampler will answer by sending a <CRLF> separated list.  Each
# Line 7462  Internet-Draft        LinuxSampler Contr Line 7162  Internet-Draft        LinuxSampler Contr
7162    
7163    
7164    
7165    
7166    
7167    
7168    Schoenebeck            Expires September 12, 2019             [Page 128]
7169    
7170    Internet-Draft        LinuxSampler Control Protocol           March 2019
7171    
7172    
7173           DESCRIPTION -           DESCRIPTION -
7174    
7175              (always returned) human readable name of the effect              (always returned) human readable name of the effect
# Line 7498  Internet-Draft        LinuxSampler Contr Line 7206  Internet-Draft        LinuxSampler Contr
7206    
7207     Example:     Example:
7208    
7209          C: "GET EFFECT_INSTANCE_INPUT_CONTROL INFO 1 0"
7210    
7211          S: "DESCRIPTION: Base delay (s)"
7212    
7213  Schoenebeck             Expires January 16, 2016              [Page 134]        "VALUE: 0.500"
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
7214    
7215          "RANGE_MIN: 0.000"
7216    
7217          "."
7218    
       C: "GET EFFECT_INSTANCE_INPUT_CONTROL INFO 1 0"  
7219    
       S: "DESCRIPTION: Base delay (s)"  
7220    
          "VALUE: 0.500"  
7221    
          "RANGE_MIN: 0.000"  
7222    
7223           "."  
7224    Schoenebeck            Expires September 12, 2019             [Page 129]
7225    
7226    Internet-Draft        LinuxSampler Control Protocol           March 2019
7227    
7228    
7229  6.11.11.  Altering an effect parameter  6.11.11.  Altering an effect parameter
7230    
# Line 7553  Internet-Draft        LinuxSampler Contr Line 7264  Internet-Draft        LinuxSampler Contr
7264     The front-end can retrieve the current amount of send effect chains     The front-end can retrieve the current amount of send effect chains
7265     of an audio output device by sending the following command:     of an audio output device by sending the following command:
7266    
   
   
   
 Schoenebeck             Expires January 16, 2016              [Page 135]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
7267        GET SEND_EFFECT_CHAINS <audio-device>        GET SEND_EFFECT_CHAINS <audio-device>
7268    
7269     Where <audio-device> should be replaced by the numerical ID of the     Where <audio-device> should be replaced by the numerical ID of the
# Line 7570  Internet-Draft        LinuxSampler Contr Line 7273  Internet-Draft        LinuxSampler Contr
7273    
7274     Possible Answers:     Possible Answers:
7275    
7276    
7277    
7278    
7279    
7280    Schoenebeck            Expires September 12, 2019             [Page 130]
7281    
7282    Internet-Draft        LinuxSampler Control Protocol           March 2019
7283    
7284    
7285        The sampler will answer by returning the current number of send        The sampler will answer by returning the current number of send
7286        effect chains of the supplied audio output device.        effect chains of the supplied audio output device.
7287    
# Line 7608  Internet-Draft        LinuxSampler Contr Line 7320  Internet-Draft        LinuxSampler Contr
7320     The front-end can add a send effect chain by sending the following     The front-end can add a send effect chain by sending the following
7321     command:     command:
7322    
   
   
   
   
 Schoenebeck             Expires January 16, 2016              [Page 136]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
7323        ADD SEND_EFFECT_CHAIN <audio-device>        ADD SEND_EFFECT_CHAIN <audio-device>
7324    
7325     Where <audio-device> should be replaced by the numerical ID of the     Where <audio-device> should be replaced by the numerical ID of the
# Line 7628  Internet-Draft        LinuxSampler Contr Line 7331  Internet-Draft        LinuxSampler Contr
7331    
7332        "OK[<effect-chain>]" -        "OK[<effect-chain>]" -
7333    
7334    
7335    
7336    Schoenebeck            Expires September 12, 2019             [Page 131]
7337    
7338    Internet-Draft        LinuxSampler Control Protocol           March 2019
7339    
7340    
7341           in case the send effect chain was added successfully, where           in case the send effect chain was added successfully, where
7342           <effect-chain> is the numerical ID of the new send effect chain           <effect-chain> is the numerical ID of the new send effect chain
7343    
# Line 7665  Internet-Draft        LinuxSampler Contr Line 7375  Internet-Draft        LinuxSampler Contr
7375    
7376           if the send effect chain could not be removed           if the send effect chain could not be removed
7377    
   
   
   
 Schoenebeck             Expires January 16, 2016              [Page 137]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
7378     Examples:     Examples:
7379    
7380        C: "REMOVE SEND_EFFECT_CHAIN 0 2"        C: "REMOVE SEND_EFFECT_CHAIN 0 2"
# Line 7681  Internet-Draft        LinuxSampler Contr Line 7383  Internet-Draft        LinuxSampler Contr
7383    
7384  6.11.16.  Retrieving information about a send effect chain  6.11.16.  Retrieving information about a send effect chain
7385    
7386     The front-end can ask for informations of a send effect chain by     The front-end can ask for information of a send effect chain by
7387     sending the following command:     sending the following command:
7388    
7389    
7390    
7391    
7392    Schoenebeck            Expires September 12, 2019             [Page 132]
7393    
7394    Internet-Draft        LinuxSampler Control Protocol           March 2019
7395    
7396    
7397        GET SEND_EFFECT_CHAIN INFO <audio-device> <effect-chain>        GET SEND_EFFECT_CHAIN INFO <audio-device> <effect-chain>
7398    
7399     Where <audio-device> should be replaced by the numerical ID of the     Where <audio-device> should be replaced by the numerical ID of the
# Line 7721  Internet-Draft        LinuxSampler Contr Line 7431  Internet-Draft        LinuxSampler Contr
7431    
7432        S: "EFFECT_COUNT: 3"        S: "EFFECT_COUNT: 3"
7433    
7434          "EFFECT_SEQUENCE: 31,4,7"
7435    
7436          "."
   
 Schoenebeck             Expires January 16, 2016              [Page 138]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
          "EFFECT_SEQUENCE: 31,4,7"  
   
          "."  
7437    
7438  6.11.17.  Append effect instance to a send effect chain  6.11.17.  Append effect instance to a send effect chain
7439    
# Line 7741  Internet-Draft        LinuxSampler Contr Line 7443  Internet-Draft        LinuxSampler Contr
7443        APPEND SEND_EFFECT_CHAIN EFFECT <audio-device> <effect-chain>        APPEND SEND_EFFECT_CHAIN EFFECT <audio-device> <effect-chain>
7444        <effect-instance>        <effect-instance>
7445    
7446    
7447    
7448    Schoenebeck            Expires September 12, 2019             [Page 133]
7449    
7450    Internet-Draft        LinuxSampler Control Protocol           March 2019
7451    
7452    
7453     Where <audio-device> should be replaced by the numerical ID of the     Where <audio-device> should be replaced by the numerical ID of the
7454     audio output device as given by the "CREATE AUDIO_OUTPUT_DEVICE"     audio output device as given by the "CREATE AUDIO_OUTPUT_DEVICE"
7455     (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)
# Line 7775  Internet-Draft        LinuxSampler Contr Line 7484  Internet-Draft        LinuxSampler Contr
7484     The front-end can add an unused effect instance to a certain position     The front-end can add an unused effect instance to a certain position
7485     of a send effect chain by sending the following command:     of a send effect chain by sending the following command:
7486    
   
   
   
   
   
 Schoenebeck             Expires January 16, 2016              [Page 139]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
7487        INSERT SEND_EFFECT_CHAIN EFFECT <audio-device> <effect-chain>        INSERT SEND_EFFECT_CHAIN EFFECT <audio-device> <effect-chain>
7488        <chain-pos> <effect-instance>        <chain-pos> <effect-instance>
7489    
# Line 7798  Internet-Draft        LinuxSampler Contr Line 7497  Internet-Draft        LinuxSampler Contr
7497     (Section 6.11.8) command and <chain-pos> the exact position of the     (Section 6.11.8) command and <chain-pos> the exact position of the
7498     effect chain where the supplied effect shall be inserted to.     effect chain where the supplied effect shall be inserted to.
7499    
7500    
7501    
7502    
7503    
7504    Schoenebeck            Expires September 12, 2019             [Page 134]
7505    
7506    Internet-Draft        LinuxSampler Control Protocol           March 2019
7507    
7508    
7509     Only unused effect instances can be added to the effect chain.     Only unused effect instances can be added to the effect chain.
7510     Trying to add an effect instance which is already in use somewhere in     Trying to add an effect instance which is already in use somewhere in
7511     the audio signal path of the sampler will result in an error.     the audio signal path of the sampler will result in an error.
# Line 7834  Internet-Draft        LinuxSampler Contr Line 7542  Internet-Draft        LinuxSampler Contr
7542     (Section 6.11.13) command and <chain-pos> the exact position of the     (Section 6.11.13) command and <chain-pos> the exact position of the
7543     effect instance to be removed from the effect chain.     effect instance to be removed from the effect chain.
7544    
   
   
 Schoenebeck             Expires January 16, 2016              [Page 140]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
7545     Possible Answers:     Possible Answers:
7546    
7547        "OK" -        "OK" -
# Line 7853  Internet-Draft        LinuxSampler Contr Line 7554  Internet-Draft        LinuxSampler Contr
7554    
7555     Examples:     Examples:
7556    
       C: "REMOVE SEND_EFFECT_CHAIN EFFECT 0 2 4"  
   
       S: "OK"  
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
7557    
7558    
7559    
7560    Schoenebeck            Expires September 12, 2019             [Page 135]
7561    
7562    Internet-Draft        LinuxSampler Control Protocol           March 2019
7563    
7564    
7565  Schoenebeck             Expires January 16, 2016              [Page 141]        C: "REMOVE SEND_EFFECT_CHAIN EFFECT 0 2 4"
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
7566    
7567          S: "OK"
7568    
7569  7.  Command Syntax  7.  Command Syntax
7570    
# Line 7941  Internet-Draft        LinuxSampler Contr Line 7610  Internet-Draft        LinuxSampler Contr
7610    
7611        / MAP SP map_instruction        / MAP SP map_instruction
7612    
       / UNMAP SP unmap_instruction  
7613    
       / GET SP get_instruction  
7614    
7615    
7616    Schoenebeck            Expires September 12, 2019             [Page 136]
7617    
7618    Internet-Draft        LinuxSampler Control Protocol           March 2019
7619    
7620    
7621  Schoenebeck             Expires January 16, 2016              [Page 142]        / UNMAP SP unmap_instruction
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
7622    
7623          / GET SP get_instruction
7624    
7625        / CREATE SP create_instruction        / CREATE SP create_instruction
7626    
# Line 7997  Internet-Draft        LinuxSampler Contr Line 7666  Internet-Draft        LinuxSampler Contr
7666    
7667        CHANNEL        CHANNEL
7668    
       / CHANNEL SP MIDI_INPUT SP sampler_channel SP device_index  
   
       / CHANNEL SP MIDI_INPUT SP sampler_channel SP device_index SP  
       midi_input_port_index  
7669    
7670    
7671    
7672  Schoenebeck             Expires January 16, 2016              [Page 143]  Schoenebeck            Expires September 12, 2019             [Page 137]
7673    
7674  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
7675    
7676    
7677          / CHANNEL SP MIDI_INPUT SP sampler_channel SP device_index
7678    
7679          / CHANNEL SP MIDI_INPUT SP sampler_channel SP device_index SP
7680          midi_input_port_index
7681    
7682        / DB_INSTRUMENT_DIRECTORY SP db_path        / DB_INSTRUMENT_DIRECTORY SP db_path
7683    
7684        / 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
# Line 8052  Internet-Draft        LinuxSampler Contr Line 7722  Internet-Draft        LinuxSampler Contr
7722    
7723        / DEVICE_MIDI        / DEVICE_MIDI
7724    
       / VOICE_COUNT  
   
       / STREAM_COUNT  
7725    
7726    
7727    
7728    Schoenebeck            Expires September 12, 2019             [Page 138]
7729    
7730    Internet-Draft        LinuxSampler Control Protocol           March 2019
7731    
7732    
7733  Schoenebeck             Expires January 16, 2016              [Page 144]        / VOICE_COUNT
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
7734    
7735          / STREAM_COUNT
7736    
7737        / BUFFER_FILL        / BUFFER_FILL
7738    
# Line 8109  Internet-Draft        LinuxSampler Contr Line 7778  Internet-Draft        LinuxSampler Contr
7778    
7779     unsubscribe_event =     unsubscribe_event =
7780    
       AUDIO_OUTPUT_DEVICE_COUNT  
7781    
       / AUDIO_OUTPUT_DEVICE_INFO  
7782    
7783    
7784    Schoenebeck            Expires September 12, 2019             [Page 139]
7785    
7786    Internet-Draft        LinuxSampler Control Protocol           March 2019
7787    
7788    
7789  Schoenebeck             Expires January 16, 2016              [Page 145]        AUDIO_OUTPUT_DEVICE_COUNT
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
7790    
7791          / AUDIO_OUTPUT_DEVICE_INFO
7792    
7793        / MIDI_INPUT_DEVICE_COUNT        / MIDI_INPUT_DEVICE_COUNT
7794    
# Line 8165  Internet-Draft        LinuxSampler Contr Line 7834  Internet-Draft        LinuxSampler Contr
7834    
7835        / TOTAL_STREAM_COUNT        / TOTAL_STREAM_COUNT
7836    
       / TOTAL_VOICE_COUNT  
7837    
       / GLOBAL_INFO  
7838    
7839    
7840    Schoenebeck            Expires September 12, 2019             [Page 140]
7841    
7842    Internet-Draft        LinuxSampler Control Protocol           March 2019
7843    
7844    
7845  Schoenebeck             Expires January 16, 2016              [Page 146]        / TOTAL_VOICE_COUNT
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
7846    
7847          / GLOBAL_INFO
7848    
7849        / EFFECT_INSTANCE_COUNT        / EFFECT_INSTANCE_COUNT
7850    
# Line 8221  Internet-Draft        LinuxSampler Contr Line 7890  Internet-Draft        LinuxSampler Contr
7890    
7891        / MIDI_INSTRUMENT_MAP SP ALL        / MIDI_INSTRUMENT_MAP SP ALL
7892    
       / SEND_EFFECT_CHAIN SP device_index SP effect_chain  
7893    
       / SEND_EFFECT_CHAIN SP EFFECT SP device_index SP effect_chain SP  
       chain_pos  
7894    
7895    
7896    Schoenebeck            Expires September 12, 2019             [Page 141]
 Schoenebeck             Expires January 16, 2016              [Page 147]  
7897    
7898  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
7899    
7900    
7901          / SEND_EFFECT_CHAIN SP device_index SP effect_chain
7902    
7903          / SEND_EFFECT_CHAIN SP EFFECT SP device_index SP effect_chain SP
7904          chain_pos
7905    
7906        / FX_SEND SP EFFECT SP sampler_channel SP fx_send_id        / FX_SEND SP EFFECT SP sampler_channel SP fx_send_id
7907    
7908        / DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path        / DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path
# Line 8275  Internet-Draft        LinuxSampler Contr Line 7945  Internet-Draft        LinuxSampler Contr
7945    
7946        / AUDIO_OUTPUT_DRIVER_PARAMETER SP INFO SP string SP string        / AUDIO_OUTPUT_DRIVER_PARAMETER SP INFO SP string SP string
7947    
       / AUDIO_OUTPUT_DRIVER_PARAMETER SP INFO SP string SP string SP  
       key_val_list  
7948    
       / AUDIO_OUTPUT_DEVICES  
7949    
7950    
7951    
7952    Schoenebeck            Expires September 12, 2019             [Page 142]
7953    
7954    Internet-Draft        LinuxSampler Control Protocol           March 2019
7955    
7956    
7957  Schoenebeck             Expires January 16, 2016              [Page 148]        / AUDIO_OUTPUT_DRIVER_PARAMETER SP INFO SP string SP string SP
7958          key_val_list
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
7959    
7960          / AUDIO_OUTPUT_DEVICES
7961    
7962        / MIDI_INPUT_DEVICES        / MIDI_INPUT_DEVICES
7963    
# Line 8332  Internet-Draft        LinuxSampler Contr Line 8002  Internet-Draft        LinuxSampler Contr
8002    
8003        / MIDI_INSTRUMENT_MAPS        / MIDI_INSTRUMENT_MAPS
8004    
       / MIDI_INSTRUMENT_MAP SP INFO SP midi_map  
   
       / FX_SENDS SP sampler_channel  
8005    
8006    
8007    
8008    Schoenebeck            Expires September 12, 2019             [Page 143]
8009    
8010    Internet-Draft        LinuxSampler Control Protocol           March 2019
8011    
8012    
8013  Schoenebeck             Expires January 16, 2016              [Page 149]        / MIDI_INSTRUMENT_MAP SP INFO SP midi_map
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
8014    
8015          / FX_SENDS SP sampler_channel
8016    
8017        / FX_SEND SP INFO SP sampler_channel SP fx_send_id        / FX_SEND SP INFO SP sampler_channel SP fx_send_id
8018    
# Line 8390  Internet-Draft        LinuxSampler Contr Line 8059  Internet-Draft        LinuxSampler Contr
8059        / EFFECT_INSTANCE_INPUT_CONTROL SP VALUE SP effect_instance SP        / EFFECT_INSTANCE_INPUT_CONTROL SP VALUE SP effect_instance SP
8060        input_control SP control_value        input_control SP control_value
8061    
       / CHANNEL SP set_chan_instruction  
   
8062    
8063    
8064    Schoenebeck            Expires September 12, 2019             [Page 144]
   
 Schoenebeck             Expires January 16, 2016              [Page 150]  
8065    
8066  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
8067    
8068    
8069          / CHANNEL SP set_chan_instruction
8070    
8071        / MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name        / MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name
8072    
8073        / 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
# Line 8450  Internet-Draft        LinuxSampler Contr Line 8117  Internet-Draft        LinuxSampler Contr
8117    
8118    
8119    
8120    Schoenebeck            Expires September 12, 2019             [Page 145]
   
 Schoenebeck             Expires January 16, 2016              [Page 151]  
8121    
8122  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
8123    
8124    
8125        / MIDI_INPUT_DEVICE SP string SP key_val_list        / MIDI_INPUT_DEVICE SP string SP key_val_list
# Line 8508  Internet-Draft        LinuxSampler Contr Line 8173  Internet-Draft        LinuxSampler Contr
8173    
8174    
8175    
8176  Schoenebeck             Expires January 16, 2016              [Page 152]  Schoenebeck            Expires September 12, 2019             [Page 146]
8177    
8178  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
8179    
8180    
8181        AUDIO_OUTPUT_DEVICE SP number        AUDIO_OUTPUT_DEVICE SP number
# Line 8560  Internet-Draft        LinuxSampler Contr Line 8225  Internet-Draft        LinuxSampler Contr
8225    
8226        / VOLUME SP sampler_channel SP volume_value        / VOLUME SP sampler_channel SP volume_value
8227    
8228          / MUTE SP sampler_channel SP boolean
8229    
8230    
8231    
8232    Schoenebeck            Expires September 12, 2019             [Page 147]
 Schoenebeck             Expires January 16, 2016              [Page 153]  
8233    
8234  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
8235    
8236    
       / MUTE SP sampler_channel SP boolean  
   
8237        / SOLO SP sampler_channel SP boolean        / SOLO SP sampler_channel SP boolean
8238    
8239        / MIDI_INSTRUMENT_MAP SP sampler_channel SP midi_map        / MIDI_INSTRUMENT_MAP SP sampler_channel SP midi_map
# Line 8617  Internet-Draft        LinuxSampler Contr Line 8280  Internet-Draft        LinuxSampler Contr
8280    
8281        / AVAILABLE_ENGINES        / AVAILABLE_ENGINES
8282    
8283          / AVAILABLE_EFFECTS
8284    
8285    
8286    
 Schoenebeck             Expires January 16, 2016              [Page 154]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
8287    
8288    Schoenebeck            Expires September 12, 2019             [Page 148]
8289    
8290    Internet-Draft        LinuxSampler Control Protocol           March 2019
8291    
       / AVAILABLE_EFFECTS  
8292    
8293        / EFFECT_INSTANCES        / EFFECT_INSTANCES
8294    
# Line 8672  Internet-Draft        LinuxSampler Contr Line 8335  Internet-Draft        LinuxSampler Contr
8335    
8336        ON_DEMAND        ON_DEMAND
8337    
8338          / ON_DEMAND_HOLD
8339    
8340          / PERSISTENT
8341    
8342    
8343    
8344  Schoenebeck             Expires January 16, 2016              [Page 155]  Schoenebeck            Expires September 12, 2019             [Page 149]
8345    
8346  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
   
   
       / ON_DEMAND_HOLD  
8347    
       / PERSISTENT  
8348    
8349     effect_instance =     effect_instance =
8350    
# Line 8729  Internet-Draft        LinuxSampler Contr Line 8390  Internet-Draft        LinuxSampler Contr
8390    
8391     midi_ctrl =     midi_ctrl =
8392    
8393          number
8394    
8395       volume_value =
8396    
8397    
 Schoenebeck             Expires January 16, 2016              [Page 156]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
8398    
8399    
8400        number  Schoenebeck            Expires September 12, 2019             [Page 150]
8401    
8402    Internet-Draft        LinuxSampler Control Protocol           March 2019
8403    
    volume_value =  
8404    
8405        dotnum        dotnum
8406    
# Line 8785  Internet-Draft        LinuxSampler Contr Line 8446  Internet-Draft        LinuxSampler Contr
8446    
8447        stringval_escaped        stringval_escaped
8448    
8449       effect_name =
8450    
8451          stringval_escaped
8452    
8453    
 Schoenebeck             Expires January 16, 2016              [Page 157]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
8454    
8455    
8456     effect_name =  Schoenebeck            Expires September 12, 2019             [Page 151]
8457    
8458    Internet-Draft        LinuxSampler Control Protocol           March 2019
8459    
       stringval_escaped  
8460    
8461     effect_index =     effect_index =
8462    
# Line 8841  Internet-Draft        LinuxSampler Contr Line 8502  Internet-Draft        LinuxSampler Contr
8502    
8503        / stringval_escaped        / stringval_escaped
8504    
8505       scan_mode =
8506    
8507          RECURSIVE
8508    
8509    
 Schoenebeck             Expires January 16, 2016              [Page 158]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
8510    
8511    
8512     scan_mode =  Schoenebeck            Expires September 12, 2019             [Page 152]
8513    
8514    Internet-Draft        LinuxSampler Control Protocol           March 2019
8515    
       RECURSIVE  
8516    
8517        / NON_RECURSIVE        / NON_RECURSIVE
8518    
# Line 8897  Internet-Draft        LinuxSampler Contr Line 8558  Internet-Draft        LinuxSampler Contr
8558     |                        |                                          |     |                        |                                          |
8559     | \OOO                   | three digit octal ASCII code of the      |     | \OOO                   | three digit octal ASCII code of the      |
8560     |                        | character                                |     |                        | character                                |
8561       |                        |                                          |
8562       | \xHH                   | two digit hex ASCII code of the          |
8563       |                        | character                                |
8564       +------------------------+------------------------------------------+
8565    
8566    
8567    
8568  Schoenebeck             Expires January 16, 2016              [Page 159]  Schoenebeck            Expires September 12, 2019             [Page 153]
8569    
8570  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
8571    
8572    
    | \xHH                   | two digit hex ASCII code of the          |  
    |                        | character                                |  
    +------------------------+------------------------------------------+  
   
8573     Notice: due to the transition of certain parts of the protocol which     Notice: due to the transition of certain parts of the protocol which
8574     now support escape sequences, a slight backward incompatibility to     now support escape sequences, a slight backward incompatibility to
8575     protocols version v1.1 and younger has been introduced.  The only     protocols version v1.1 and younger has been introduced.  The only
# Line 8953  Internet-Draft        LinuxSampler Contr Line 8614  Internet-Draft        LinuxSampler Contr
8614    
8615        "SET DB_INSTRUMENT_DIRECTORY DESCRIPTION" (Section 6.8.9)        "SET DB_INSTRUMENT_DIRECTORY DESCRIPTION" (Section 6.8.9)
8616    
8617          "SET DB_INSTRUMENT NAME" (Section 6.8.16)
8618    
8619          "SET DB_INSTRUMENT DESCRIPTION" (Section 6.8.19)
8620    
8621    
 Schoenebeck             Expires January 16, 2016              [Page 160]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
8622    
8623    
8624        "SET DB_INSTRUMENT NAME" (Section 6.8.16)  Schoenebeck            Expires September 12, 2019             [Page 154]
8625    
8626    Internet-Draft        LinuxSampler Control Protocol           March 2019
8627    
       "SET DB_INSTRUMENT DESCRIPTION" (Section 6.8.19)  
8628    
8629        "FIND DB_INSTRUMENTS" (Section 6.8.20)        "FIND DB_INSTRUMENTS" (Section 6.8.20)
8630    
# Line 9009  Internet-Draft        LinuxSampler Contr Line 8670  Internet-Draft        LinuxSampler Contr
8670    
8671     The following LSCP commands even support escape sequences as part of     The following LSCP commands even support escape sequences as part of
8672     at least one of their text-based arguments (i.e. entity name,     at least one of their text-based arguments (i.e. entity name,
8673       description) and / or may contain escape sequences in at least one of
8674       their text-based fields in their response:
8675    
8676          "GET SERVER INFO" (Section 6.6.5)
8677    
8678    
 Schoenebeck             Expires January 16, 2016              [Page 161]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
8679    
8680     description) and / or may contain escape sequences in at least one of  Schoenebeck            Expires September 12, 2019             [Page 155]
8681     their text-based fields in their response:  
8682    Internet-Draft        LinuxSampler Control Protocol           March 2019
8683    
       "GET SERVER INFO" (Section 6.6.5)  
8684    
8685        "GET ENGINE INFO" (Section 6.4.9)        "GET ENGINE INFO" (Section 6.4.9)
8686    
# Line 9065  Internet-Draft        LinuxSampler Contr Line 8725  Internet-Draft        LinuxSampler Contr
8725        "CREATE EFFECT_INSTANCE" (Section 6.11.4)        "CREATE EFFECT_INSTANCE" (Section 6.11.4)
8726    
8727     Please note that these lists are manually maintained.  If you find a     Please note that these lists are manually maintained.  If you find a
   
   
   
 Schoenebeck             Expires January 16, 2016              [Page 162]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
8728     command that also supports escape sequences we forgot to mention     command that also supports escape sequences we forgot to mention
8729     here, please report it!     here, please report it!
8730    
# Line 9081  Internet-Draft        LinuxSampler Contr Line 8733  Internet-Draft        LinuxSampler Contr
8733    
8734    
8735    
8736    Schoenebeck            Expires September 12, 2019             [Page 156]
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
 Schoenebeck             Expires January 16, 2016              [Page 163]  
8737    
8738  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
8739    
8740    
8741  8.  Events  8.  Events
# Line 9176  Internet-Draft        LinuxSampler Contr Line 8785  Internet-Draft        LinuxSampler Contr
8785    
8786     Server will start sending the following notification messages:     Server will start sending the following notification messages:
8787    
8788          "NOTIFY:MIDI_INPUT_DEVICE_COUNT:<devices>"
8789    
8790    
8791    
8792    Schoenebeck            Expires September 12, 2019             [Page 157]
 Schoenebeck             Expires January 16, 2016              [Page 164]  
8793    
8794  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
8795    
8796    
       "NOTIFY:MIDI_INPUT_DEVICE_COUNT:<devices>"  
   
8797     where <devices> will be replaced by the new number of MIDI input     where <devices> will be replaced by the new number of MIDI input
8798     devices.     devices.
8799    
# Line 9233  Internet-Draft        LinuxSampler Contr Line 8840  Internet-Draft        LinuxSampler Contr
8840     Server will start sending one of the the following notification     Server will start sending one of the the following notification
8841     messages:     messages:
8842    
8843          "NOTIFY:CHANNEL_MIDI:<channel-id> NOTE_ON <note> <velocity>"
8844    
8845    
8846    
 Schoenebeck             Expires January 16, 2016              [Page 165]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
8847    
8848    Schoenebeck            Expires September 12, 2019             [Page 158]
8849    
8850    Internet-Draft        LinuxSampler Control Protocol           March 2019
8851    
       "NOTIFY:CHANNEL_MIDI:<channel-id> NOTE_ON <note> <velocity>"  
8852    
8853        "NOTIFY:CHANNEL_MIDI:<channel-id> NOTE_OFF <note> <velocity>"        "NOTIFY:CHANNEL_MIDI:<channel-id> NOTE_OFF <note> <velocity>"
8854    
# Line 9289  Internet-Draft        LinuxSampler Contr Line 8896  Internet-Draft        LinuxSampler Contr
8896     Client may want to be notified when the number of voices on the back-     Client may want to be notified when the number of voices on the back-
8897     end changes by issuing the following command:     end changes by issuing the following command:
8898    
8899          SUBSCRIBE VOICE_COUNT
8900    
8901    
8902    
 Schoenebeck             Expires January 16, 2016              [Page 166]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
8903    
8904    Schoenebeck            Expires September 12, 2019             [Page 159]
8905    
8906    Internet-Draft        LinuxSampler Control Protocol           March 2019
8907    
       SUBSCRIBE VOICE_COUNT  
8908    
8909     Server will start sending the following notification messages:     Server will start sending the following notification messages:
8910    
# Line 9345  Internet-Draft        LinuxSampler Contr Line 8952  Internet-Draft        LinuxSampler Contr
8952     Client may want to be notified when changes were made to sampler     Client may want to be notified when changes were made to sampler
8953     channels on the back-end by issuing the following command:     channels on the back-end by issuing the following command:
8954    
8955          SUBSCRIBE CHANNEL_INFO
8956    
8957    
8958    
 Schoenebeck             Expires January 16, 2016              [Page 167]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
8959    
8960    Schoenebeck            Expires September 12, 2019             [Page 160]
8961    
8962    Internet-Draft        LinuxSampler Control Protocol           March 2019
8963    
       SUBSCRIBE CHANNEL_INFO  
8964    
8965     Server will start sending the following notification messages:     Server will start sending the following notification messages:
8966    
# Line 9404  Internet-Draft        LinuxSampler Contr Line 9011  Internet-Draft        LinuxSampler Contr
9011    
9012    
9013    
9014  Schoenebeck             Expires January 16, 2016              [Page 168]  
9015    
9016    Schoenebeck            Expires September 12, 2019             [Page 161]
9017    
9018  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
9019    
9020    
9021  8.14.  Total number of active voices changed  8.14.  Total number of active voices changed
# Line 9456  Internet-Draft        LinuxSampler Contr Line 9065  Internet-Draft        LinuxSampler Contr
9065     Client may want to be notified when changes were made to MIDI     Client may want to be notified when changes were made to MIDI
9066     instrument maps on the back-end by issuing the following command:     instrument maps on the back-end by issuing the following command:
9067    
9068          SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO
9069    
9070    
9071    
9072    Schoenebeck            Expires September 12, 2019             [Page 162]
 Schoenebeck             Expires January 16, 2016              [Page 169]  
9073    
9074  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
9075    
9076    
       SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO  
   
9077     Server will start sending the following notification messages:     Server will start sending the following notification messages:
9078    
9079        "NOTIFY:MIDI_INSTRUMENT_MAP_INFO:<map-id>"        "NOTIFY:MIDI_INSTRUMENT_MAP_INFO:<map-id>"
# Line 9516  Internet-Draft        LinuxSampler Contr Line 9123  Internet-Draft        LinuxSampler Contr
9123    
9124    
9125    
9126  Schoenebeck             Expires January 16, 2016              [Page 170]  
9127    
9128    Schoenebeck            Expires September 12, 2019             [Page 163]
9129    
9130  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
9131    
9132    
9133  8.20.  Global settings changed  8.20.  Global settings changed
# Line 9565  Internet-Draft        LinuxSampler Contr Line 9174  Internet-Draft        LinuxSampler Contr
9174     Note that when a non-empty directory is removed, this event is not     Note that when a non-empty directory is removed, this event is not
9175     sent for the subdirectories in that directory.     sent for the subdirectories in that directory.
9176    
 8.22.  Database instrument directory information changed  
9177    
    Client may want to be notified when changes were made to directories  
    in the instruments database by issuing the following command:  
9178    
9179    
9180    
9181  Schoenebeck             Expires January 16, 2016              [Page 171]  
9182    
9183    
9184    Schoenebeck            Expires September 12, 2019             [Page 164]
9185    
9186  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
9187    
9188    
9189    8.22.  Database instrument directory information changed
9190    
9191       Client may want to be notified when changes were made to directories
9192       in the instruments database by issuing the following command:
9193    
9194        SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO        SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO
9195    
# Line 9617  Internet-Draft        LinuxSampler Contr Line 9231  Internet-Draft        LinuxSampler Contr
9231     Note that when a non-empty directory is removed, this event is not     Note that when a non-empty directory is removed, this event is not
9232     sent for the instruments in that directory.     sent for the instruments in that directory.
9233    
 8.24.  Database instrument information changed  
9234    
    Client may want to be notified when changes were made to instruments  
    in the instruments database by issuing the following command:  
9235    
       SUBSCRIBE DB_INSTRUMENT_INFO  
9236    
    Server will start sending the following notification messages:  
9237    
9238    
9239    
9240  Schoenebeck             Expires January 16, 2016              [Page 172]  Schoenebeck            Expires September 12, 2019             [Page 165]
9241    
9242  Internet-Draft        LinuxSampler Control Protocol            July 2015  Internet-Draft        LinuxSampler Control Protocol           March 2019
9243    
9244    
9245    8.24.  Database instrument information changed
9246    
9247       Client may want to be notified when changes were made to instruments
9248       in the instruments database by issuing the following command:
9249    
9250          SUBSCRIBE DB_INSTRUMENT_INFO
9251    
9252       Server will start sending the following notification messages:
9253    
9254        "NOTIFY:DB_INSTRUMENT_INFO:<instr-path>"        "NOTIFY:DB_INSTRUMENT_INFO:<instr-path>"
9255    
# Line 9668  Internet-Draft        LinuxSampler Contr Line 9286  Internet-Draft        LinuxSampler Contr
9286     real time events happening on the server, it is believed that an     real time events happening on the server, it is believed that an
9287     empty notification message is sufficient here.     empty notification message is sufficient here.
9288    
9289    
9290    
9291    
9292    
9293    
9294    
9295    
9296    Schoenebeck            Expires September 12, 2019             [Page 166]
9297    
9298    Internet-Draft        LinuxSampler Control Protocol           March 2019
9299    
9300    
9301  8.26.  Number of effect instances changed  8.26.  Number of effect instances changed
9302    
9303     Client may want to be notified when the number of effect instances is     Client may want to be notified when the number of effect instances is
# Line 9682  Internet-Draft        LinuxSampler Contr Line 9312  Internet-Draft        LinuxSampler Contr
9312     where <instances> will be replaced by the new number of effect     where <instances> will be replaced by the new number of effect
9313     instances.     instances.
9314    
   
   
 Schoenebeck             Expires January 16, 2016              [Page 173]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
9315  8.27.  Effect instance information changed  8.27.  Effect instance information changed
9316    
9317     Client may want to be notified when changes were made to effect     Client may want to be notified when changes were made to effect
# Line 9719  Internet-Draft        LinuxSampler Contr Line 9342  Internet-Draft        LinuxSampler Contr
9342     and <chains> will be replaced by the new number of send effect     and <chains> will be replaced by the new number of send effect
9343     chains.     chains.
9344    
9345    
9346    
9347    
9348    
9349    
9350    
9351    
9352    Schoenebeck            Expires September 12, 2019             [Page 167]
9353    
9354    Internet-Draft        LinuxSampler Control Protocol           March 2019
9355    
9356    
9357  8.29.  Send effect chain information changed  8.29.  Send effect chain information changed
9358    
9359     Client may want to be notified when changes were made to send effect     Client may want to be notified when changes were made to send effect
# Line 9737  Internet-Draft        LinuxSampler Contr Line 9372  Internet-Draft        LinuxSampler Contr
9372        changed and <instances> will be replaced by the new number of        changed and <instances> will be replaced by the new number of
9373        effect instances in the specified send effect chain.        effect instances in the specified send effect chain.
9374    
   
   
   
 Schoenebeck             Expires January 16, 2016              [Page 174]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
9375  8.30.  Miscellaneous and debugging events  8.30.  Miscellaneous and debugging events
9376    
9377     Client may want to be notified of miscellaneous and debugging events     Client may want to be notified of miscellaneous and debugging events
# Line 9760  Internet-Draft        LinuxSampler Contr Line 9387  Internet-Draft        LinuxSampler Contr
9387     to the client.  Client MAY display this data to the user AS IS to     to the client.  Client MAY display this data to the user AS IS to
9388     facilitate debugging.     facilitate debugging.
9389    
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
 Schoenebeck             Expires January 16, 2016              [Page 175]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
9390  9.  Security Considerations  9.  Security Considerations
9391    
9392     As there is so far no method of authentication and authorization     As there is so far no method of authentication and authorization
# Line 9808  Internet-Draft        LinuxSampler Contr Line 9394  Internet-Draft        LinuxSampler Contr
9394     connect, running LinuxSampler might be a security risk for the host     connect, running LinuxSampler might be a security risk for the host
9395     system the LinuxSampler instance is running on.     system the LinuxSampler instance is running on.
9396    
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
 Schoenebeck             Expires January 16, 2016              [Page 176]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
9397  10.  Acknowledgments  10.  Acknowledgments
9398    
9399     This document has benefited greatly from the comments of the     This document has benefited greatly from the comments of the
# Line 9865  Internet-Draft        LinuxSampler Contr Line 9402  Internet-Draft        LinuxSampler Contr
9402    
9403        Rui Nuno Capela        Rui Nuno Capela
9404    
       Vladimir Senkov  
   
       Mark Knecht  
   
       Grigor Iliev  
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
9405    
9406    
9407    
9408    Schoenebeck            Expires September 12, 2019             [Page 168]
9409    
9410    Internet-Draft        LinuxSampler Control Protocol           March 2019
9411    
9412    
9413          Vladimir Senkov
9414    
9415  Schoenebeck             Expires January 16, 2016              [Page 177]        Mark Knecht
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
9416    
9417          Grigor Iliev
9418    
9419  11.  References  11.  References
9420    
# Line 9927  Internet-Draft        LinuxSampler Contr Line 9430  Internet-Draft        LinuxSampler Contr
9430     [RFC793]   Defense Advanced Research Projects Agency, "TRANSMISSION     [RFC793]   Defense Advanced Research Projects Agency, "TRANSMISSION
9431                CONTROL PROTOCOL", RFC 793, 1981.                CONTROL PROTOCOL", RFC 793, 1981.
9432    
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
 Schoenebeck             Expires January 16, 2016              [Page 178]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
9433  Author's Address  Author's Address
9434    
9435     C. Schoenebeck     C. Schoenebeck (editor)
9436     LinuxSampler.org     LinuxSampler.org
9437     Crudebyte Engineering     Crudebyte Engineering
9438     Hofgartenstr. 3     Hofgartenstr. 3
# Line 10000  Author's Address Line 9461  Author's Address
9461    
9462    
9463    
9464    Schoenebeck            Expires September 12, 2019             [Page 169]
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
 Schoenebeck             Expires January 16, 2016              [Page 179]  
   
 Internet-Draft        LinuxSampler Control Protocol            July 2015  
   
   
 Full Copyright Statement  
   
    Copyright (C) The IETF Trust (2015).  
   
    This document is subject to the rights, licenses and restrictions  
    contained in BCP 78, and except as set forth therein, the authors  
    retain all their rights.  
   
    This document and the information contained herein are provided on an  
    "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS  
    OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND  
    THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS  
    OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF  
    THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED  
    WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  
   
   
 Intellectual Property  
   
    The IETF takes no position regarding the validity or scope of any  
    Intellectual Property Rights or other rights that might be claimed to  
    pertain to the implementation or use of the technology described in  
    this document or the extent to which any license under such rights  
    might or might not be available; nor does it represent that it has  
    made any independent effort to identify any such rights.  Information  
    on the procedures with respect to rights in RFC documents can be  
    found in BCP 78 and BCP 79.  
   
    Copies of IPR disclosures made to the IETF Secretariat and any  
    assurances of licenses to be made available, or the result of an  
    attempt made to obtain a general license or permission for the use of  
    such proprietary rights by implementers or users of this  
    specification can be obtained from the IETF on-line IPR repository at  
    http://www.ietf.org/ipr.  
   
    The IETF invites any interested party to bring to its attention any  
    copyrights, patents or patent applications, or other proprietary  
    rights that may cover technology that may be required to implement  
    this standard.  Please address the information to the IETF at  
    ietf-ipr@ietf.org.  
   
   
   
   
   
   
   
   
   
   
   
 Schoenebeck             Expires January 16, 2016              [Page 180]  
   

Legend:
Removed from v.3502  
changed lines
  Added in v.3503

  ViewVC Help
Powered by ViewVC