--- web/trunk/www.linuxsampler.org/api/draft-linuxsampler-protocol.txt 2007/06/22 14:21:03 1250 +++ web/trunk/www.linuxsampler.org/api/draft-linuxsampler-protocol.txt 2007/06/22 14:24:57 1251 @@ -4,11 +4,11 @@ LinuxSampler Developers C. Schoenebeck Internet-Draft Interessengemeinschaft Software Intended status: Standards Track Engineering e. V. -Expires: November 25, 2007 May 24, 2007 +Expires: December 24, 2007 June 22, 2007 - LinuxSampler Control Protocol - LSCP 1.2 + LinuxSampler Control Protocol (draft) + LSCP 1.2cvs Status of this Memo @@ -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 November 25, 2007. + This Internet-Draft will expire on December 24, 2007. Copyright Notice @@ -52,9 +52,9 @@ -Schoenebeck Expires November 25, 2007 [Page 1] +Schoenebeck Expires December 24, 2007 [Page 1] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 Abstract @@ -108,9 +108,9 @@ -Schoenebeck Expires November 25, 2007 [Page 2] +Schoenebeck Expires December 24, 2007 [Page 2] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 6.3.8. Getting all created MIDI input device list . . . . . 37 @@ -125,17 +125,17 @@ 6.4.2. Loading a sampler engine . . . . . . . . . . . . . . 44 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 . . . . . . . . . . . . 45 + 6.4.5. Adding a new sampler channel . . . . . . . . . . . . 46 6.4.6. Removing a sampler channel . . . . . . . . . . . . . 46 6.4.7. Getting amount of available engines . . . . . . . . . 47 - 6.4.8. Getting all 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.13. Current fill state of disk stream buffers . . . . . . 53 6.4.14. Setting audio output device . . . . . . . . . . . . . 54 - 6.4.15. Setting audio output type . . . . . . . . . . . . . . 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 @@ -154,103 +154,104 @@ 6.4.30. Changing effect send's name . . . . . . . . . . . . . 66 6.4.31. Altering effect send's audio routing . . . . . . . . 67 6.4.32. Altering effect send's MIDI controller . . . . . . . 68 - 6.4.33. Altering effect send's send level . . . . . . . . . . 68 - 6.4.34. Resetting a sampler channel . . . . . . . . . . . . . 69 + 6.4.33. Altering effect send's send level . . . . . . . . . . 69 + 6.4.34. Resetting a sampler channel . . . . . . . . . . . . . 70 6.5. Controlling connection . . . . . . . . . . . . . . . . . 70 6.5.1. Register front-end for receiving event messages . . . 70 6.5.2. Unregister front-end for not receiving event messages . . . . . . . . . . . . . . . . . . . . . . 71 - 6.5.3. Enable or disable echo of commands . . . . . . . . . 71 + 6.5.3. Enable or disable echo of commands . . . . . . . . . 72 -Schoenebeck Expires November 25, 2007 [Page 3] +Schoenebeck Expires December 24, 2007 [Page 3] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 6.5.4. Close client connection . . . . . . . . . . . . . . . 72 6.6. Global commands . . . . . . . . . . . . . . . . . . . . . 72 - 6.6.1. Current number of active voices . . . . . . . . . . . 72 + 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.5. Getting global volume attenuation . . . . . . . . . . 74 - 6.6.6. Setting global volume attenuation . . . . . . . . . . 74 + 6.6.6. Setting global volume attenuation . . . . . . . . . . 75 6.7. MIDI Instrument Mapping . . . . . . . . . . . . . . . . . 75 6.7.1. Create a new MIDI instrument map . . . . . . . . . . 76 - 6.7.2. Delete one particular or all MIDI instrument maps . . 76 + 6.7.2. Delete one particular or all MIDI instrument maps . . 77 6.7.3. Get amount of existing MIDI instrument maps . . . . . 77 - 6.7.4. Getting all created MIDI instrument maps . . . . . . 77 + 6.7.4. Getting all created MIDI instrument maps . . . . . . 78 6.7.5. Getting MIDI instrument map information . . . . . . . 78 6.7.6. Renaming a MIDI instrument map . . . . . . . . . . . 79 - 6.7.7. Create or replace a MIDI instrument map entry . . . . 79 + 6.7.7. Create or replace a MIDI instrument map entry . . . . 80 6.7.8. Getting ammount of MIDI instrument map entries . . . 82 6.7.9. Getting indeces of all entries of a MIDI instrument map . . . . . . . . . . . . . . . . . . . 83 - 6.7.10. Remove an entry from the MIDI instrument map . . . . 83 + 6.7.10. Remove an entry from the MIDI instrument map . . . . 84 6.7.11. Get current settings of MIDI instrument map entry . . 84 6.7.12. Clear MIDI instrument map . . . . . . . . . . . . . . 86 - 6.8. Managing Instruments Database . . . . . . . . . . . . . . 86 - 6.8.1. Creating a new instrument directory . . . . . . . . . 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.3. Getting amount of instrument directories . . . . . . 88 - 6.8.4. Listing all directories in specific directory . . . . 88 + 6.8.4. Listing all directories in specific directory . . . . 89 6.8.5. Getting instrument directory information . . . . . . 89 6.8.6. Renaming an instrument directory . . . . . . . . . . 90 - 6.8.7. Moving an instrument directory . . . . . . . . . . . 90 - 6.8.8. Copying instrument directories . . . . . . . . . . . 91 + 6.8.7. Moving an instrument directory . . . . . . . . . . . 91 + 6.8.8. Copying instrument directories . . . . . . . . . . . 92 6.8.9. Changing the description of directory . . . . . . . . 92 - 6.8.10. Finding directories . . . . . . . . . . . . . . . . . 92 + 6.8.10. Finding directories . . . . . . . . . . . . . . . . . 93 6.8.11. Adding instruments to the instruments database . . . 94 - 6.8.12. Removing an instrument . . . . . . . . . . . . . . . 95 + 6.8.12. Removing an instrument . . . . . . . . . . . . . . . 96 6.8.13. Getting amount of instruments . . . . . . . . . . . . 96 - 6.8.14. Listing all instruments in specific directory . . . . 96 + 6.8.14. Listing all instruments in specific directory . . . . 97 6.8.15. Getting instrument information . . . . . . . . . . . 97 - 6.8.16. Renaming an instrument . . . . . . . . . . . . . . . 99 + 6.8.16. Renaming an instrument . . . . . . . . . . . . . . . 100 6.8.17. Moving an instrument . . . . . . . . . . . . . . . . 100 - 6.8.18. Copying instruments . . . . . . . . . . . . . . . . . 100 - 6.8.19. Changing the description of instrument . . . . . . . 101 - 6.8.20. Finding instruments . . . . . . . . . . . . . . . . . 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 - 8. Events . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 - 8.1. Number of audio output devices changed . . . . . . . . . 120 - 8.2. Audio output device's settings changed . . . . . . . . . 120 + 7.1. Character Set and Escape Sequences . . . . . . . . . . . 119 + 8. Events . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 + 8.1. Number of audio output devices changed . . . . . . . . . 121 -Schoenebeck Expires November 25, 2007 [Page 4] +Schoenebeck Expires December 24, 2007 [Page 4] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 - 8.3. Number of MIDI input devices changed . . . . . . . . . . 120 - 8.4. MIDI input device's settings changed . . . . . . . . . . 121 - 8.5. Number of sampler channels changed . . . . . . . . . . . 121 - 8.6. Number of active voices changed . . . . . . . . . . . . . 121 - 8.7. Number of active disk streams changed . . . . . . . . . . 122 - 8.8. Disk stream buffer fill state changed . . . . . . . . . . 122 - 8.9. Channel information changed . . . . . . . . . . . . . . . 122 - 8.10. Number of effect sends changed . . . . . . . . . . . . . 123 - 8.11. Effect send information changed . . . . . . . . . . . . . 123 - 8.12. Total number of active voices changed . . . . . . . . . . 123 - 8.13. Number of MIDI instrument maps changed . . . . . . . . . 124 - 8.14. MIDI instrument map information changed . . . . . . . . . 124 - 8.15. Number of MIDI instruments changed . . . . . . . . . . . 124 - 8.16. MIDI instrument information changed . . . . . . . . . . . 125 - 8.17. Global settings changed . . . . . . . . . . . . . . . . . 125 - 8.18. Number of database instrument directories changed . . . . 126 - 8.19. Database instrument directory information changed . . . . 126 - 8.20. Number of database instruments changed . . . . . . . . . 127 - 8.21. Database instrument information changed . . . . . . . . . 127 - 8.22. Database job status information changed . . . . . . . . . 128 - 8.23. Miscellaneous and debugging events . . . . . . . . . . . 128 - 9. Security Considerations . . . . . . . . . . . . . . . . . . . 129 - 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 130 - 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 131 - Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 132 - Intellectual Property and Copyright Statements . . . . . . . . . 133 + 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 @@ -275,10 +276,9 @@ - -Schoenebeck Expires November 25, 2007 [Page 5] +Schoenebeck Expires December 24, 2007 [Page 5] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 1. Requirements notation @@ -294,7 +294,7 @@ end) and server (LinuxSampler) respectively. Lines in examples must be interpreted as every line being CRLF terminated (carriage return character followed by line feed character as defined in the ASCII - standard), thus the following example: + standard [RFC20]), thus the following example: C: "some line" @@ -332,9 +332,9 @@ -Schoenebeck Expires November 25, 2007 [Page 6] +Schoenebeck Expires December 24, 2007 [Page 6] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 2. Versioning of this specification @@ -388,9 +388,9 @@ -Schoenebeck Expires November 25, 2007 [Page 7] +Schoenebeck Expires December 24, 2007 [Page 7] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 3. Introduction @@ -444,9 +444,9 @@ -Schoenebeck Expires November 25, 2007 [Page 8] +Schoenebeck Expires December 24, 2007 [Page 8] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 4. Focus of this protocol @@ -500,9 +500,9 @@ -Schoenebeck Expires November 25, 2007 [Page 9] +Schoenebeck Expires December 24, 2007 [Page 9] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 5. Communication Overview @@ -556,9 +556,9 @@ -Schoenebeck Expires November 25, 2007 [Page 10] +Schoenebeck Expires December 24, 2007 [Page 10] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 5.1.1. Result format @@ -612,9 +612,9 @@ -Schoenebeck Expires November 25, 2007 [Page 11] +Schoenebeck Expires December 24, 2007 [Page 11] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 set has the following format: @@ -668,9 +668,9 @@ -Schoenebeck Expires November 25, 2007 [Page 12] +Schoenebeck Expires December 24, 2007 [Page 12] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 Each line of the result set MUST end with . @@ -724,9 +724,9 @@ -Schoenebeck Expires November 25, 2007 [Page 13] +Schoenebeck Expires December 24, 2007 [Page 13] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 inserted in the middle of the event message as well as any other @@ -780,9 +780,9 @@ -Schoenebeck Expires November 25, 2007 [Page 14] +Schoenebeck Expires December 24, 2007 [Page 14] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 6. Description for control commands @@ -836,9 +836,9 @@ -Schoenebeck Expires November 25, 2007 [Page 15] +Schoenebeck Expires December 24, 2007 [Page 15] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 6.2.1. Getting amount of available audio output drivers @@ -892,9 +892,9 @@ -Schoenebeck Expires November 25, 2007 [Page 16] +Schoenebeck Expires December 24, 2007 [Page 16] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 LinuxSampler will answer by sending a separated list. Each @@ -948,9 +948,9 @@ -Schoenebeck Expires November 25, 2007 [Page 17] +Schoenebeck Expires December 24, 2007 [Page 17] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 obtained (as returned by the "GET AUDIO_OUTPUT_DRIVER INFO" @@ -1004,9 +1004,9 @@ -Schoenebeck Expires November 25, 2007 [Page 18] +Schoenebeck Expires December 24, 2007 [Page 18] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 MULTIPLICITY - @@ -1060,9 +1060,9 @@ -Schoenebeck Expires November 25, 2007 [Page 19] +Schoenebeck Expires December 24, 2007 [Page 19] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 returned, dependent to driver parameter) @@ -1116,9 +1116,9 @@ -Schoenebeck Expires November 25, 2007 [Page 20] +Schoenebeck Expires December 24, 2007 [Page 20] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 "TYPE: INT" @@ -1172,9 +1172,9 @@ -Schoenebeck Expires November 25, 2007 [Page 21] +Schoenebeck Expires December 24, 2007 [Page 21] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 providing an appropriate warning code and warning message @@ -1228,9 +1228,9 @@ -Schoenebeck Expires November 25, 2007 [Page 22] +Schoenebeck Expires December 24, 2007 [Page 22] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 C: "DESTROY AUDIO_OUTPUT_DEVICE 0" @@ -1284,9 +1284,9 @@ -Schoenebeck Expires November 25, 2007 [Page 23] +Schoenebeck Expires December 24, 2007 [Page 23] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 Possible Answers: @@ -1340,9 +1340,9 @@ -Schoenebeck Expires November 25, 2007 [Page 24] +Schoenebeck Expires December 24, 2007 [Page 24] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 "FRAGMENTS: 2" @@ -1396,9 +1396,9 @@ -Schoenebeck Expires November 25, 2007 [Page 25] +Schoenebeck Expires December 24, 2007 [Page 25] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 6.2.11. Getting information about an audio channel @@ -1452,9 +1452,9 @@ -Schoenebeck Expires November 25, 2007 [Page 26] +Schoenebeck Expires December 24, 2007 [Page 26] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 Examples: @@ -1508,9 +1508,9 @@ -Schoenebeck Expires November 25, 2007 [Page 27] +Schoenebeck Expires December 24, 2007 [Page 27] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 channel number and a specific channel parameter name for @@ -1564,9 +1564,9 @@ -Schoenebeck Expires November 25, 2007 [Page 28] +Schoenebeck Expires December 24, 2007 [Page 28] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 RANGE_MAX - @@ -1620,9 +1620,9 @@ -Schoenebeck Expires November 25, 2007 [Page 29] +Schoenebeck Expires December 24, 2007 [Page 29] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 "OK" - @@ -1676,9 +1676,9 @@ -Schoenebeck Expires November 25, 2007 [Page 30] +Schoenebeck Expires December 24, 2007 [Page 30] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 Note: examples in this chapter showing particular parameters of @@ -1732,9 +1732,9 @@ -Schoenebeck Expires November 25, 2007 [Page 31] +Schoenebeck Expires December 24, 2007 [Page 31] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 6.3.3. Getting information about a specific MIDI input driver @@ -1788,9 +1788,9 @@ -Schoenebeck Expires November 25, 2007 [Page 32] +Schoenebeck Expires December 24, 2007 [Page 32] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 6.3.4. Getting information about specific MIDI input driver parameter @@ -1844,9 +1844,9 @@ -Schoenebeck Expires November 25, 2007 [Page 33] +Schoenebeck Expires December 24, 2007 [Page 33] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 FIX - @@ -1900,9 +1900,9 @@ -Schoenebeck Expires November 25, 2007 [Page 34] +Schoenebeck Expires December 24, 2007 [Page 34] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 may also appear without (optionally returned, dependent to @@ -1956,9 +1956,9 @@ -Schoenebeck Expires November 25, 2007 [Page 35] +Schoenebeck Expires December 24, 2007 [Page 35] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 "OK[]" - @@ -2012,9 +2012,9 @@ -Schoenebeck Expires November 25, 2007 [Page 36] +Schoenebeck Expires December 24, 2007 [Page 36] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 in case it failed, providing an appropriate error code and @@ -2068,9 +2068,9 @@ -Schoenebeck Expires November 25, 2007 [Page 37] +Schoenebeck Expires December 24, 2007 [Page 37] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 6.3.9. Getting current settings of a MIDI input device @@ -2124,9 +2124,9 @@ -Schoenebeck Expires November 25, 2007 [Page 38] +Schoenebeck Expires December 24, 2007 [Page 38] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 "ACTIVE: true" @@ -2180,9 +2180,9 @@ -Schoenebeck Expires November 25, 2007 [Page 39] +Schoenebeck Expires December 24, 2007 [Page 39] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 MIDI_INPUT_DEVICES" (Section 6.3.8) command and the MIDI @@ -2236,9 +2236,9 @@ -Schoenebeck Expires November 25, 2007 [Page 40] +Schoenebeck Expires December 24, 2007 [Page 40] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 character string to that info category. There is information @@ -2292,9 +2292,9 @@ -Schoenebeck Expires November 25, 2007 [Page 41] +Schoenebeck Expires December 24, 2007 [Page 41] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 returned, dependent to device and port parameter) @@ -2348,9 +2348,9 @@ -Schoenebeck Expires November 25, 2007 [Page 42] +Schoenebeck Expires December 24, 2007 [Page 42] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 in case it failed, providing an appropriate error code and @@ -2380,6 +2380,11 @@ of the sampler channel the instrument should be assigned to. Each sampler channel can only have one instrument. + Notice: since LSCP 1.2 the argument supports escape + characters for special characters (see chapter "Character Set and + Escape Sequences (Section 7.1)" for details) and accordingly + backslash characters in the filename MUST now be escaped as well! + The difference between regular and NON_MODAL versions of the command is that the regular command returns OK only after the instrument has been fully loaded and the channel is ready to be used while NON_MODAL @@ -2395,20 +2400,21 @@ "OK" - - in case the instrument was successfully loaded - - "WRN::" - - in case the instrument was loaded successfully, but there are - noteworthy issue(s) related (e.g. Engine doesn't support one -Schoenebeck Expires November 25, 2007 [Page 43] +Schoenebeck Expires December 24, 2007 [Page 43] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + in case the instrument was successfully loaded + + "WRN::" - + + in case the instrument was loaded successfully, but there are + noteworthy issue(s) related (e.g. Engine doesn't support one or more patch parameters provided by the loaded instrument file), providing an appropriate warning code and warning message @@ -2451,19 +2457,20 @@ in case the engine was deployed successfully, 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 - error message +Schoenebeck Expires December 24, 2007 [Page 44] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 -Schoenebeck Expires November 25, 2007 [Page 44] - -Internet-Draft LinuxSampler Control Protocol May 2007 + code and warning message + + "ERR::" - + in case it failed, providing an appropriate error code and + error message Example: @@ -2505,21 +2512,21 @@ C: "LIST CHANNELS" - S: "0,1,2,3,4,5,6,9,10,11,15,20" -6.4.5. Adding a new sampler channel - A new sampler channel can be added to the end of the sampler channel - list by sending the following command: +Schoenebeck Expires December 24, 2007 [Page 45] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + S: "0,1,2,3,4,5,6,9,10,11,15,20" -Schoenebeck Expires November 25, 2007 [Page 45] - -Internet-Draft LinuxSampler Control Protocol May 2007 +6.4.5. Adding a new sampler channel + A new sampler channel can be added to the end of the sampler channel + list by sending the following command: ADD CHANNEL @@ -2561,6 +2568,15 @@ A sampler channel can be removed by sending the following command: + + + + +Schoenebeck Expires December 24, 2007 [Page 46] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + REMOVE CHANNEL Where should be replaced by the number of the @@ -2570,13 +2586,6 @@ Possible Answers: - - -Schoenebeck Expires November 25, 2007 [Page 46] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - "OK" - in case the given sampler channel could be removed @@ -2614,24 +2623,24 @@ S: "4" -6.4.8. Getting all available engines - The front-end can ask for a list of all available engines by sending - the following command: - LIST AVAILABLE_ENGINES - Possible Answers: +Schoenebeck Expires December 24, 2007 [Page 47] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +6.4.8. Getting all available engines + The front-end can ask for a list of all available engines by sending + the following command: -Schoenebeck Expires November 25, 2007 [Page 47] - -Internet-Draft LinuxSampler Control Protocol May 2007 + LIST AVAILABLE_ENGINES + Possible Answers: LinuxSampler will answer by sending a comma separated list of the engines' names encapsulated into apostrophes ('). Engine names @@ -2672,22 +2681,21 @@ arbitrary character string regarding the engine's version - The mentioned fields above don't have to be in particular order. - - Example: - C: "GET ENGINE INFO JoesCustomEngine" - S: "DESCRIPTION: this is Joe's custom sampler engine" +Schoenebeck Expires December 24, 2007 [Page 48] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + The mentioned fields above don't have to be in particular order. + Example: -Schoenebeck Expires November 25, 2007 [Page 48] - -Internet-Draft LinuxSampler Control Protocol May 2007 + C: "GET ENGINE INFO JoesCustomEngine" + S: "DESCRIPTION: this is Joe's custom sampler engine" "VERSION: testing-1.0" @@ -2727,6 +2735,16 @@ signal, "NONE" if there's no device connected to this sampler channel + + + + + +Schoenebeck Expires December 24, 2007 [Page 49] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + AUDIO_OUTPUT_CHANNELS - number of output channels the sampler channel offers @@ -2737,14 +2755,6 @@ comma separated list which reflects to which audio channel of the selected audio output device each sampler output channel is routed to, e.g. "0,3" would mean the engine's - - - -Schoenebeck Expires November 25, 2007 [Page 49] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - output channel 0 is routed to channel 0 of the audio output device and the engine's output channel 1 is routed to the channel 3 of the audio output device @@ -2782,24 +2792,23 @@ MIDI_INPUT_CHANNEL - - the MIDI input channel number this sampler channel should - listen to or "ALL" to listen on all MIDI channels - - VOLUME - - optionally dotted number for the channel volume factor - (where a value < 1.0 means attenuation and a value > 1.0 - means amplification) +Schoenebeck Expires December 24, 2007 [Page 50] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + the MIDI input channel number this sampler channel should + listen to or "ALL" to listen on all MIDI channels -Schoenebeck Expires November 25, 2007 [Page 50] - -Internet-Draft LinuxSampler Control Protocol May 2007 + VOLUME - + optionally dotted number for the channel volume factor + (where a value < 1.0 means attenuation and a value > 1.0 + means amplification) MUTE - @@ -2839,23 +2848,24 @@ "INSTRUMENT_FILE: /home/joe/FazioliPiano.gig" - "INSTRUMENT_NR: 0" - "INSTRUMENT_NAME: Fazioli Piano" - "INSTRUMENT_STATUS: 100" - "MIDI_INPUT_DEVICE: 0" - "MIDI_INPUT_PORT: 0" +Schoenebeck Expires December 24, 2007 [Page 51] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + "INSTRUMENT_NR: 0" + "INSTRUMENT_NAME: Fazioli Piano" -Schoenebeck Expires November 25, 2007 [Page 51] - -Internet-Draft LinuxSampler Control Protocol May 2007 + "INSTRUMENT_STATUS: 100" + + "MIDI_INPUT_DEVICE: 0" + "MIDI_INPUT_PORT: 0" "MIDI_INPUT_CHANNEL: 5" @@ -2894,6 +2904,15 @@ 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] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + GET CHANNEL STREAM_COUNT Where is the sampler channel number the front-end @@ -2905,14 +2924,6 @@ LinuxSampler will answer by returning the number of active disk streams on that channel in case the engine supports disk streaming, if the engine doesn't support disk streaming it will - - - -Schoenebeck Expires November 25, 2007 [Page 52] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - return "NA" for not available. Example: @@ -2950,24 +2961,23 @@ Examples: - C: "GET CHANNEL BUFFER_FILL BYTES 4" - S: "[115]420500,[116]510300,[75]110000,[120]230700" - C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4" - S: "[115]90%,[116]98%,[75]40%,[120]62%" - - C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4" +Schoenebeck Expires December 24, 2007 [Page 53] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + C: "GET CHANNEL BUFFER_FILL BYTES 4" + S: "[115]420500,[116]510300,[75]110000,[120]230700" + C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4" -Schoenebeck Expires November 25, 2007 [Page 53] - -Internet-Draft LinuxSampler Control Protocol May 2007 + S: "[115]90%,[116]98%,[75]40%,[120]62%" + C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4" S: "" @@ -3007,6 +3017,16 @@ + + + +Schoenebeck Expires December 24, 2007 [Page 54] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + + + 6.4.15. Setting audio output type DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON! @@ -3017,14 +3037,6 @@ SET CHANNEL AUDIO_OUTPUT_TYPE - - - -Schoenebeck Expires November 25, 2007 [Page 54] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - Where is currently either "ALSA" or "JACK" and is the respective sampler channel number. @@ -3061,6 +3073,14 @@ "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] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + numerical ID of the audio channel of the selected audio output device where should be routed to. @@ -3072,15 +3092,6 @@ "WRN::" - - - - - -Schoenebeck Expires November 25, 2007 [Page 55] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - if audio output channel was set, but there are noteworthy issue(s) related, providing an appropriate warning code and warning message @@ -3119,22 +3130,20 @@ related, providing an appropriate warning code and warning message - "ERR::" - - - in case it failed, providing an appropriate error code and - error message - - Examples: +Schoenebeck Expires December 24, 2007 [Page 56] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + "ERR::" - + in case it failed, providing an appropriate error code and + error message + Examples: -Schoenebeck Expires November 25, 2007 [Page 56] - -Internet-Draft LinuxSampler Control Protocol May 2007 6.4.18. Setting MIDI input type @@ -3175,23 +3184,23 @@ The front-end can alter the MIDI input port on a specific sampler channel by sending the following command: - SET CHANNEL MIDI_INPUT_PORT - Where is a MIDI input port number of the MIDI input - device connected to the sampler channel given by . - Possible Answers: - "OK" - +Schoenebeck Expires December 24, 2007 [Page 57] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + SET CHANNEL MIDI_INPUT_PORT + Where is a MIDI input port number of the MIDI input + device connected to the sampler channel given by . -Schoenebeck Expires November 25, 2007 [Page 57] - -Internet-Draft LinuxSampler Control Protocol May 2007 + Possible Answers: + "OK" - on success @@ -3233,21 +3242,19 @@ issue(s) related, providing an appropriate warning code and warning message - "ERR::" - - - in case it failed, providing an appropriate error code and - error message - - Examples: +Schoenebeck Expires December 24, 2007 [Page 58] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + "ERR::" - -Schoenebeck Expires November 25, 2007 [Page 58] - -Internet-Draft LinuxSampler Control Protocol May 2007 + in case it failed, providing an appropriate error code and + error message + Examples: @@ -3289,6 +3296,15 @@ The front-end can mute/unmute a specific sampler channel by sending the following command: + + + + +Schoenebeck Expires December 24, 2007 [Page 59] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + SET CHANNEL MUTE Where is the respective sampler channel number as @@ -3298,13 +3314,6 @@ Possible Answers: - - -Schoenebeck Expires November 25, 2007 [Page 59] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - "OK" - on success @@ -3342,6 +3351,16 @@ on success + + + + + +Schoenebeck Expires December 24, 2007 [Page 60] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + "WRN::" - if the channel was soloed/unsoloed, but there are noteworthy @@ -3353,14 +3372,6 @@ in case it failed, providing an appropriate error code and error message - - - -Schoenebeck Expires November 25, 2007 [Page 60] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - Examples: @@ -3399,6 +3410,13 @@ Read chapter "MIDI Instrument Mapping" (Section 6.7) for details regarding MIDI instrument mapping. + + +Schoenebeck Expires December 24, 2007 [Page 61] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + Possible Answers: "OK" - @@ -3410,13 +3428,6 @@ in case it failed, providing an appropriate error code and error message - - -Schoenebeck Expires November 25, 2007 [Page 61] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - Examples: @@ -3455,6 +3466,13 @@ can mix its voices directly into the audio output devices's audio buffers and is thus faster. + + +Schoenebeck Expires December 24, 2007 [Page 62] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + Possible Answers: "OK[]" - @@ -3463,16 +3481,6 @@ channel, where reflects the unique ID of the newly created effect send entity - - - - - -Schoenebeck Expires November 25, 2007 [Page 62] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - "ERR::" - when a new effect send could not be added, i.e. due to invalid @@ -3513,21 +3521,19 @@ in case it failed, providing an appropriate error code and error message - Example: - - C: "DESTROY FX_SEND 0 0" - - S: "OK" +Schoenebeck Expires December 24, 2007 [Page 63] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + Example: -Schoenebeck Expires November 25, 2007 [Page 63] - -Internet-Draft LinuxSampler Control Protocol May 2007 + C: "DESTROY FX_SEND 0 0" + S: "OK" 6.4.27. Getting amount of effect sends on a sampler channel @@ -3569,21 +3575,23 @@ Examples: - C: "LIST FX_SENDS 0" - S: "0,1" - C: "LIST FX_SENDS 1" - S: "" +Schoenebeck Expires December 24, 2007 [Page 64] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 -Schoenebeck Expires November 25, 2007 [Page 64] - -Internet-Draft LinuxSampler Control Protocol May 2007 + C: "LIST FX_SENDS 0" + S: "0,1" + + C: "LIST FX_SENDS 1" + + S: "" 6.4.29. Getting effect send information @@ -3623,6 +3631,16 @@ current send level (where a value < 1.0 means attenuation and a value > 1.0 means amplification) + + + + + +Schoenebeck Expires December 24, 2007 [Page 65] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + AUDIO_OUTPUT_ROUTING - comma separated list which reflects to which audio channel @@ -3633,14 +3651,6 @@ routed to the channel 3 of the audio output device (see "SET FX_SEND AUDIO_OUTPUT_CHANNEL" (Section 6.4.31) for details) - - - -Schoenebeck Expires November 25, 2007 [Page 65] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - The mentioned fields above don't have to be in particular order. Example: @@ -3677,25 +3687,26 @@ on success - "ERR::" - - in case it failed, providing an appropriate error code and - error message - Example: - C: "SET FX_SEND NAME 0 0 'Fx Send 1'" - S: "OK" +Schoenebeck Expires December 24, 2007 [Page 66] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + "ERR::" - + in case it failed, providing an appropriate error code and + error message -Schoenebeck Expires November 25, 2007 [Page 66] - -Internet-Draft LinuxSampler Control Protocol May 2007 + Example: + C: "SET FX_SEND NAME 0 0 'Fx Send 1'" + + S: "OK" 6.4.31. Altering effect send's audio routing @@ -3733,6 +3744,15 @@ on success + + + + +Schoenebeck Expires December 24, 2007 [Page 67] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + "WRN::" - if audio output channel was set, but there are noteworthy @@ -3746,13 +3766,6 @@ Example: - - -Schoenebeck Expires November 25, 2007 [Page 67] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - C: "SET FX_SEND AUDIO_OUTPUT_CHANNEL 0 0 0 2" S: "OK" @@ -3787,6 +3800,15 @@ "ERR::" - + + + + +Schoenebeck Expires December 24, 2007 [Page 68] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + in case it failed, providing an appropriate error code and error message @@ -3801,14 +3823,6 @@ The front-end can alter the current send level of an effect send entity by sending the following command: - - - -Schoenebeck Expires November 25, 2007 [Page 68] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - SET FX_SEND LEVEL Where is the sampler channel number as returned by the @@ -3843,6 +3857,14 @@ S: "OK" + + + +Schoenebeck Expires December 24, 2007 [Page 69] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + 6.4.34. Resetting a sampler channel The front-end can reset a particular sampler channel by sending the @@ -3857,14 +3879,6 @@ Possible Answers: - - - -Schoenebeck Expires November 25, 2007 [Page 69] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - "OK" - on success @@ -3899,6 +3913,14 @@ where will be replaced by the respective event that client wants to subscribe to. + + + +Schoenebeck Expires December 24, 2007 [Page 70] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + Possible Answers: "OK" - @@ -3911,16 +3933,6 @@ related, providing an appropriate warning code and warning message - - - - - -Schoenebeck Expires November 25, 2007 [Page 70] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - "ERR::" - in case it failed, providing an appropriate error code and @@ -3957,6 +3969,14 @@ in case it failed, providing an appropriate error code and error message + + + +Schoenebeck Expires December 24, 2007 [Page 71] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + Examples: @@ -3969,14 +3989,6 @@ SET ECHO Where should be replaced either by "1" to enable echo mode or - - - -Schoenebeck Expires November 25, 2007 [Page 71] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - "0" to disable echo mode. When echo mode is enabled, all commands send to LinuxSampler will be immediately send back and after this echo the actual response to the command will be returned. Echo mode @@ -4011,27 +4023,27 @@ The following commands have global impact on the sampler. -6.6.1. Current number of active voices - The front-end can ask for the current number of active voices on the - sampler by sending the following command: - GET TOTAL_VOICE_COUNT - Possible Answers: - LinuxSampler will answer by returning the number of all active - voices on the sampler. +Schoenebeck Expires December 24, 2007 [Page 72] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 +6.6.1. Current number of active voices + The front-end can ask for the current number of active voices on the + sampler by sending the following command: + GET TOTAL_VOICE_COUNT -Schoenebeck Expires November 25, 2007 [Page 72] - -Internet-Draft LinuxSampler Control Protocol May 2007 + Possible Answers: + LinuxSampler will answer by returning the number of all active + voices on the sampler. 6.6.2. Maximum amount of active voices @@ -4067,6 +4079,16 @@ The client can ask for general informations about the LinuxSampler instance by sending the following command: + + + + + +Schoenebeck Expires December 24, 2007 [Page 73] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + GET SERVER INFO Possible Answers: @@ -4081,14 +4103,6 @@ DESCRIPTION - - - - -Schoenebeck Expires November 25, 2007 [Page 73] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - arbitrary textual description about the sampler VERSION - @@ -4123,6 +4137,14 @@ 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] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + this parameter. 6.6.6. Setting global volume attenuation @@ -4137,14 +4159,6 @@ might usually be in the range between 0.0 and 1.0, that is for attenuating the overall volume. - - - -Schoenebeck Expires November 25, 2007 [Page 74] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - Possible Answers: "OK" - @@ -4179,6 +4193,14 @@ 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] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + 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" @@ -4192,15 +4214,6 @@ sampler to switch to the respective instrument as reflected by the current MIDI instrument map. - - - - -Schoenebeck Expires November 25, 2007 [Page 75] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - 6.7.1. Create a new MIDI instrument map The front-end can add a new MIDI instrument map by sending the @@ -4235,6 +4248,15 @@ C: "ADD MIDI_INSTRUMENT_MAP" + + + + +Schoenebeck Expires December 24, 2007 [Page 76] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + S: "OK[5]" 6.7.2. Delete one particular or all MIDI instrument maps @@ -4250,13 +4272,6 @@ The front-end can delete all MIDI instrument maps by sending the following command: - - -Schoenebeck Expires November 25, 2007 [Page 76] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - REMOVE MIDI_INSTRUMENT_MAP ALL Possible Answers: @@ -4288,6 +4303,16 @@ Possible Answers: + + + + + +Schoenebeck Expires December 24, 2007 [Page 77] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + The sampler will answer by returning the current number of MIDI instrument maps. @@ -4303,16 +4328,6 @@ current list of MIDI instrument maps, the front-end can send the following command: - - - - - -Schoenebeck Expires November 25, 2007 [Page 77] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - LIST MIDI_INSTRUMENT_MAPS Possible Answers: @@ -4347,6 +4362,15 @@ + + +Schoenebeck Expires December 24, 2007 [Page 78] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + + + NAME - custom name of the given map, which does not have to be @@ -4361,14 +4385,6 @@ Example: - - - -Schoenebeck Expires November 25, 2007 [Page 78] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - C: "GET MIDI_INSTRUMENT_MAP INFO 0" S: "NAME: Standard Map" @@ -4399,6 +4415,16 @@ Example: + + + + + +Schoenebeck Expires December 24, 2007 [Page 79] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + C: "SET MIDI_INSTRUMENT_MAP NAME 0 'Foo instruments'" S: "OK" @@ -4417,25 +4443,19 @@ an integer value between 0..127 reflecting the MIDI program change index, a sampler engine name as returned by the "LIST AVAILABLE_ENGINES" (Section 6.4.8) command (not - - - -Schoenebeck Expires November 25, 2007 [Page 79] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - encapsulated into apostrophes), the name of the - instrument's file to be deployed (encapsulated into apostrophes), - the index (integer value) of the instrument within - the given file, reflects the master volume of the - instrument as optionally dotted number (where a value < 1.0 means - attenuation and a value > 1.0 means amplification). This parameter - easily allows to adjust the volume of all intruments within a custom - instrument map without having to adjust their instrument files. The - OPTIONAL argument defines the life time of the - instrument, that is when the instrument should be loaded, when freed - and has exactly the following possibilities: + instrument's file to be deployed (encapsulated into apostrophes, + supporting escape sequences as described in chapter "Character Set + and Escape Sequences (Section 7.1)"), the index + (integer value) of the instrument within the given file, + reflects the master volume of the instrument as + optionally dotted number (where a value < 1.0 means attenuation and a + value > 1.0 means amplification). This parameter easily allows to + adjust the volume of all intruments within a custom instrument map + without having to adjust their instrument files. The OPTIONAL + argument defines the life time of the instrument, + that is when the instrument should be loaded, when freed and has + exactly the following possibilities: "ON_DEMAND" - @@ -4454,6 +4474,13 @@ instrument) are explicitly changed to "ON_DEMAND" and no sampler channel is using the instrument anymore. + + +Schoenebeck Expires December 24, 2007 [Page 80] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + "PERSISTENT" - The instrument will immediately be loaded into memory when this @@ -4473,14 +4500,6 @@ the mode currently reflected by the already existing entry, that is it will not change the mode. - - - -Schoenebeck Expires November 25, 2007 [Page 80] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - The argument thus allows to define an appropriate strategy (low memory consumption vs. fast instrument switching) for each instrument individually. Note, the following restrictions apply @@ -4510,6 +4529,14 @@ a very long time. It is recommended however to use the OPTIONAL "NON_MODAL" argument only if really necessary, because it has the following drawbacks: as "NON_MODAL" instructions return immediately, + + + +Schoenebeck Expires December 24, 2007 [Page 81] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + they may not necessarily return an error i.e. when the given instrument file turns out to be corrupt, beside that subsequent commands in a LSCP instruction sequence might fail, because mandatory @@ -4528,15 +4555,6 @@ Examples: - - - - -Schoenebeck Expires November 25, 2007 [Page 81] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - C: "MAP MIDI_INSTRUMENT 0 3 0 gig '/usr/share/Steinway D.gig' 0 0.8 PERSISTENT" @@ -4567,6 +4585,14 @@ The front-end can query the amount of currently existing entries in a MIDI instrument map by sending the following command: + + + +Schoenebeck Expires December 24, 2007 [Page 82] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + GET MIDI_INSTRUMENTS The front-end can query the amount of currently existing entries in @@ -4585,14 +4611,6 @@ S: "234" - - - -Schoenebeck Expires November 25, 2007 [Page 82] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - C: "GET MIDI_INSTRUMENTS ALL" S: "954" @@ -4623,6 +4641,14 @@ Example: + + + +Schoenebeck Expires December 24, 2007 [Page 83] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + C: "LIST MIDI_INSTRUMENTS 0" S: "{0,0,0},{0,0,1},{0,0,3},{0,1,4},{1,127,127}" @@ -4641,14 +4667,6 @@ Possible Answers: - - - -Schoenebeck Expires November 25, 2007 [Page 83] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - "OK" - usually @@ -4678,6 +4696,15 @@ Possible Answers: + + + + +Schoenebeck Expires December 24, 2007 [Page 84] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + LinuxSampler will answer by sending a separated list. Each answer line begins with the information category name followed by a colon and then a space character and finally the info @@ -4696,15 +4723,6 @@ Name of the engine to be deployed for this instrument. - - - - -Schoenebeck Expires November 25, 2007 [Page 84] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - "INSTRUMENT_FILE" - File name of the instrument. @@ -4734,6 +4752,15 @@ Example: + + + + +Schoenebeck Expires December 24, 2007 [Page 85] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + C: "GET MIDI_INSTRUMENT INFO 1 45 120" S: "NAME: Drums for Foo Song" @@ -4752,15 +4779,6 @@ "." - - - - -Schoenebeck Expires November 25, 2007 [Page 85] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - 6.7.12. Clear MIDI instrument map The front-end can clear a whole MIDI instrument map, that is delete @@ -4791,6 +4809,14 @@ S: "OK" + + + +Schoenebeck Expires December 24, 2007 [Page 86] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + C: "CLEAR MIDI_INSTRUMENTS ALL" S: "OK" @@ -4810,13 +4836,6 @@ Where is the absolute path name of the directory to be created (encapsulated into apostrophes). - - -Schoenebeck Expires November 25, 2007 [Page 86] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - Possible Answers: "OK" - @@ -4846,6 +4865,14 @@ 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" - @@ -4863,16 +4890,6 @@ S: "OK" - - - - - -Schoenebeck Expires November 25, 2007 [Page 87] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - 6.8.3. Getting amount of instrument directories The front-end can retrieve the current amount of directories in a @@ -4900,6 +4917,18 @@ S: "2" + + + + + + + +Schoenebeck Expires December 24, 2007 [Page 88] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + 6.8.4. Listing all directories in specific directory The front-end can retrieve the current list of directories in @@ -4921,14 +4950,6 @@ if the given directory does not exist. - - - -Schoenebeck Expires November 25, 2007 [Page 88] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - Example: C: "LIST DB_INSTRUMENT_DIRECTORIES '/'" @@ -4956,6 +4977,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: @@ -4978,13 +5007,6 @@ Example: - - -Schoenebeck Expires November 25, 2007 [Page 89] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - C: "GET DB_INSTRUMENT_DIRECTORY INFO '/Piano Collection'" S: "DESCRIPTION: Piano collection of instruments in GigaSampler @@ -5010,6 +5032,15 @@ "OK" - + + + + +Schoenebeck Expires December 24, 2007 [Page 90] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + on success "ERR::" - @@ -5034,13 +5065,6 @@ Where is the absolute path name of the directory to move and is the location where the directory will be moved to. - - -Schoenebeck Expires November 25, 2007 [Page 90] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - Possible Answers: "OK" - @@ -5061,6 +5085,18 @@ S: "OK" + + + + + + + +Schoenebeck Expires December 24, 2007 [Page 91] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + 6.8.8. Copying instrument directories The front-end can copy a specific instrument directory by sending the @@ -5089,14 +5125,6 @@ C: "COPY DB_INSTRUMENT_DIRECTORY '/Piano Collection/Acoustic' '/Acoustic/Pianos'" - - - -Schoenebeck Expires November 25, 2007 [Page 91] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - S: "OK" 6.8.9. Changing the description of directory @@ -5115,6 +5143,16 @@ on success + + + + + +Schoenebeck Expires December 24, 2007 [Page 92] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + "ERR::" - in case the given directory does not exists. @@ -5146,13 +5184,6 @@ Restricts the search to directories, which names satisfy the supplied search string. - - -Schoenebeck Expires November 25, 2007 [Page 92] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - CREATED='[]..[]' Restricts the search to directories, which creation date satisfies @@ -5170,6 +5201,14 @@ after> 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] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + modified after . DESCRIPTION='' @@ -5201,14 +5240,6 @@ S: "'/Piano Collection','/Percussions'" - - - -Schoenebeck Expires November 25, 2007 [Page 93] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - 6.8.11. Adding instruments to the instruments database The front-end can add one or more instruments to the instruments @@ -5226,6 +5257,14 @@ 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 @@ -5257,14 +5296,6 @@ Possible Answers: - - - -Schoenebeck Expires November 25, 2007 [Page 94] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - "OK" - on success when NON_MODAL is not supplied @@ -5281,6 +5312,15 @@ Examples: + + + + +Schoenebeck Expires December 24, 2007 [Page 95] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + C: "ADD DB_INSTRUMENTS '/Piano Collection' '/home/me/gigs/PMI Bosendorfer 290.gig' 0" @@ -5312,15 +5352,6 @@ S: "OK" - - - - -Schoenebeck Expires November 25, 2007 [Page 95] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - 6.8.13. Getting amount of instruments The front-end can retrieve the current amount of instruments in a @@ -5337,6 +5368,15 @@ The current number of instruments in the specified directory. + + + + +Schoenebeck Expires December 24, 2007 [Page 96] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + "ERR::" - if the given directory does not exist. @@ -5370,13 +5410,6 @@ Example: - - -Schoenebeck Expires November 25, 2007 [Page 96] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - C: "LIST DB_INSTRUMENTS '/Piano Collection'" S: "'Bosendorfer 290','Steinway D'" @@ -5391,6 +5424,15 @@ The front-end can ask for the current settings of an instrument by sending the following command: + + + + +Schoenebeck Expires December 24, 2007 [Page 97] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + GET DB_INSTRUMENT INFO Where should be replaced by the absolute path name of @@ -5424,15 +5466,6 @@ SIZE - - - - - -Schoenebeck Expires November 25, 2007 [Page 97] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - The size of the instrument in bytes. CREATED - @@ -5447,6 +5480,15 @@ instrument's database settings, represented in "YYYY-MM-DD HH:MM:SS" format + + + + +Schoenebeck Expires December 24, 2007 [Page 98] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + DESCRIPTION - A brief description of the instrument @@ -5481,14 +5523,6 @@ "FORMAT_FAMILY: GIG" - - - -Schoenebeck Expires November 25, 2007 [Page 98] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - "FORMAT_VERSION: 2" "SIZE: 2050871870" @@ -5503,6 +5537,14 @@ "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" @@ -5537,14 +5579,6 @@ S: "OK" - - - -Schoenebeck Expires November 25, 2007 [Page 99] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - 6.8.17. Moving an instrument The front-end can move a specific instrument to another directory by @@ -5557,6 +5591,16 @@ Possible Answers: + + + + + +Schoenebeck Expires December 24, 2007 [Page 100] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + "OK" - on success @@ -5592,15 +5636,6 @@ "ERR::" - - - - - -Schoenebeck Expires November 25, 2007 [Page 100] - -Internet-Draft LinuxSampler Control Protocol May 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. @@ -5612,6 +5647,16 @@ 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 @@ -5649,14 +5694,6 @@ Where should be replaced by the absolute path name of the directory to search in. If NON_RECURSIVE is specified, the directories located in subdirectories of the specified directory will - - - -Schoenebeck Expires November 25, 2007 [Page 101] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - not be searched. is a list of search criterias in form of "key1=val1 key2=val2 ...". The following criterias are allowed: @@ -5668,6 +5705,14 @@ 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 . @@ -5705,14 +5750,6 @@ ARTISTS='' - - - -Schoenebeck Expires November 25, 2007 [Page 102] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - Restricts the search to instruments with artists info that satisfies the supplied search string. @@ -5723,6 +5760,15 @@ 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. @@ -5758,17 +5804,6 @@ S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/ Steinway D'" - - - - - - -Schoenebeck Expires November 25, 2007 [Page 103] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - 6.8.21. Getting job status information The front-end can ask for the current status of a particular database @@ -5781,6 +5816,15 @@ 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 @@ -5816,15 +5860,6 @@ S: "FILES_TOTAL: 12" - - - - -Schoenebeck Expires November 25, 2007 [Page 104] - -Internet-Draft LinuxSampler Control Protocol May 2007 - - "FILES_SCANNED: 7" "SCANNING: /home/me/gigs/Bosendorfer 290.gig" @@ -5841,44 +5876,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Schoenebeck Expires November 25, 2007 [Page 105] +Schoenebeck Expires December 24, 2007 [Page 105] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 7. Command Syntax @@ -5932,9 +5932,9 @@ -Schoenebeck Expires November 25, 2007 [Page 106] +Schoenebeck Expires December 24, 2007 [Page 106] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 / LIST SP list_instruction @@ -5959,6 +5959,8 @@ / COPY SP copy_instruction + / EDIT SP edit_instruction + / RESET / QUIT @@ -5982,17 +5984,17 @@ / DB_INSTRUMENTS SP pathname SP pathname SP instrument_index - / MIDI_INSTRUMENT_MAP - -Schoenebeck Expires November 25, 2007 [Page 107] +Schoenebeck Expires December 24, 2007 [Page 107] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + / MIDI_INSTRUMENT_MAP + / MIDI_INSTRUMENT_MAP SP map_name subscribe_event = @@ -6039,16 +6041,16 @@ / MISCELLANEOUS - / TOTAL_VOICE_COUNT - -Schoenebeck Expires November 25, 2007 [Page 108] +Schoenebeck Expires December 24, 2007 [Page 108] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + / TOTAL_VOICE_COUNT + / GLOBAL_INFO unsubscribe_event = @@ -6095,16 +6097,16 @@ / MISCELLANEOUS - / TOTAL_VOICE_COUNT - -Schoenebeck Expires November 25, 2007 [Page 109] +Schoenebeck Expires December 24, 2007 [Page 109] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + / TOTAL_VOICE_COUNT + / GLOBAL_INFO map_instruction = @@ -6150,16 +6152,16 @@ / MIDI_INPUT_DRIVER SP INFO SP string - / MIDI_INPUT_DRIVER_PARAMETER SP INFO SP string SP string - -Schoenebeck Expires November 25, 2007 [Page 110] +Schoenebeck Expires December 24, 2007 [Page 110] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + / MIDI_INPUT_DRIVER_PARAMETER SP INFO SP string SP string / MIDI_INPUT_DRIVER_PARAMETER SP INFO SP string SP string SP key_val_list @@ -6206,16 +6208,16 @@ / TOTAL_VOICE_COUNT - / TOTAL_VOICE_COUNT_MAX - -Schoenebeck Expires November 25, 2007 [Page 111] +Schoenebeck Expires December 24, 2007 [Page 111] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + / TOTAL_VOICE_COUNT_MAX / MIDI_INSTRUMENTS SP midi_map @@ -6263,16 +6265,16 @@ / CHANNEL SP set_chan_instruction - / MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name - -Schoenebeck Expires November 25, 2007 [Page 112] +Schoenebeck Expires December 24, 2007 [Page 112] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + / MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name + / FX_SEND SP NAME SP sampler_channel SP fx_send_id SP fx_send_name / FX_SEND SP AUDIO_OUTPUT_CHANNEL SP sampler_channel SP fx_send_id @@ -6318,17 +6320,19 @@ MIDI_INSTRUMENTS SP midi_map - / MIDI_INSTRUMENTS SP ALL - find_instruction = -Schoenebeck Expires November 25, 2007 [Page 113] +Schoenebeck Expires December 24, 2007 [Page 113] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + / MIDI_INSTRUMENTS SP ALL + + find_instruction = + DB_INSTRUMENTS SP NON_RECURSIVE SP pathname SP query_val_list / DB_INSTRUMENTS SP pathname SP query_val_list @@ -6373,18 +6377,17 @@ / 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 - - -Schoenebeck Expires November 25, 2007 [Page 114] +Schoenebeck Expires December 24, 2007 [Page 114] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + / MIDI_INPUT SP sampler_channel SP device_index SP + midi_input_port_index SP midi_input_channel_index + / MIDI_INPUT_DEVICE SP sampler_channel SP device_index / MIDI_INPUT_PORT SP sampler_channel SP midi_input_port_index @@ -6406,6 +6409,10 @@ / MIDI_INSTRUMENT_MAP SP sampler_channel SP DEFAULT + edit_instruction = + + INSTRUMENT SP sampler_channel + modal_arg = /* epsilon (empty argument) */ @@ -6426,20 +6433,19 @@ list_instruction = - AUDIO_OUTPUT_DEVICES - / MIDI_INPUT_DEVICES - - / CHANNELS +Schoenebeck Expires December 24, 2007 [Page 115] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + AUDIO_OUTPUT_DEVICES -Schoenebeck Expires November 25, 2007 [Page 115] - -Internet-Draft LinuxSampler Control Protocol May 2007 + / MIDI_INPUT_DEVICES + / CHANNELS / AVAILABLE_ENGINES @@ -6483,19 +6489,19 @@ device_index = - number - audio_channel_index = - number +Schoenebeck Expires December 24, 2007 [Page 116] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + number -Schoenebeck Expires November 25, 2007 [Page 116] - -Internet-Draft LinuxSampler Control Protocol May 2007 + audio_channel_index = + number audio_output_type_name = @@ -6539,19 +6545,19 @@ sampler_channel = - number - instrument_index = - number +Schoenebeck Expires December 24, 2007 [Page 117] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + number -Schoenebeck Expires November 25, 2007 [Page 117] - -Internet-Draft LinuxSampler Control Protocol May 2007 + instrument_index = + number fx_send_id = @@ -6571,7 +6577,7 @@ filename = - stringval + stringval_escaped map_name = @@ -6595,19 +6601,19 @@ string - / stringval - / number - / dotnum +Schoenebeck Expires December 24, 2007 [Page 118] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + / stringval -Schoenebeck Expires November 25, 2007 [Page 118] - -Internet-Draft LinuxSampler Control Protocol May 2007 + / number + / dotnum query_val_list = @@ -6629,6 +6635,18 @@ / FLAT +7.1. Character Set and Escape Sequences + + Older versions of this protocol up to and including v1.1 only + supported the standard ASCII character set (ASCII code 0 - 127) + [RFC20], all younger versions of this protocol however support the + Extended ASCII character set (ASCII code 0 - 255). The same group of + younger protocols also support escape sequences, but only for + certain, explicitly declared parts of the protocol. The supported + escape sequences are defined as follows: + + + @@ -6642,8 +6660,45 @@ +Schoenebeck Expires December 24, 2007 [Page 119] + +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 + + +------------------------+------------------------------------------+ + | ASCII Character | Translated into (Name) | + | Sequence | | + +------------------------+------------------------------------------+ + | \n | new line | + | | | + | \r | carriage return | + | | | + | \f | form feed | + | | | + | \t | horizontal tab | + | | | + | \v | vertical tab | + | | | + | \' | apostrophe | + | | | + | \" | quotation mark | + | | | + | \\ | backslash | + | | | + | \OOO | three digit octal ASCII code of the | + | | character | + | | | + | \xHH | two digit hex ASCII code of the | + | | character | + +------------------------+------------------------------------------+ + Notice: due to the transition of certain parts of the protocol which + now support escape sequences, a slight backward incompatibility to + protocols version v1.1 and younger has been introduced. The only + difference is that in parts of the protocol where escape characters + are now supported, a backslash characters MUST be escaped as well + (that is as double backslash), whereas in the old versions a single + backslash was sufficient. @@ -6660,9 +6715,10 @@ -Schoenebeck Expires November 25, 2007 [Page 119] + +Schoenebeck Expires December 24, 2007 [Page 120] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 8. Events @@ -6716,9 +6772,9 @@ -Schoenebeck Expires November 25, 2007 [Page 120] +Schoenebeck Expires December 24, 2007 [Page 121] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 "NOTIFY:MIDI_INPUT_DEVICE_COUNT:" @@ -6772,9 +6828,9 @@ -Schoenebeck Expires November 25, 2007 [Page 121] +Schoenebeck Expires December 24, 2007 [Page 122] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 "NOTIFY:VOICE_COUNT: " @@ -6828,9 +6884,9 @@ -Schoenebeck Expires November 25, 2007 [Page 122] +Schoenebeck Expires December 24, 2007 [Page 123] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 "NOTIFY:CHANNEL_INFO:" @@ -6884,9 +6940,9 @@ -Schoenebeck Expires November 25, 2007 [Page 123] +Schoenebeck Expires December 24, 2007 [Page 124] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 SUBSCRIBE TOTAL_VOICE_COUNT @@ -6940,9 +6996,9 @@ -Schoenebeck Expires November 25, 2007 [Page 124] +Schoenebeck Expires December 24, 2007 [Page 125] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 SUBSCRIBE MIDI_INSTRUMENT_COUNT @@ -6996,9 +7052,9 @@ -Schoenebeck Expires November 25, 2007 [Page 125] +Schoenebeck Expires December 24, 2007 [Page 126] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 8.18. Number of database instrument directories changed @@ -7052,9 +7108,9 @@ -Schoenebeck Expires November 25, 2007 [Page 126] +Schoenebeck Expires December 24, 2007 [Page 127] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 8.20. Number of database instruments changed @@ -7108,9 +7164,9 @@ -Schoenebeck Expires November 25, 2007 [Page 127] +Schoenebeck Expires December 24, 2007 [Page 128] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 8.22. Database job status information changed @@ -7164,9 +7220,9 @@ -Schoenebeck Expires November 25, 2007 [Page 128] +Schoenebeck Expires December 24, 2007 [Page 129] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 9. Security Considerations @@ -7220,9 +7276,9 @@ -Schoenebeck Expires November 25, 2007 [Page 129] +Schoenebeck Expires December 24, 2007 [Page 130] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 10. Acknowledgments @@ -7276,13 +7332,16 @@ -Schoenebeck Expires November 25, 2007 [Page 130] +Schoenebeck Expires December 24, 2007 [Page 131] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 11. References + [RFC20] UCLA, "ASCII format for Network Interchange", RFC 20, + 1969. + [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, 1997. @@ -7329,12 +7388,9 @@ - - - -Schoenebeck Expires November 25, 2007 [Page 131] +Schoenebeck Expires December 24, 2007 [Page 132] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 Author's Address @@ -7388,9 +7444,9 @@ -Schoenebeck Expires November 25, 2007 [Page 132] +Schoenebeck Expires December 24, 2007 [Page 133] -Internet-Draft LinuxSampler Control Protocol May 2007 +Internet-Draft LinuxSampler Control Protocol (draft) June 2007 Full Copyright Statement @@ -7444,5 +7500,5 @@ -Schoenebeck Expires November 25, 2007 [Page 133] +Schoenebeck Expires December 24, 2007 [Page 134]