--- web/trunk/www.linuxsampler.org/api/draft-linuxsampler-protocol.txt 2007/09/30 21:33:26 1362 +++ web/trunk/www.linuxsampler.org/api/draft-linuxsampler-protocol.txt 2007/09/30 21:51:14 1363 @@ -4,7 +4,7 @@ LinuxSampler Developers C. Schoenebeck Internet-Draft Interessengemeinschaft Software Intended status: Standards Track Engineering e. V. -Expires: December 24, 2007 June 22, 2007 +Expires: March 4, 2008 September 2007 LinuxSampler Control Protocol (draft) @@ -33,7 +33,7 @@ The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. - This Internet-Draft will expire on December 24, 2007. + This Internet-Draft will expire on March 4, 2008. Copyright Notice @@ -52,9 +52,9 @@ -Schoenebeck Expires December 24, 2007 [Page 1] +Schoenebeck Expires March 4, 2008 [Page 1] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 Abstract @@ -108,9 +108,9 @@ -Schoenebeck Expires December 24, 2007 [Page 2] +Schoenebeck Expires March 4, 2008 [Page 2] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 6.3.8. Getting all created MIDI input device list . . . . . 37 @@ -126,23 +126,23 @@ 6.4.3. Getting all created sampler channel count . . . . . . 45 6.4.4. Getting all created sampler channel list . . . . . . 45 6.4.5. Adding a new sampler channel . . . . . . . . . . . . 46 - 6.4.6. Removing a sampler channel . . . . . . . . . . . . . 46 + 6.4.6. Removing a sampler channel . . . . . . . . . . . . . 47 6.4.7. Getting amount of available engines . . . . . . . . . 47 6.4.8. Getting all available engines . . . . . . . . . . . . 48 6.4.9. Getting information about an engine . . . . . . . . . 48 6.4.10. Getting sampler channel information . . . . . . . . . 49 6.4.11. Current number of active voices . . . . . . . . . . . 52 - 6.4.12. Current number of active disk streams . . . . . . . . 52 + 6.4.12. Current number of active disk streams . . . . . . . . 53 6.4.13. Current fill state of disk stream buffers . . . . . . 53 6.4.14. Setting audio output device . . . . . . . . . . . . . 54 6.4.15. Setting audio output type . . . . . . . . . . . . . . 55 6.4.16. Setting audio output channel . . . . . . . . . . . . 55 6.4.17. Setting MIDI input device . . . . . . . . . . . . . . 56 6.4.18. Setting MIDI input type . . . . . . . . . . . . . . . 57 - 6.4.19. Setting MIDI input port . . . . . . . . . . . . . . . 57 + 6.4.19. Setting MIDI input port . . . . . . . . . . . . . . . 58 6.4.20. Setting MIDI input channel . . . . . . . . . . . . . 58 6.4.21. Setting channel volume . . . . . . . . . . . . . . . 59 - 6.4.22. Muting a sampler channel . . . . . . . . . . . . . . 59 + 6.4.22. Muting a sampler channel . . . . . . . . . . . . . . 60 6.4.23. Soloing a sampler channel . . . . . . . . . . . . . . 60 6.4.24. Assigning a MIDI instrument map to a sampler channel . . . . . . . . . . . . . . . . . . . . . . . 61 @@ -164,17 +164,17 @@ -Schoenebeck Expires December 24, 2007 [Page 3] +Schoenebeck Expires March 4, 2008 [Page 3] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 6.5.4. Close client connection . . . . . . . . . . . . . . . 72 - 6.6. Global commands . . . . . . . . . . . . . . . . . . . . . 72 + 6.6. Global commands . . . . . . . . . . . . . . . . . . . . . 73 6.6.1. Current number of active voices . . . . . . . . . . . 73 6.6.2. Maximum amount of active voices . . . . . . . . . . . 73 6.6.3. Reset sampler . . . . . . . . . . . . . . . . . . . . 73 - 6.6.4. General sampler informations . . . . . . . . . . . . 73 + 6.6.4. General sampler informations . . . . . . . . . . . . 74 6.6.5. Getting global volume attenuation . . . . . . . . . . 74 6.6.6. Setting global volume attenuation . . . . . . . . . . 75 6.7. MIDI Instrument Mapping . . . . . . . . . . . . . . . . . 75 @@ -193,7 +193,7 @@ 6.7.12. Clear MIDI instrument map . . . . . . . . . . . . . . 86 6.8. Managing Instruments Database . . . . . . . . . . . . . . 87 6.8.1. Creating a new instrument directory . . . . . . . . . 87 - 6.8.2. Deleting an instrument directory . . . . . . . . . . 87 + 6.8.2. Deleting an instrument directory . . . . . . . . . . 88 6.8.3. Getting amount of instrument directories . . . . . . 88 6.8.4. Listing all directories in specific directory . . . . 89 6.8.5. Getting instrument directory information . . . . . . 89 @@ -206,52 +206,56 @@ 6.8.12. Removing an instrument . . . . . . . . . . . . . . . 96 6.8.13. Getting amount of instruments . . . . . . . . . . . . 96 6.8.14. Listing all instruments in specific directory . . . . 97 - 6.8.15. Getting instrument information . . . . . . . . . . . 97 + 6.8.15. Getting instrument information . . . . . . . . . . . 98 6.8.16. Renaming an instrument . . . . . . . . . . . . . . . 100 - 6.8.17. Moving an instrument . . . . . . . . . . . . . . . . 100 + 6.8.17. Moving an instrument . . . . . . . . . . . . . . . . 101 6.8.18. Copying instruments . . . . . . . . . . . . . . . . . 101 6.8.19. Changing the description of instrument . . . . . . . 102 6.8.20. Finding instruments . . . . . . . . . . . . . . . . . 102 - 6.8.21. Getting job status information . . . . . . . . . . . 104 - 7. Command Syntax . . . . . . . . . . . . . . . . . . . . . . . 106 - 7.1. Character Set and Escape Sequences . . . . . . . . . . . 119 - 8. Events . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 - 8.1. Number of audio output devices changed . . . . . . . . . 121 + 6.8.21. Getting job status information . . . . . . . . . . . 105 + 6.8.22. Formatting the instruments database . . . . . . . . . 106 + 6.9. Editing Instruments . . . . . . . . . . . . . . . . . . . 106 + 6.9.1. Opening an appropriate instrument editor + application . . . . . . . . . . . . . . . . . . . . . 106 -Schoenebeck Expires December 24, 2007 [Page 4] +Schoenebeck Expires March 4, 2008 [Page 4] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 - 8.2. Audio output device's settings changed . . . . . . . . . 121 - 8.3. Number of MIDI input devices changed . . . . . . . . . . 121 - 8.4. MIDI input device's settings changed . . . . . . . . . . 122 - 8.5. Number of sampler channels changed . . . . . . . . . . . 122 - 8.6. Number of active voices changed . . . . . . . . . . . . . 122 - 8.7. Number of active disk streams changed . . . . . . . . . . 123 - 8.8. Disk stream buffer fill state changed . . . . . . . . . . 123 - 8.9. Channel information changed . . . . . . . . . . . . . . . 123 - 8.10. Number of effect sends changed . . . . . . . . . . . . . 124 - 8.11. Effect send information changed . . . . . . . . . . . . . 124 - 8.12. Total number of active voices changed . . . . . . . . . . 124 - 8.13. Number of MIDI instrument maps changed . . . . . . . . . 125 - 8.14. MIDI instrument map information changed . . . . . . . . . 125 - 8.15. Number of MIDI instruments changed . . . . . . . . . . . 125 - 8.16. MIDI instrument information changed . . . . . . . . . . . 126 - 8.17. Global settings changed . . . . . . . . . . . . . . . . . 126 - 8.18. Number of database instrument directories changed . . . . 127 - 8.19. Database instrument directory information changed . . . . 127 - 8.20. Number of database instruments changed . . . . . . . . . 128 - 8.21. Database instrument information changed . . . . . . . . . 128 - 8.22. Database job status information changed . . . . . . . . . 129 - 8.23. Miscellaneous and debugging events . . . . . . . . . . . 129 - 9. Security Considerations . . . . . . . . . . . . . . . . . . . 130 - 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 131 - 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 132 - Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 133 - Intellectual Property and Copyright Statements . . . . . . . . . 134 + 7. Command Syntax . . . . . . . . . . . . . . . . . . . . . . . 108 + 7.1. Character Set and Escape Sequences . . . . . . . . . . . 121 + 8. Events . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 + 8.1. Number of audio output devices changed . . . . . . . . . 123 + 8.2. Audio output device's settings changed . . . . . . . . . 123 + 8.3. Number of MIDI input devices changed . . . . . . . . . . 123 + 8.4. MIDI input device's settings changed . . . . . . . . . . 124 + 8.5. Number of sampler channels changed . . . . . . . . . . . 124 + 8.6. Number of active voices changed . . . . . . . . . . . . . 124 + 8.7. Number of active disk streams changed . . . . . . . . . . 125 + 8.8. Disk stream buffer fill state changed . . . . . . . . . . 125 + 8.9. Channel information changed . . . . . . . . . . . . . . . 125 + 8.10. Number of effect sends changed . . . . . . . . . . . . . 126 + 8.11. Effect send information changed . . . . . . . . . . . . . 126 + 8.12. Total number of active voices changed . . . . . . . . . . 126 + 8.13. Number of MIDI instrument maps changed . . . . . . . . . 127 + 8.14. MIDI instrument map information changed . . . . . . . . . 127 + 8.15. Number of MIDI instruments changed . . . . . . . . . . . 127 + 8.16. MIDI instrument information changed . . . . . . . . . . . 128 + 8.17. Global settings changed . . . . . . . . . . . . . . . . . 128 + 8.18. Number of database instrument directories changed . . . . 129 + 8.19. Database instrument directory information changed . . . . 129 + 8.20. Number of database instruments changed . . . . . . . . . 130 + 8.21. Database instrument information changed . . . . . . . . . 130 + 8.22. Database job status information changed . . . . . . . . . 131 + 8.23. Miscellaneous and debugging events . . . . . . . . . . . 131 + 9. Security Considerations . . . . . . . . . . . . . . . . . . . 132 + 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 133 + 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 134 + Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 135 + Intellectual Property and Copyright Statements . . . . . . . . . 136 @@ -272,13 +276,9 @@ - - - - -Schoenebeck Expires December 24, 2007 [Page 5] +Schoenebeck Expires March 4, 2008 [Page 5] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 1. Requirements notation @@ -332,9 +332,9 @@ -Schoenebeck Expires December 24, 2007 [Page 6] +Schoenebeck Expires March 4, 2008 [Page 6] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 2. Versioning of this specification @@ -388,9 +388,9 @@ -Schoenebeck Expires December 24, 2007 [Page 7] +Schoenebeck Expires March 4, 2008 [Page 7] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 3. Introduction @@ -444,9 +444,9 @@ -Schoenebeck Expires December 24, 2007 [Page 8] +Schoenebeck Expires March 4, 2008 [Page 8] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 4. Focus of this protocol @@ -500,9 +500,9 @@ -Schoenebeck Expires December 24, 2007 [Page 9] +Schoenebeck Expires March 4, 2008 [Page 9] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 5. Communication Overview @@ -556,9 +556,9 @@ -Schoenebeck Expires December 24, 2007 [Page 10] +Schoenebeck Expires March 4, 2008 [Page 10] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 5.1.1. Result format @@ -612,9 +612,9 @@ -Schoenebeck Expires December 24, 2007 [Page 11] +Schoenebeck Expires March 4, 2008 [Page 11] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 set has the following format: @@ -668,9 +668,9 @@ -Schoenebeck Expires December 24, 2007 [Page 12] +Schoenebeck Expires March 4, 2008 [Page 12] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 Each line of the result set MUST end with . @@ -724,9 +724,9 @@ -Schoenebeck Expires December 24, 2007 [Page 13] +Schoenebeck Expires March 4, 2008 [Page 13] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 inserted in the middle of the event message as well as any other @@ -780,9 +780,9 @@ -Schoenebeck Expires December 24, 2007 [Page 14] +Schoenebeck Expires March 4, 2008 [Page 14] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 6. Description for control commands @@ -836,9 +836,9 @@ -Schoenebeck Expires December 24, 2007 [Page 15] +Schoenebeck Expires March 4, 2008 [Page 15] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 6.2.1. Getting amount of available audio output drivers @@ -892,9 +892,9 @@ -Schoenebeck Expires December 24, 2007 [Page 16] +Schoenebeck Expires March 4, 2008 [Page 16] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 LinuxSampler will answer by sending a separated list. Each @@ -948,9 +948,9 @@ -Schoenebeck Expires December 24, 2007 [Page 17] +Schoenebeck Expires March 4, 2008 [Page 17] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 obtained (as returned by the "GET AUDIO_OUTPUT_DRIVER INFO" @@ -1004,9 +1004,9 @@ -Schoenebeck Expires December 24, 2007 [Page 18] +Schoenebeck Expires March 4, 2008 [Page 18] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 MULTIPLICITY - @@ -1060,9 +1060,9 @@ -Schoenebeck Expires December 24, 2007 [Page 19] +Schoenebeck Expires March 4, 2008 [Page 19] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 returned, dependent to driver parameter) @@ -1116,9 +1116,9 @@ -Schoenebeck Expires December 24, 2007 [Page 20] +Schoenebeck Expires March 4, 2008 [Page 20] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 "TYPE: INT" @@ -1172,9 +1172,9 @@ -Schoenebeck Expires December 24, 2007 [Page 21] +Schoenebeck Expires March 4, 2008 [Page 21] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 providing an appropriate warning code and warning message @@ -1228,9 +1228,9 @@ -Schoenebeck Expires December 24, 2007 [Page 22] +Schoenebeck Expires March 4, 2008 [Page 22] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 C: "DESTROY AUDIO_OUTPUT_DEVICE 0" @@ -1284,9 +1284,9 @@ -Schoenebeck Expires December 24, 2007 [Page 23] +Schoenebeck Expires March 4, 2008 [Page 23] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 Possible Answers: @@ -1340,9 +1340,9 @@ -Schoenebeck Expires December 24, 2007 [Page 24] +Schoenebeck Expires March 4, 2008 [Page 24] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 "FRAGMENTS: 2" @@ -1396,9 +1396,9 @@ -Schoenebeck Expires December 24, 2007 [Page 25] +Schoenebeck Expires March 4, 2008 [Page 25] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 6.2.11. Getting information about an audio channel @@ -1452,9 +1452,9 @@ -Schoenebeck Expires December 24, 2007 [Page 26] +Schoenebeck Expires March 4, 2008 [Page 26] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 Examples: @@ -1508,9 +1508,9 @@ -Schoenebeck Expires December 24, 2007 [Page 27] +Schoenebeck Expires March 4, 2008 [Page 27] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 channel number and a specific channel parameter name for @@ -1564,9 +1564,9 @@ -Schoenebeck Expires December 24, 2007 [Page 28] +Schoenebeck Expires March 4, 2008 [Page 28] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 RANGE_MAX - @@ -1620,9 +1620,9 @@ -Schoenebeck Expires December 24, 2007 [Page 29] +Schoenebeck Expires March 4, 2008 [Page 29] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 "OK" - @@ -1676,9 +1676,9 @@ -Schoenebeck Expires December 24, 2007 [Page 30] +Schoenebeck Expires March 4, 2008 [Page 30] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 Note: examples in this chapter showing particular parameters of @@ -1732,9 +1732,9 @@ -Schoenebeck Expires December 24, 2007 [Page 31] +Schoenebeck Expires March 4, 2008 [Page 31] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 6.3.3. Getting information about a specific MIDI input driver @@ -1788,9 +1788,9 @@ -Schoenebeck Expires December 24, 2007 [Page 32] +Schoenebeck Expires March 4, 2008 [Page 32] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 6.3.4. Getting information about specific MIDI input driver parameter @@ -1844,9 +1844,9 @@ -Schoenebeck Expires December 24, 2007 [Page 33] +Schoenebeck Expires March 4, 2008 [Page 33] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 FIX - @@ -1900,9 +1900,9 @@ -Schoenebeck Expires December 24, 2007 [Page 34] +Schoenebeck Expires March 4, 2008 [Page 34] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 may also appear without (optionally returned, dependent to @@ -1956,9 +1956,9 @@ -Schoenebeck Expires December 24, 2007 [Page 35] +Schoenebeck Expires March 4, 2008 [Page 35] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 "OK[]" - @@ -2012,9 +2012,9 @@ -Schoenebeck Expires December 24, 2007 [Page 36] +Schoenebeck Expires March 4, 2008 [Page 36] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 in case it failed, providing an appropriate error code and @@ -2068,9 +2068,9 @@ -Schoenebeck Expires December 24, 2007 [Page 37] +Schoenebeck Expires March 4, 2008 [Page 37] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 6.3.9. Getting current settings of a MIDI input device @@ -2124,9 +2124,9 @@ -Schoenebeck Expires December 24, 2007 [Page 38] +Schoenebeck Expires March 4, 2008 [Page 38] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 "ACTIVE: true" @@ -2180,9 +2180,9 @@ -Schoenebeck Expires December 24, 2007 [Page 39] +Schoenebeck Expires March 4, 2008 [Page 39] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 MIDI_INPUT_DEVICES" (Section 6.3.8) command and the MIDI @@ -2236,9 +2236,9 @@ -Schoenebeck Expires December 24, 2007 [Page 40] +Schoenebeck Expires March 4, 2008 [Page 40] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 character string to that info category. There is information @@ -2292,9 +2292,9 @@ -Schoenebeck Expires December 24, 2007 [Page 41] +Schoenebeck Expires March 4, 2008 [Page 41] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 returned, dependent to device and port parameter) @@ -2328,7 +2328,9 @@ device as returned by the "CREATE MIDI_INPUT_DEVICE" (Section 6.3.5) or "LIST MIDI_INPUT_DEVICES" (Section 6.3.8) command, by the MIDI port number, by the name of the parameter to change and - by the new value for this parameter. + by the new value for this parameter (encapsulated into + apostrophes) or NONE (not encapsulated into apostrophes) for + specifying no value for parameters allowing a list of values. Possible Answers: @@ -2342,23 +2344,29 @@ noteworthy issue(s) related, providing an appropriate warning code and warning message - "ERR::" - - -Schoenebeck Expires December 24, 2007 [Page 42] +Schoenebeck Expires March 4, 2008 [Page 42] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + "ERR::" - + in case it failed, providing an appropriate error code and error message Example: + C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS='20:0'" + + S: "OK" + + C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS=NONE" + S: "OK" 6.4. Configuring sampler channels @@ -2393,21 +2401,20 @@ (Section 6.4.10) command can be used to obtain loading progress from INSTRUMENT_STATUS field. LOAD command will perform sanity checks such as making sure that the file could be read and it is of a proper - format and SHOULD return ERR and SHOULD not launch the background - process should any errors be detected at that point. - Possible Answers: - - "OK" - +Schoenebeck Expires March 4, 2008 [Page 43] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + format and SHOULD return ERR and SHOULD not launch the background + process should any errors be detected at that point. -Schoenebeck Expires December 24, 2007 [Page 43] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + Possible Answers: + "OK" - in case the instrument was successfully loaded @@ -2449,22 +2456,23 @@ Possible Answers: - "OK" - - in case the engine was successfully deployed - "WRN::" - - in case the engine was deployed successfully, but there are - noteworthy issue(s) related, providing an appropriate warning +Schoenebeck Expires March 4, 2008 [Page 44] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 -Schoenebeck Expires December 24, 2007 [Page 44] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + "OK" - + + in case the engine was successfully deployed + "WRN::" - + in case the engine was deployed successfully, but there are + noteworthy issue(s) related, providing an appropriate warning code and warning message "ERR::" - @@ -2505,21 +2513,20 @@ Possible Answers: - LinuxSampler will answer by returning a comma separated list with - all sampler channels numerical IDs. - Example: - - C: "LIST CHANNELS" +Schoenebeck Expires March 4, 2008 [Page 45] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + LinuxSampler will answer by returning a comma separated list with + all sampler channels numerical IDs. -Schoenebeck Expires December 24, 2007 [Page 45] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + Example: + C: "LIST CHANNELS" S: "0,1,2,3,4,5,6,9,10,11,15,20" @@ -2564,18 +2571,17 @@ -6.4.6. Removing a sampler channel - - A sampler channel can be removed by sending the following command: +Schoenebeck Expires March 4, 2008 [Page 46] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 -Schoenebeck Expires December 24, 2007 [Page 46] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +6.4.6. Removing a sampler channel + A sampler channel can be removed by sending the following command: REMOVE CHANNEL @@ -2619,19 +2625,17 @@ Example: - C: "GET AVAILABLE_ENGINES" - - S: "4" - +Schoenebeck Expires March 4, 2008 [Page 47] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 -Schoenebeck Expires December 24, 2007 [Page 47] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + C: "GET AVAILABLE_ENGINES" + S: "4" 6.4.8. Getting all available engines @@ -2677,17 +2681,17 @@ arbitrary description text about the engine - VERSION - - arbitrary character string regarding the engine's version +Schoenebeck Expires March 4, 2008 [Page 48] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 -Schoenebeck Expires December 24, 2007 [Page 48] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + VERSION - + arbitrary character string regarding the engine's version The mentioned fields above don't have to be in particular order. @@ -2733,18 +2737,16 @@ numerical ID of the audio output device which is currently connected to this sampler channel to output the audio signal, "NONE" if there's no device connected to this - sampler channel - - - -Schoenebeck Expires December 24, 2007 [Page 49] +Schoenebeck Expires March 4, 2008 [Page 49] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + sampler channel + AUDIO_OUTPUT_CHANNELS - number of output channels the sampler channel offers @@ -2790,17 +2792,17 @@ port number of the MIDI input device - MIDI_INPUT_CHANNEL - - -Schoenebeck Expires December 24, 2007 [Page 50] +Schoenebeck Expires March 4, 2008 [Page 50] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + MIDI_INPUT_CHANNEL - + the MIDI input channel number this sampler channel should listen to or "ALL" to listen on all MIDI channels @@ -2846,17 +2848,17 @@ "AUDIO_OUTPUT_ROUTING: 0,1" - "INSTRUMENT_FILE: /home/joe/FazioliPiano.gig" - -Schoenebeck Expires December 24, 2007 [Page 51] +Schoenebeck Expires March 4, 2008 [Page 51] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + "INSTRUMENT_FILE: /home/joe/FazioliPiano.gig" + "INSTRUMENT_NR: 0" "INSTRUMENT_NAME: Fazioli Piano" @@ -2899,19 +2901,22 @@ -6.4.12. Current number of active disk streams - The front-end can ask for the current number of active disk streams - on a sampler channel by sending the following command: -Schoenebeck Expires December 24, 2007 [Page 52] + +Schoenebeck Expires March 4, 2008 [Page 52] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + +6.4.12. Current number of active disk streams + + The front-end can ask for the current number of active disk streams + on a sampler channel by sending the following command: GET CHANNEL STREAM_COUNT @@ -2956,18 +2961,18 @@ will begin with the stream's ID in brackets followed by the numerical representation of the fill size (either in bytes or percentage). Note: due to efficiency reasons the fill states in - the response are not in particular order, thus the front-end has - to sort them by itself if necessary. - Examples: +Schoenebeck Expires March 4, 2008 [Page 53] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 -Schoenebeck Expires December 24, 2007 [Page 53] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + the response are not in particular order, thus the front-end has + to sort them by itself if necessary. + Examples: C: "GET CHANNEL BUFFER_FILL BYTES 4" @@ -3013,18 +3018,15 @@ in case it failed, providing an appropriate error code and error message - Examples: - - - - -Schoenebeck Expires December 24, 2007 [Page 54] +Schoenebeck Expires March 4, 2008 [Page 54] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + Examples: + 6.4.15. Setting audio output type @@ -3071,16 +3073,16 @@ Where is the sampler channel number as returned by the "ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) - command, is the numerical ID of the sampler channel's - audio output channel which should be rerouted and is the -Schoenebeck Expires December 24, 2007 [Page 55] +Schoenebeck Expires March 4, 2008 [Page 55] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + command, is the numerical ID of the sampler channel's + audio output channel which should be rerouted and is the numerical ID of the audio channel of the selected audio output device where should be routed to. @@ -3126,17 +3128,19 @@ "WRN::" - - if MIDI input device was set, but there are noteworthy issue(s) - related, providing an appropriate warning code and warning - message -Schoenebeck Expires December 24, 2007 [Page 56] + +Schoenebeck Expires March 4, 2008 [Page 56] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + if MIDI input device was set, but there are noteworthy issue(s) + related, providing an appropriate warning code and warning + message + "ERR::" - in case it failed, providing an appropriate error code and @@ -3179,19 +3183,20 @@ -6.4.19. Setting MIDI input port - - The front-end can alter the MIDI input port on a specific sampler - channel by sending the following command: -Schoenebeck Expires December 24, 2007 [Page 57] +Schoenebeck Expires March 4, 2008 [Page 57] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + +6.4.19. Setting MIDI input port + + The front-end can alter the MIDI input port on a specific sampler + channel by sending the following command: SET CHANNEL MIDI_INPUT_PORT @@ -3236,18 +3241,19 @@ on success - "WRN::" - - if MIDI input channel was set, but there are noteworthy - issue(s) related, providing an appropriate warning code and - warning message - -Schoenebeck Expires December 24, 2007 [Page 58] +Schoenebeck Expires March 4, 2008 [Page 58] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + + "WRN::" - + + if MIDI input channel was set, but there are noteworthy + issue(s) related, providing an appropriate warning code and + warning message "ERR::" - @@ -3291,19 +3297,20 @@ -6.4.22. Muting a sampler channel - The front-end can mute/unmute a specific sampler channel by sending - the following command: +Schoenebeck Expires March 4, 2008 [Page 59] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + -Schoenebeck Expires December 24, 2007 [Page 59] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +6.4.22. Muting a sampler channel + The front-end can mute/unmute a specific sampler channel by sending + the following command: SET CHANNEL MUTE @@ -3347,19 +3354,16 @@ Possible Answers: - "OK" - - - on success - - +Schoenebeck Expires March 4, 2008 [Page 60] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 -Schoenebeck Expires December 24, 2007 [Page 60] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + "OK" - + on success "WRN::" - @@ -3405,17 +3409,18 @@ with the respective numeric ID of the MIDI instrument map as returned by the "LIST MIDI_INSTRUMENT_MAPS" (Section 6.7.4) command. Once that map will be deleted, the sampler channel - would fall back to "NONE". - Read chapter "MIDI Instrument Mapping" (Section 6.7) for details - regarding MIDI instrument mapping. - -Schoenebeck Expires December 24, 2007 [Page 61] +Schoenebeck Expires March 4, 2008 [Page 61] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + + would fall back to "NONE". + + Read chapter "MIDI Instrument Mapping" (Section 6.7) for details + regarding MIDI instrument mapping. Possible Answers: @@ -3460,19 +3465,20 @@ because having effect sends on a sampler channel will decrease 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 - effect send levels). A sampler channel without effect sends however - can mix its voices directly into the audio output devices's audio - buffers and is thus faster. -Schoenebeck Expires December 24, 2007 [Page 62] +Schoenebeck Expires March 4, 2008 [Page 62] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + and mix the voices and route the audio signal afterwards to the + master outputs and effect send outputs (along with their respective + effect send levels). A sampler channel without effect sends however + can mix its voices directly into the audio output devices's audio + buffers and is thus faster. + Possible Answers: "OK[]" - @@ -3514,20 +3520,21 @@ "OK" - - on success - "ERR::" - - in case it failed, providing an appropriate error code and - error message +Schoenebeck Expires March 4, 2008 [Page 63] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 -Schoenebeck Expires December 24, 2007 [Page 63] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + on success + + "ERR::" - + in case it failed, providing an appropriate error code and + error message Example: @@ -3570,20 +3577,18 @@ Possible Answers: - The sampler will answer by returning a comma separated list with - all effect sends' numerical IDs on the given sampler channel. - - Examples: - +Schoenebeck Expires March 4, 2008 [Page 64] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 -Schoenebeck Expires December 24, 2007 [Page 64] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + The sampler will answer by returning a comma separated list with + all effect sends' numerical IDs on the given sampler channel. + Examples: C: "LIST FX_SENDS 0" @@ -3627,20 +3632,19 @@ LEVEL - - optionally dotted number reflecting the effect send's - current send level (where a value < 1.0 means attenuation - and a value > 1.0 means amplification) - - -Schoenebeck Expires December 24, 2007 [Page 65] +Schoenebeck Expires March 4, 2008 [Page 65] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + optionally dotted number reflecting the effect send's + current send level (where a value < 1.0 means attenuation + and a value > 1.0 means amplification) + AUDIO_OUTPUT_ROUTING - comma separated list which reflects to which audio channel @@ -3683,19 +3687,19 @@ Possible Answers: - "OK" - - on success +Schoenebeck Expires March 4, 2008 [Page 66] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 -Schoenebeck Expires December 24, 2007 [Page 66] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + "OK" - + on success "ERR::" - @@ -3740,18 +3744,18 @@ Possible Answers: - "OK" - - on success +Schoenebeck Expires March 4, 2008 [Page 67] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 -Schoenebeck Expires December 24, 2007 [Page 67] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + "OK" - + on success "WRN::" - @@ -3798,16 +3802,14 @@ related, providing an appropriate warning code and warning message - "ERR::" - - - - -Schoenebeck Expires December 24, 2007 [Page 68] +Schoenebeck Expires March 4, 2008 [Page 68] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + + "ERR::" - in case it failed, providing an appropriate error code and error message @@ -3853,17 +3855,19 @@ Example: - C: "SET FX_SEND LEVEL 0 0 0.15" - S: "OK" -Schoenebeck Expires December 24, 2007 [Page 69] +Schoenebeck Expires March 4, 2008 [Page 69] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + + + C: "SET FX_SEND LEVEL 0 0 0.15" + S: "OK" 6.4.34. Resetting a sampler channel @@ -3908,19 +3912,20 @@ The front-end can register itself to the LinuxSampler application to be informed about noteworthy events by sending this command: - SUBSCRIBE - - where will be replaced by the respective event that client - wants to subscribe to. -Schoenebeck Expires December 24, 2007 [Page 70] +Schoenebeck Expires March 4, 2008 [Page 70] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + SUBSCRIBE + + where will be replaced by the respective event that client + wants to subscribe to. + Possible Answers: "OK" - @@ -3964,18 +3969,18 @@ related, providing an appropriate warning code and warning message - "ERR::" - - in case it failed, providing an appropriate error code and - error message +Schoenebeck Expires March 4, 2008 [Page 71] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 -Schoenebeck Expires December 24, 2007 [Page 71] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + "ERR::" - + in case it failed, providing an appropriate error code and + error message Examples: @@ -4019,19 +4024,18 @@ This is probably more interesting for manual telnet connections to LinuxSampler than really useful for a front-end implementation. -6.6. Global commands - - The following commands have global impact on the sampler. +Schoenebeck Expires March 4, 2008 [Page 72] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 -Schoenebeck Expires December 24, 2007 [Page 72] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +6.6. Global commands + The following commands have global impact on the sampler. 6.6.1. Current number of active voices @@ -4074,21 +4078,22 @@ -6.6.4. General sampler informations - - The client can ask for general informations about the LinuxSampler - instance by sending the following command: -Schoenebeck Expires December 24, 2007 [Page 73] +Schoenebeck Expires March 4, 2008 [Page 73] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +6.6.4. General sampler informations + + The client can ask for general informations about the LinuxSampler + instance by sending the following command: + GET SERVER INFO Possible Answers: @@ -4131,20 +4136,21 @@ Possible Answers: - The sampler will always answer by returning the optional dotted - floating point coefficient, reflecting the current global volume - attenuation. - Note: it is up to the respective sampler engine whether to obey that - global volume parameter or not, but in general all engines SHOULD use -Schoenebeck Expires December 24, 2007 [Page 74] +Schoenebeck Expires March 4, 2008 [Page 74] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + + The sampler will always answer by returning the optional dotted + floating point coefficient, reflecting the current global volume + attenuation. + Note: it is up to the respective sampler engine whether to obey that + global volume parameter or not, but in general all engines SHOULD use this parameter. 6.6.6. Setting global volume attenuation @@ -4188,19 +4194,18 @@ maps which define which instrument to load on which MIDI program change message. - By default, that is when the sampler is launched, there is no map, - thus the sampler will simply ignore all program change messages. The - front-end has to explicitly create at least one map, add entries to - the map and tell the respective sampler channel(s) which MIDI - instrument map to use, so the sampler knows how to react on a given - -Schoenebeck Expires December 24, 2007 [Page 75] +Schoenebeck Expires March 4, 2008 [Page 75] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + By default, that is when the sampler is launched, there is no map, + thus the sampler will simply ignore all program change messages. The + front-end has to explicitly create at least one map, add entries to + the map and tell the respective sampler channel(s) which MIDI + instrument map to use, so the sampler knows how to react on a given program change message on the respective sampler channel, that is by switching to the respectively defined engine type and loading the respective instrument. See command "SET CHANNEL MIDI_INSTRUMENT_MAP" @@ -4242,20 +4247,21 @@ S: "OK[0]" - C: "ADD MIDI_INSTRUMENT_MAP 'Standard Drumkit'" - S: "OK[1]" - C: "ADD MIDI_INSTRUMENT_MAP" +Schoenebeck Expires March 4, 2008 [Page 76] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 -Schoenebeck Expires December 24, 2007 [Page 76] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + C: "ADD MIDI_INSTRUMENT_MAP 'Standard Drumkit'" + S: "OK[1]" + + C: "ADD MIDI_INSTRUMENT_MAP" S: "OK[5]" @@ -4299,19 +4305,17 @@ The front-end can retrieve the current amount of MIDI instrument maps by sending the following command: - GET MIDI_INSTRUMENT_MAPS - - Possible Answers: - +Schoenebeck Expires March 4, 2008 [Page 77] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 -Schoenebeck Expires December 24, 2007 [Page 77] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + GET MIDI_INSTRUMENT_MAPS + Possible Answers: The sampler will answer by returning the current number of MIDI instrument maps. @@ -4357,17 +4361,16 @@ LinuxSampler will answer by sending a separated list. Each answer line begins with the settings category name followed by a colon and then a space character and finally the info - character string to that setting category. At the moment the - following categories are defined: - - -Schoenebeck Expires December 24, 2007 [Page 78] +Schoenebeck Expires March 4, 2008 [Page 78] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + + character string to that setting category. At the moment the + following categories are defined: @@ -4417,12 +4420,9 @@ - - - -Schoenebeck Expires December 24, 2007 [Page 79] +Schoenebeck Expires March 4, 2008 [Page 79] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 C: "SET MIDI_INSTRUMENT_MAP NAME 0 'Foo instruments'" @@ -4476,9 +4476,9 @@ -Schoenebeck Expires December 24, 2007 [Page 80] +Schoenebeck Expires March 4, 2008 [Page 80] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 "PERSISTENT" - @@ -4532,9 +4532,9 @@ -Schoenebeck Expires December 24, 2007 [Page 81] +Schoenebeck Expires March 4, 2008 [Page 81] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 they may not necessarily return an error i.e. when the given @@ -4588,9 +4588,9 @@ -Schoenebeck Expires December 24, 2007 [Page 82] +Schoenebeck Expires March 4, 2008 [Page 82] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 GET MIDI_INSTRUMENTS @@ -4644,9 +4644,9 @@ -Schoenebeck Expires December 24, 2007 [Page 83] +Schoenebeck Expires March 4, 2008 [Page 83] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 C: "LIST MIDI_INSTRUMENTS 0" @@ -4700,9 +4700,9 @@ -Schoenebeck Expires December 24, 2007 [Page 84] +Schoenebeck Expires March 4, 2008 [Page 84] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 LinuxSampler will answer by sending a separated list. Each @@ -4756,9 +4756,9 @@ -Schoenebeck Expires December 24, 2007 [Page 85] +Schoenebeck Expires March 4, 2008 [Page 85] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 C: "GET MIDI_INSTRUMENT INFO 1 45 120" @@ -4812,9 +4812,9 @@ -Schoenebeck Expires December 24, 2007 [Page 86] +Schoenebeck Expires March 4, 2008 [Page 86] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 C: "CLEAR MIDI_INSTRUMENTS ALL" @@ -4826,6 +4826,16 @@ The following commands describe how to use and manage the instruments database. + Notice: + + All command arguments representing a path or instrument/directory + name support escape sequences as described in chapter "Character + Set and Escape Sequences (Section 7.1)". + + All occurrences of a forward slash in instrument and directory + names are escaped with its hex (\x2f) or octal (\057) escape + sequence. + 6.8.1. Creating a new instrument directory The front-end can add a new instrument directory to the instruments @@ -4854,6 +4864,15 @@ S: "OK" + + + + +Schoenebeck Expires March 4, 2008 [Page 87] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + + 6.8.2. Deleting an instrument directory The front-end can delete a particular instrument directory from the @@ -4865,14 +4884,6 @@ The optional FORCE argument can be used to force the deletion of a non-empty directory and all its content. - - - -Schoenebeck Expires December 24, 2007 [Page 87] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 - - Possible Answers: "OK" - @@ -4909,25 +4920,22 @@ "ERR::" - - if the given directory does not exist. - - Example: - - C: "GET DB_INSTRUMENT_DIRECTORIES '/'" - - S: "2" +Schoenebeck Expires March 4, 2008 [Page 88] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + if the given directory does not exist. + Example: -Schoenebeck Expires December 24, 2007 [Page 88] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + C: "GET DB_INSTRUMENT_DIRECTORIES '/'" + S: "2" 6.8.4. Listing all directories in specific directory @@ -4969,6 +4977,14 @@ GET DB_INSTRUMENT_DIRECTORY INFO Where should be replaced by the absolute path name of the + + + +Schoenebeck Expires March 4, 2008 [Page 89] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + + directory the front-end is interested in. Possible Answers: @@ -4977,21 +4993,14 @@ answer line begins with the settings category name followed by a colon and then a space character and finally the info character string to that setting category. At the moment the - - - -Schoenebeck Expires December 24, 2007 [Page 89] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 - - following categories are defined: DESCRIPTION - - A brief description of the directory content + A brief description of the directory content. Note that the + character string may contain escape sequences (Section 7.1). CREATED - @@ -5023,23 +5032,23 @@ The front-end can alter the name of a specific instrument directory by sending the following command: - SET DB_INSTRUMENT_DIRECTORY NAME - Where is the absolute path name of the directory and is - the new name for that directory. - Possible Answers: - "OK" - +Schoenebeck Expires March 4, 2008 [Page 90] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + SET DB_INSTRUMENT_DIRECTORY NAME + Where is the absolute path name of the directory and is + the new name for that directory. -Schoenebeck Expires December 24, 2007 [Page 90] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + Possible Answers: + "OK" - on success @@ -5080,22 +5089,18 @@ Example: - C: "MOVE DB_INSTRUMENT_DIRECTORY '/Acoustic' '/Piano Collection/ - Acoustic'" - - S: "OK" - - - +Schoenebeck Expires March 4, 2008 [Page 91] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 -Schoenebeck Expires December 24, 2007 [Page 91] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + C: "MOVE DB_INSTRUMENT_DIRECTORY '/Acoustic' '/Piano Collection/ + Acoustic'" + S: "OK" 6.8.8. Copying instrument directories @@ -5135,23 +5140,22 @@ SET DB_INSTRUMENT_DIRECTORY DESCRIPTION Where is the absolute path name of the directory and is - the new description for the directory. + the new description for the directory (encapsulated into apostrophes, + supporting escape sequences as described in chapter "Character Set + and Escape Sequences (Section 7.1)"). Possible Answers: - "OK" - - - on success - - +Schoenebeck Expires March 4, 2008 [Page 92] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 -Schoenebeck Expires December 24, 2007 [Page 92] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + "OK" - + on success "ERR::" - @@ -5182,7 +5186,9 @@ NAME='' Restricts the search to directories, which names satisfy the - supplied search string. + supplied search string (encapsulated into apostrophes, supporting + escape sequences as described in chapter "Character Set and Escape + Sequences (Section 7.1)"). CREATED='[]..[]' @@ -5195,26 +5201,28 @@ MODIFIED='[]..[]' - Restricts the search to directories, which date of last - modification satisfies the specified period, where - and are in "YYYY-MM-DD HH:MM:SS" format. If is omitted the search is restricted to directories, which - are last modified before . If is - omitted, the search is restricted to directories, which are last -Schoenebeck Expires December 24, 2007 [Page 93] +Schoenebeck Expires March 4, 2008 [Page 93] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + Restricts the search to directories, which date of last + modification satisfies the specified period, where + and are in "YYYY-MM-DD HH:MM:SS" format. If is omitted the search is restricted to directories, which + are last modified before . If is + omitted, the search is restricted to directories, which are last modified after . DESCRIPTION='' Restricts the search to directories with description that - satisfies the supplied search string. + satisfies the supplied search string (encapsulated into + apostrophes, supporting escape sequences as described in chapter + "Character Set and Escape Sequences (Section 7.1)"). Where is either a regular expression, or a word list separated with spaces for OR search and with '+' for AND search. @@ -5249,6 +5257,14 @@ [] Where is the absolute path name of a directory (encapsulated + + + +Schoenebeck Expires March 4, 2008 [Page 94] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + + into apostrophes) in the instruments database in which only the new instruments (that are not already in the database) will be added, is the absolute path name of a file or directory in the @@ -5257,14 +5273,6 @@ added to the instruments database. If the optional (the index of the instrument within the given file) is supplied too, then only the specified instrument will be added. In case a - - - -Schoenebeck Expires December 24, 2007 [Page 94] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 - - directory is supplied, the instruments in that directory will be added. The OPTIONAL argument is only applied when a directory is provided as and specifies how the scanning will be @@ -5306,20 +5314,18 @@ numerical ID used to obtain status information about the job progress. See GET DB_INSTRUMENTS_JOB INFO (Section 6.8.21) - "ERR::" - - - if an invalid path is specified. - - Examples: +Schoenebeck Expires March 4, 2008 [Page 95] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + "ERR::" - -Schoenebeck Expires December 24, 2007 [Page 95] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + if an invalid path is specified. + Examples: C: "ADD DB_INSTRUMENTS '/Piano Collection' '/home/me/gigs/PMI Bosendorfer 290.gig' 0" @@ -5364,18 +5370,16 @@ including those located in subdirectories of the specified directory, will be returned. - Possible Answers: - - The current number of instruments in the specified directory. - +Schoenebeck Expires March 4, 2008 [Page 96] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 -Schoenebeck Expires December 24, 2007 [Page 96] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + Possible Answers: + The current number of instruments in the specified directory. "ERR::" - @@ -5419,19 +5423,20 @@ S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/ Steinway D','/Piano Collection/Lite/Free Piano'" -6.8.15. Getting instrument information - - The front-end can ask for the current settings of an instrument by - sending the following command: -Schoenebeck Expires December 24, 2007 [Page 97] +Schoenebeck Expires March 4, 2008 [Page 97] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + + +6.8.15. Getting instrument information + The front-end can ask for the current settings of an instrument by + sending the following command: GET DB_INSTRUMENT INFO @@ -5450,7 +5455,8 @@ INSTRUMENT_FILE - - File name of the instrument. + File name of the instrument. Note that the character string + may contain escape sequences (Section 7.1). INSTRUMENT_NR - @@ -5474,24 +5480,25 @@ instruments database, represented in "YYYY-MM-DD HH:MM:SS" format - MODIFIED - - The date and time of the last modification of the - instrument's database settings, represented in "YYYY-MM-DD - HH:MM:SS" format +Schoenebeck Expires March 4, 2008 [Page 98] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 -Schoenebeck Expires December 24, 2007 [Page 98] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + MODIFIED - + The date and time of the last modification of the + instrument's database settings, represented in "YYYY-MM-DD + HH:MM:SS" format DESCRIPTION - - A brief description of the instrument + A brief description of the instrument. Note that the + character string may contain escape sequences (Section 7.1). IS_DRUM - @@ -5500,16 +5507,20 @@ PRODUCT - - The product title of the instrument + The product title of the instrument. Note that the + character string may contain escape sequences (Section 7.1). ARTISTS - - Lists the artist names + Lists the artist names. Note that the character string may + contain escape sequences (Section 7.1). KEYWORDS - Provides a list of keywords that refer to the instrument. - Keywords are separated with semicolon and blank. + Keywords are separated with semicolon and blank. Note that + the character string may contain escape sequences + (Section 7.1). The mentioned fields above don't have to be in particular order. @@ -5525,6 +5536,15 @@ "FORMAT_VERSION: 2" + + + + +Schoenebeck Expires March 4, 2008 [Page 99] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + + "SIZE: 2050871870" "CREATED: 2007-02-05 10:23:12" @@ -5537,14 +5557,6 @@ "PRODUCT: GRANDIOSO Bosendorfer 290" - - - -Schoenebeck Expires December 24, 2007 [Page 99] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 - - "ARTISTS: Post Musical Instruments" "KEYWORDS: Bosendorfer" @@ -5579,27 +5591,27 @@ S: "OK" -6.8.17. Moving an instrument - The front-end can move a specific instrument to another directory by - sending the following command: - MOVE DB_INSTRUMENT - Where is the absolute path name of the instrument to move and - is the directory where the instrument will be moved to. - Possible Answers: +Schoenebeck Expires March 4, 2008 [Page 100] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +6.8.17. Moving an instrument + The front-end can move a specific instrument to another directory by + sending the following command: + MOVE DB_INSTRUMENT -Schoenebeck Expires December 24, 2007 [Page 100] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + Where is the absolute path name of the instrument to move and + is the directory where the instrument will be moved to. + Possible Answers: "OK" - @@ -5636,6 +5648,15 @@ "ERR::" - + + + + +Schoenebeck Expires March 4, 2008 [Page 101] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + + in case the given instrument does not exists, or if an instrument with name equal to the name of the specified instrument already exists in the destination directory. @@ -5647,16 +5668,6 @@ S: "OK" - - - - - -Schoenebeck Expires December 24, 2007 [Page 101] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 - - 6.8.19. Changing the description of instrument The front-end can alter the description of a specific instrument by @@ -5665,7 +5676,9 @@ SET DB_INSTRUMENT DESCRIPTION Where is the absolute path name of the instrument and - is the new description for the instrument. + is the new description for the instrument (encapsulated into + apostrophes, supporting escape sequences as described in chapter + "Character Set and Escape Sequences (Section 7.1)"). Possible Answers: @@ -5692,6 +5705,14 @@ FIND DB_INSTRUMENTS [NON_RECURSIVE] Where should be replaced by the absolute path name of the + + + +Schoenebeck Expires March 4, 2008 [Page 102] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + + directory to search in. If NON_RECURSIVE is specified, the directories located in subdirectories of the specified directory will not be searched. is a list of search criterias in @@ -5701,18 +5722,12 @@ NAME='' Restricts the search to instruments, which names satisfy the - supplied search string. + supplied search string (encapsulated into apostrophes, supporting + escape sequences as described in chapter "Character Set and Escape + Sequences (Section 7.1)"). SIZE=[]..[] - - - -Schoenebeck Expires December 24, 2007 [Page 102] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 - - Restricts the search to instruments, which size is in the specified range. If is omitted, the search results are restricted to instruments with size less then or equal to . @@ -5741,34 +5756,40 @@ DESCRIPTION='' Restricts the search to instruments with description that - satisfies the supplied search string. + satisfies the supplied search string (encapsulated into + apostrophes, supporting escape sequences as described in chapter + "Character Set and Escape Sequences (Section 7.1)"). PRODUCT='' + + +Schoenebeck Expires March 4, 2008 [Page 103] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + + Restricts the search to instruments with product info that - satisfies the supplied search string. + satisfies the supplied search string (encapsulated into + apostrophes, supporting escape sequences as described in chapter + "Character Set and Escape Sequences (Section 7.1)"). ARTISTS='' Restricts the search to instruments with artists info that - satisfies the supplied search string. + satisfies the supplied search string (encapsulated into + apostrophes, supporting escape sequences as described in chapter + "Character Set and Escape Sequences (Section 7.1)"). KEYWORDS='' Restricts the search to instruments with keyword list that - satisfies the supplied search string. + 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 - - - - -Schoenebeck Expires December 24, 2007 [Page 103] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 - - Either true or false. Restricts the search to drum kits or chromatic instruments. @@ -5796,6 +5817,14 @@ C: "FIND DB_INSTRUMENTS '/Piano Collection' NAME='bosendorfer+ 290'" + + + +Schoenebeck Expires March 4, 2008 [Page 104] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + + S: "'/Piano Collection/Bosendorfer 290'" C: "FIND DB_INSTRUMENTS '/Piano Collection' CREATED='2007-04-01 @@ -5816,15 +5845,6 @@ Possible Answers: - - - - -Schoenebeck Expires December 24, 2007 [Page 104] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 - - LinuxSampler will answer by sending a separated list. Each answer line begins with the settings category name followed by a colon and then a space character and finally the info @@ -5854,6 +5874,13 @@ The mentioned fields above don't have to be in particular order. + + +Schoenebeck Expires March 4, 2008 [Page 105] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + + Example: C: "GET DB_INSTRUMENTS_JOB INFO 2" @@ -5868,17 +5895,102 @@ "." +6.8.22. Formatting the instruments database + + The front-end can remove all instruments and directories and re- + create the instruments database structure (e.g., in case of a + database corruption) by sending the following command: + + FORMAT INSTRUMENTS_DB + + Possible Answers: + + "OK" - + + on success + + "ERR::" - + + If the formatting of the instruments database failed. +6.9. Editing Instruments + The sampler allows to edit instruments while playing with the sampler + by spawning an external (3rd party) instrument editor application for + a given instrument. The 3rd party instrument editor applications + have to place a respective plugin DLL file into the sampler's plugins + directory. The sampler will automatically try to load all plugin + DLLs in that directory on startup and only on startup! + At the moment there is only one command for this feature set, but + this will most probably change in future. +6.9.1. Opening an appropriate instrument editor application + The front-end can request to open an appropriate instrument editor + application by sending the following command: -Schoenebeck Expires December 24, 2007 [Page 105] +Schoenebeck Expires March 4, 2008 [Page 106] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + + + EDIT INSTRUMENT + + Where should be replaced by the number of the + sampler channel as given by the "ADD CHANNEL" (Section 6.4.5) or + "LIST CHANNELS" (Section 6.4.4) command. + + The sampler will try to ask all registered instrument editors (or to + be more specific: their sampler plugins) whether they are capable to + handle the instrument on the given sampler channel. The sampler will + simply use the first instrument editor application which replied with + a positive answer and spawn that instrument editor application within + the sampler's process and provide that application access to the + instrument's data structures, so both applications can share and + access the same instruments data at the same time, thus allowing to + immediately hear changes with the sampler made by the instrument + editor. + + Note: consequently instrument editors are always spawned locally on + the same machine where the sampler is running on! + + Possible Answers: + + "OK" - + + when an appropriate instrument editor was launched + + "WRN::" - + + when an appropriate instrument editor was launched, but there + are noteworthy issues + + "ERR::" - + + when an appropriate instrument editor could not be launched + + Examples: + + C: "EDIT INSTRUMENT 0" + + S: "OK" + + + + + + + + + + + +Schoenebeck Expires March 4, 2008 [Page 107] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 7. Command Syntax @@ -5932,9 +6044,9 @@ -Schoenebeck Expires December 24, 2007 [Page 106] +Schoenebeck Expires March 4, 2008 [Page 108] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 / LIST SP list_instruction @@ -5961,6 +6073,8 @@ / EDIT SP edit_instruction + / FORMAT SP format_instruction + / RESET / QUIT @@ -5969,30 +6083,30 @@ CHANNEL - / DB_INSTRUMENT_DIRECTORY SP pathname + / DB_INSTRUMENT_DIRECTORY SP db_path - / DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP pathname SP pathname + / DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename - / DB_INSTRUMENTS SP scan_mode SP pathname SP pathname + / DB_INSTRUMENTS SP scan_mode SP db_path SP filename - / DB_INSTRUMENTS SP NON_MODAL SP pathname SP pathname + / DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename - / DB_INSTRUMENTS SP NON_MODAL SP pathname SP pathname SP + / DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename SP instrument_index - / DB_INSTRUMENTS SP pathname SP pathname - - / DB_INSTRUMENTS SP pathname SP pathname SP instrument_index + / DB_INSTRUMENTS SP db_path SP filename -Schoenebeck Expires December 24, 2007 [Page 107] +Schoenebeck Expires March 4, 2008 [Page 109] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + / DB_INSTRUMENTS SP db_path SP filename SP instrument_index + / MIDI_INSTRUMENT_MAP / MIDI_INSTRUMENT_MAP SP map_name @@ -6039,16 +6153,16 @@ / DB_INSTRUMENTS_JOB_INFO - / MISCELLANEOUS - -Schoenebeck Expires December 24, 2007 [Page 108] +Schoenebeck Expires March 4, 2008 [Page 110] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + / MISCELLANEOUS + / TOTAL_VOICE_COUNT / GLOBAL_INFO @@ -6095,15 +6209,15 @@ / DB_INSTRUMENTS_JOB_INFO - / MISCELLANEOUS - -Schoenebeck Expires December 24, 2007 [Page 109] +Schoenebeck Expires March 4, 2008 [Page 111] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + + / MISCELLANEOUS / TOTAL_VOICE_COUNT @@ -6138,11 +6252,11 @@ / MIDI_INSTRUMENT_MAP SP ALL - / DB_INSTRUMENT_DIRECTORY SP FORCE SP pathname + / DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path - / DB_INSTRUMENT_DIRECTORY SP pathname + / DB_INSTRUMENT_DIRECTORY SP db_path - / DB_INSTRUMENT SP pathname + / DB_INSTRUMENT SP db_path get_instruction = @@ -6150,17 +6264,17 @@ / AVAILABLE_MIDI_INPUT_DRIVERS - / MIDI_INPUT_DRIVER SP INFO SP string - -Schoenebeck Expires December 24, 2007 [Page 110] +Schoenebeck Expires March 4, 2008 [Page 112] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + / MIDI_INPUT_DRIVER SP INFO SP string + / MIDI_INPUT_DRIVER_PARAMETER SP INFO SP string SP string / MIDI_INPUT_DRIVER_PARAMETER SP INFO SP string SP string SP @@ -6206,17 +6320,17 @@ / SERVER SP INFO - / TOTAL_VOICE_COUNT - -Schoenebeck Expires December 24, 2007 [Page 111] +Schoenebeck Expires March 4, 2008 [Page 113] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + / TOTAL_VOICE_COUNT + / TOTAL_VOICE_COUNT_MAX / MIDI_INSTRUMENTS SP midi_map @@ -6233,17 +6347,17 @@ / FX_SEND SP INFO SP sampler_channel SP fx_send_id - / DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP pathname + / DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path - / DB_INSTRUMENT_DIRECTORIES SP pathname + / DB_INSTRUMENT_DIRECTORIES SP db_path - / DB_INSTRUMENT_DIRECTORY SP INFO SP pathname + / DB_INSTRUMENT_DIRECTORY SP INFO SP db_path - / DB_INSTRUMENTS SP RECURSIVE SP pathname + / DB_INSTRUMENTS SP RECURSIVE SP db_path - / DB_INSTRUMENTS SP pathname + / DB_INSTRUMENTS SP db_path - / DB_INSTRUMENT SP INFO SP pathname + / DB_INSTRUMENT SP INFO SP db_path / DB_INSTRUMENTS_JOB SP INFO SP number @@ -6260,18 +6374,21 @@ / MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list - / MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' - param_val_list + / MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' NONE - / CHANNEL SP set_chan_instruction -Schoenebeck Expires December 24, 2007 [Page 112] +Schoenebeck Expires March 4, 2008 [Page 114] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + + / MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' + param_val_list + + / CHANNEL SP set_chan_instruction / MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name @@ -6286,13 +6403,14 @@ / FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value - / DB_INSTRUMENT_DIRECTORY SP NAME SP pathname SP dirname + / DB_INSTRUMENT_DIRECTORY SP NAME SP db_path SP stringval_escaped - / DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP pathname SP stringval + / DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP db_path SP + stringval_escaped - / DB_INSTRUMENT SP NAME SP pathname SP dirname + / DB_INSTRUMENT SP NAME SP db_path SP stringval_escaped - / DB_INSTRUMENT SP DESCRIPTION SP pathname SP stringval + / DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped / ECHO SP boolean @@ -6314,45 +6432,45 @@ reset_instruction = - CHANNEL SP sampler_channel - clear_instruction = - MIDI_INSTRUMENTS SP midi_map +Schoenebeck Expires March 4, 2008 [Page 115] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + CHANNEL SP sampler_channel -Schoenebeck Expires December 24, 2007 [Page 113] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + clear_instruction = + MIDI_INSTRUMENTS SP midi_map / MIDI_INSTRUMENTS SP ALL find_instruction = - DB_INSTRUMENTS SP NON_RECURSIVE SP pathname SP query_val_list + DB_INSTRUMENTS SP NON_RECURSIVE SP db_path SP query_val_list - / DB_INSTRUMENTS SP pathname SP query_val_list + / DB_INSTRUMENTS SP db_path SP query_val_list - / DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP pathname SP + / DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP db_path SP query_val_list - / DB_INSTRUMENT_DIRECTORIES SP pathname SP query_val_list + / DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list move_instruction = - DB_INSTRUMENT_DIRECTORY SP pathname SP pathname + DB_INSTRUMENT_DIRECTORY SP db_path SP db_path - / DB_INSTRUMENT SP pathname SP pathname + / DB_INSTRUMENT SP db_path SP db_path copy_instruction = - DB_INSTRUMENT_DIRECTORY SP pathname SP pathname + DB_INSTRUMENT_DIRECTORY SP db_path SP db_path - / DB_INSTRUMENT SP pathname SP pathname + / DB_INSTRUMENT SP db_path SP db_path destroy_instruction = @@ -6370,20 +6488,21 @@ set_chan_instruction = - AUDIO_OUTPUT_DEVICE SP sampler_channel SP device_index - / AUDIO_OUTPUT_CHANNEL SP sampler_channel SP audio_channel_index - SP audio_channel_index - / AUDIO_OUTPUT_TYPE SP sampler_channel SP audio_output_type_name +Schoenebeck Expires March 4, 2008 [Page 116] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 -Schoenebeck Expires December 24, 2007 [Page 114] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + AUDIO_OUTPUT_DEVICE SP sampler_channel SP device_index + / AUDIO_OUTPUT_CHANNEL SP sampler_channel SP audio_channel_index + SP audio_channel_index + + / AUDIO_OUTPUT_TYPE SP sampler_channel SP audio_output_type_name / MIDI_INPUT SP sampler_channel SP device_index SP midi_input_port_index SP midi_input_channel_index @@ -6413,6 +6532,10 @@ INSTRUMENT SP sampler_channel + format_instruction = + + INSTRUMENTS_DB + modal_arg = /* epsilon (empty argument) */ @@ -6421,6 +6544,15 @@ key_val_list = + + + + +Schoenebeck Expires March 4, 2008 [Page 117] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + + string '=' param_val_list / key_val_list SP string '=' param_val_list @@ -6433,14 +6565,6 @@ list_instruction = - - - -Schoenebeck Expires December 24, 2007 [Page 115] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 - - AUDIO_OUTPUT_DEVICES / MIDI_INPUT_DEVICES @@ -6461,13 +6585,13 @@ / FX_SENDS SP sampler_channel - / DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP pathname + / DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path - / DB_INSTRUMENT_DIRECTORIES SP pathname + / DB_INSTRUMENT_DIRECTORIES SP db_path - / DB_INSTRUMENTS SP RECURSIVE SP pathname + / DB_INSTRUMENTS SP RECURSIVE SP db_path - / DB_INSTRUMENTS SP pathname + / DB_INSTRUMENTS SP db_path load_instr_args = @@ -6477,6 +6601,14 @@ load_engine_args = + + + +Schoenebeck Expires March 4, 2008 [Page 118] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + + engine_name SP sampler_channel instr_load_mode = @@ -6489,14 +6621,6 @@ device_index = - - - -Schoenebeck Expires December 24, 2007 [Page 116] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 - - number audio_channel_index = @@ -6533,6 +6657,14 @@ number + + + +Schoenebeck Expires March 4, 2008 [Page 119] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + + midi_ctrl = number @@ -6545,14 +6677,6 @@ sampler_channel = - - - -Schoenebeck Expires December 24, 2007 [Page 117] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 - - number instrument_index = @@ -6567,17 +6691,13 @@ string - pathname = - - stringval + filename = - dirname = + path - stringval + db_path = - filename = - - stringval_escaped + path map_name = @@ -6593,21 +6713,21 @@ param_val_list = - param_val - / param_val_list','param_val - param_val = - string +Schoenebeck Expires March 4, 2008 [Page 120] + +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 + param_val + / param_val_list','param_val -Schoenebeck Expires December 24, 2007 [Page 118] - -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + param_val = + string / stringval @@ -6623,9 +6743,9 @@ query_val = - string + textval_escaped - / stringval + / stringval_escaped scan_mode = @@ -6652,17 +6772,9 @@ - - - - - - - - -Schoenebeck Expires December 24, 2007 [Page 119] +Schoenebeck Expires March 4, 2008 [Page 121] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +------------------------+------------------------------------------+ @@ -6716,9 +6828,9 @@ -Schoenebeck Expires December 24, 2007 [Page 120] +Schoenebeck Expires March 4, 2008 [Page 122] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 8. Events @@ -6772,9 +6884,9 @@ -Schoenebeck Expires December 24, 2007 [Page 121] +Schoenebeck Expires March 4, 2008 [Page 123] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 "NOTIFY:MIDI_INPUT_DEVICE_COUNT:" @@ -6828,9 +6940,9 @@ -Schoenebeck Expires December 24, 2007 [Page 122] +Schoenebeck Expires March 4, 2008 [Page 124] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 "NOTIFY:VOICE_COUNT: " @@ -6884,9 +6996,9 @@ -Schoenebeck Expires December 24, 2007 [Page 123] +Schoenebeck Expires March 4, 2008 [Page 125] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 "NOTIFY:CHANNEL_INFO:" @@ -6940,9 +7052,9 @@ -Schoenebeck Expires December 24, 2007 [Page 124] +Schoenebeck Expires March 4, 2008 [Page 126] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 SUBSCRIBE TOTAL_VOICE_COUNT @@ -6996,9 +7108,9 @@ -Schoenebeck Expires December 24, 2007 [Page 125] +Schoenebeck Expires March 4, 2008 [Page 127] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 SUBSCRIBE MIDI_INSTRUMENT_COUNT @@ -7052,9 +7164,9 @@ -Schoenebeck Expires December 24, 2007 [Page 126] +Schoenebeck Expires March 4, 2008 [Page 128] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 8.18. Number of database instrument directories changed @@ -7108,9 +7220,9 @@ -Schoenebeck Expires December 24, 2007 [Page 127] +Schoenebeck Expires March 4, 2008 [Page 129] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 8.20. Number of database instruments changed @@ -7164,9 +7276,9 @@ -Schoenebeck Expires December 24, 2007 [Page 128] +Schoenebeck Expires March 4, 2008 [Page 130] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 8.22. Database job status information changed @@ -7220,9 +7332,9 @@ -Schoenebeck Expires December 24, 2007 [Page 129] +Schoenebeck Expires March 4, 2008 [Page 131] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 9. Security Considerations @@ -7276,9 +7388,9 @@ -Schoenebeck Expires December 24, 2007 [Page 130] +Schoenebeck Expires March 4, 2008 [Page 132] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 10. Acknowledgments @@ -7332,9 +7444,9 @@ -Schoenebeck Expires December 24, 2007 [Page 131] +Schoenebeck Expires March 4, 2008 [Page 133] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 11. References @@ -7388,9 +7500,9 @@ -Schoenebeck Expires December 24, 2007 [Page 132] +Schoenebeck Expires March 4, 2008 [Page 134] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 Author's Address @@ -7444,9 +7556,9 @@ -Schoenebeck Expires December 24, 2007 [Page 133] +Schoenebeck Expires March 4, 2008 [Page 135] -Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +Internet-Draft LinuxSampler Control Protocol (draft) September 2007 Full Copyright Statement @@ -7500,5 +7612,6 @@ -Schoenebeck Expires December 24, 2007 [Page 134] +Schoenebeck Expires March 4, 2008 [Page 136] +