--- web/trunk/www.linuxsampler.org/api/draft-linuxsampler-protocol.txt 2007/10/07 14:05:04 1389 +++ web/trunk/www.linuxsampler.org/api/draft-linuxsampler-protocol.txt 2007/10/07 14:07:48 1390 @@ -4,7 +4,7 @@ LinuxSampler Developers C. Schoenebeck Internet-Draft Interessengemeinschaft Software Intended status: Standards Track Engineering e. V. -Expires: March 4, 2008 September 2007 +Expires: April 9, 2008 October 7, 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 March 4, 2008. + This Internet-Draft will expire on April 9, 2008. Copyright Notice @@ -52,9 +52,9 @@ -Schoenebeck Expires March 4, 2008 [Page 1] +Schoenebeck Expires April 9, 2008 [Page 1] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 Abstract @@ -108,9 +108,9 @@ -Schoenebeck Expires March 4, 2008 [Page 2] +Schoenebeck Expires April 9, 2008 [Page 2] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 6.3.8. Getting all created MIDI input device list . . . . . 37 @@ -164,9 +164,9 @@ -Schoenebeck Expires March 4, 2008 [Page 3] +Schoenebeck Expires April 9, 2008 [Page 3] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 6.5.4. Close client connection . . . . . . . . . . . . . . . 72 @@ -180,82 +180,82 @@ 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 . . 77 - 6.7.3. Get amount of existing MIDI instrument maps . . . . . 77 + 6.7.3. Get amount of existing MIDI instrument maps . . . . . 78 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 . . . . 80 - 6.7.8. Getting ammount of MIDI instrument map entries . . . 82 + 6.7.8. Getting ammount of MIDI instrument map entries . . . 83 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 . . . . 84 - 6.7.11. Get current settings of MIDI instrument map entry . . 84 + 6.7.11. Get current settings of MIDI instrument map entry . . 85 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 . . . . . . . . . . 88 - 6.8.3. Getting amount of instrument directories . . . . . . 88 + 6.8.3. Getting amount of instrument directories . . . . . . 89 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.5. Getting instrument directory information . . . . . . 90 + 6.8.6. Renaming an instrument directory . . . . . . . . . . 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.9. Changing the description of directory . . . . . . . . 93 6.8.10. Finding directories . . . . . . . . . . . . . . . . . 93 - 6.8.11. Adding instruments to the instruments database . . . 94 + 6.8.11. Adding instruments to the instruments database . . . 95 6.8.12. Removing an instrument . . . . . . . . . . . . . . . 96 - 6.8.13. Getting amount of instruments . . . . . . . . . . . . 96 + 6.8.13. Getting amount of instruments . . . . . . . . . . . . 97 6.8.14. Listing all instruments in specific directory . . . . 97 6.8.15. Getting instrument information . . . . . . . . . . . 98 6.8.16. Renaming an instrument . . . . . . . . . . . . . . . 100 6.8.17. Moving an instrument . . . . . . . . . . . . . . . . 101 - 6.8.18. Copying instruments . . . . . . . . . . . . . . . . . 101 + 6.8.18. Copying instruments . . . . . . . . . . . . . . . . . 102 6.8.19. Changing the description of instrument . . . . . . . 102 - 6.8.20. Finding instruments . . . . . . . . . . . . . . . . . 102 + 6.8.20. Finding instruments . . . . . . . . . . . . . . . . . 103 6.8.21. Getting job status information . . . . . . . . . . . 105 6.8.22. Formatting the instruments database . . . . . . . . . 106 - 6.9. Editing Instruments . . . . . . . . . . . . . . . . . . . 106 + 6.9. Editing Instruments . . . . . . . . . . . . . . . . . . . 107 6.9.1. Opening an appropriate instrument editor - application . . . . . . . . . . . . . . . . . . . . . 106 + application . . . . . . . . . . . . . . . . . . . . . 107 -Schoenebeck Expires March 4, 2008 [Page 4] +Schoenebeck Expires April 9, 2008 [Page 4] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 - 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 + 7. Command Syntax . . . . . . . . . . . . . . . . . . . . . . . 109 + 7.1. Character Set and Escape Sequences . . . . . . . . . . . 122 + 8. Events . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 + 8.1. Number of audio output devices changed . . . . . . . . . 126 + 8.2. Audio output device's settings changed . . . . . . . . . 126 + 8.3. Number of MIDI input devices changed . . . . . . . . . . 126 + 8.4. MIDI input device's settings changed . . . . . . . . . . 127 + 8.5. Number of sampler channels changed . . . . . . . . . . . 127 + 8.6. Number of active voices changed . . . . . . . . . . . . . 127 + 8.7. Number of active disk streams changed . . . . . . . . . . 128 + 8.8. Disk stream buffer fill state changed . . . . . . . . . . 128 + 8.9. Channel information changed . . . . . . . . . . . . . . . 128 + 8.10. Number of effect sends changed . . . . . . . . . . . . . 129 + 8.11. Effect send information changed . . . . . . . . . . . . . 129 + 8.12. Total number of active voices changed . . . . . . . . . . 129 + 8.13. Number of MIDI instrument maps changed . . . . . . . . . 130 + 8.14. MIDI instrument map information changed . . . . . . . . . 130 + 8.15. Number of MIDI instruments changed . . . . . . . . . . . 130 + 8.16. MIDI instrument information changed . . . . . . . . . . . 131 + 8.17. Global settings changed . . . . . . . . . . . . . . . . . 131 + 8.18. Number of database instrument directories changed . . . . 132 + 8.19. Database instrument directory information changed . . . . 132 + 8.20. Number of database instruments changed . . . . . . . . . 133 + 8.21. Database instrument information changed . . . . . . . . . 133 + 8.22. Database job status information changed . . . . . . . . . 134 + 8.23. Miscellaneous and debugging events . . . . . . . . . . . 134 + 9. Security Considerations . . . . . . . . . . . . . . . . . . . 135 + 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 136 + 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 137 + Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 138 + Intellectual Property and Copyright Statements . . . . . . . . . 139 @@ -276,9 +276,9 @@ -Schoenebeck Expires March 4, 2008 [Page 5] +Schoenebeck Expires April 9, 2008 [Page 5] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 1. Requirements notation @@ -332,9 +332,9 @@ -Schoenebeck Expires March 4, 2008 [Page 6] +Schoenebeck Expires April 9, 2008 [Page 6] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 2. Versioning of this specification @@ -388,9 +388,9 @@ -Schoenebeck Expires March 4, 2008 [Page 7] +Schoenebeck Expires April 9, 2008 [Page 7] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 3. Introduction @@ -444,9 +444,9 @@ -Schoenebeck Expires March 4, 2008 [Page 8] +Schoenebeck Expires April 9, 2008 [Page 8] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 4. Focus of this protocol @@ -500,9 +500,9 @@ -Schoenebeck Expires March 4, 2008 [Page 9] +Schoenebeck Expires April 9, 2008 [Page 9] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 5. Communication Overview @@ -556,9 +556,9 @@ -Schoenebeck Expires March 4, 2008 [Page 10] +Schoenebeck Expires April 9, 2008 [Page 10] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 5.1.1. Result format @@ -612,9 +612,9 @@ -Schoenebeck Expires March 4, 2008 [Page 11] +Schoenebeck Expires April 9, 2008 [Page 11] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 set has the following format: @@ -668,9 +668,9 @@ -Schoenebeck Expires March 4, 2008 [Page 12] +Schoenebeck Expires April 9, 2008 [Page 12] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 Each line of the result set MUST end with . @@ -724,9 +724,9 @@ -Schoenebeck Expires March 4, 2008 [Page 13] +Schoenebeck Expires April 9, 2008 [Page 13] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 inserted in the middle of the event message as well as any other @@ -780,9 +780,9 @@ -Schoenebeck Expires March 4, 2008 [Page 14] +Schoenebeck Expires April 9, 2008 [Page 14] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 6. Description for control commands @@ -836,9 +836,9 @@ -Schoenebeck Expires March 4, 2008 [Page 15] +Schoenebeck Expires April 9, 2008 [Page 15] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 6.2.1. Getting amount of available audio output drivers @@ -892,9 +892,9 @@ -Schoenebeck Expires March 4, 2008 [Page 16] +Schoenebeck Expires April 9, 2008 [Page 16] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 LinuxSampler will answer by sending a separated list. Each @@ -948,9 +948,9 @@ -Schoenebeck Expires March 4, 2008 [Page 17] +Schoenebeck Expires April 9, 2008 [Page 17] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 obtained (as returned by the "GET AUDIO_OUTPUT_DRIVER INFO" @@ -1004,9 +1004,9 @@ -Schoenebeck Expires March 4, 2008 [Page 18] +Schoenebeck Expires April 9, 2008 [Page 18] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 MULTIPLICITY - @@ -1060,9 +1060,9 @@ -Schoenebeck Expires March 4, 2008 [Page 19] +Schoenebeck Expires April 9, 2008 [Page 19] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 returned, dependent to driver parameter) @@ -1116,9 +1116,9 @@ -Schoenebeck Expires March 4, 2008 [Page 20] +Schoenebeck Expires April 9, 2008 [Page 20] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 "TYPE: INT" @@ -1172,9 +1172,9 @@ -Schoenebeck Expires March 4, 2008 [Page 21] +Schoenebeck Expires April 9, 2008 [Page 21] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 providing an appropriate warning code and warning message @@ -1228,9 +1228,9 @@ -Schoenebeck Expires March 4, 2008 [Page 22] +Schoenebeck Expires April 9, 2008 [Page 22] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 C: "DESTROY AUDIO_OUTPUT_DEVICE 0" @@ -1284,9 +1284,9 @@ -Schoenebeck Expires March 4, 2008 [Page 23] +Schoenebeck Expires April 9, 2008 [Page 23] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 Possible Answers: @@ -1340,9 +1340,9 @@ -Schoenebeck Expires March 4, 2008 [Page 24] +Schoenebeck Expires April 9, 2008 [Page 24] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 "FRAGMENTS: 2" @@ -1396,9 +1396,9 @@ -Schoenebeck Expires March 4, 2008 [Page 25] +Schoenebeck Expires April 9, 2008 [Page 25] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 6.2.11. Getting information about an audio channel @@ -1452,9 +1452,9 @@ -Schoenebeck Expires March 4, 2008 [Page 26] +Schoenebeck Expires April 9, 2008 [Page 26] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 Examples: @@ -1508,9 +1508,9 @@ -Schoenebeck Expires March 4, 2008 [Page 27] +Schoenebeck Expires April 9, 2008 [Page 27] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 channel number and a specific channel parameter name for @@ -1564,9 +1564,9 @@ -Schoenebeck Expires March 4, 2008 [Page 28] +Schoenebeck Expires April 9, 2008 [Page 28] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 RANGE_MAX - @@ -1620,9 +1620,9 @@ -Schoenebeck Expires March 4, 2008 [Page 29] +Schoenebeck Expires April 9, 2008 [Page 29] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 "OK" - @@ -1676,9 +1676,9 @@ -Schoenebeck Expires March 4, 2008 [Page 30] +Schoenebeck Expires April 9, 2008 [Page 30] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 Note: examples in this chapter showing particular parameters of @@ -1732,9 +1732,9 @@ -Schoenebeck Expires March 4, 2008 [Page 31] +Schoenebeck Expires April 9, 2008 [Page 31] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 6.3.3. Getting information about a specific MIDI input driver @@ -1788,9 +1788,9 @@ -Schoenebeck Expires March 4, 2008 [Page 32] +Schoenebeck Expires April 9, 2008 [Page 32] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 6.3.4. Getting information about specific MIDI input driver parameter @@ -1844,9 +1844,9 @@ -Schoenebeck Expires March 4, 2008 [Page 33] +Schoenebeck Expires April 9, 2008 [Page 33] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 FIX - @@ -1900,9 +1900,9 @@ -Schoenebeck Expires March 4, 2008 [Page 34] +Schoenebeck Expires April 9, 2008 [Page 34] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 may also appear without (optionally returned, dependent to @@ -1956,9 +1956,9 @@ -Schoenebeck Expires March 4, 2008 [Page 35] +Schoenebeck Expires April 9, 2008 [Page 35] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 "OK[]" - @@ -2012,9 +2012,9 @@ -Schoenebeck Expires March 4, 2008 [Page 36] +Schoenebeck Expires April 9, 2008 [Page 36] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 in case it failed, providing an appropriate error code and @@ -2068,9 +2068,9 @@ -Schoenebeck Expires March 4, 2008 [Page 37] +Schoenebeck Expires April 9, 2008 [Page 37] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 6.3.9. Getting current settings of a MIDI input device @@ -2124,9 +2124,9 @@ -Schoenebeck Expires March 4, 2008 [Page 38] +Schoenebeck Expires April 9, 2008 [Page 38] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 "ACTIVE: true" @@ -2180,9 +2180,9 @@ -Schoenebeck Expires March 4, 2008 [Page 39] +Schoenebeck Expires April 9, 2008 [Page 39] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 MIDI_INPUT_DEVICES" (Section 6.3.8) command and the MIDI @@ -2236,9 +2236,9 @@ -Schoenebeck Expires March 4, 2008 [Page 40] +Schoenebeck Expires April 9, 2008 [Page 40] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 character string to that info category. There is information @@ -2292,9 +2292,9 @@ -Schoenebeck Expires March 4, 2008 [Page 41] +Schoenebeck Expires April 9, 2008 [Page 41] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 returned, dependent to device and port parameter) @@ -2348,9 +2348,9 @@ -Schoenebeck Expires March 4, 2008 [Page 42] +Schoenebeck Expires April 9, 2008 [Page 42] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 "ERR::" - @@ -2404,9 +2404,9 @@ -Schoenebeck Expires March 4, 2008 [Page 43] +Schoenebeck Expires April 9, 2008 [Page 43] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 format and SHOULD return ERR and SHOULD not launch the background @@ -2460,9 +2460,9 @@ -Schoenebeck Expires March 4, 2008 [Page 44] +Schoenebeck Expires April 9, 2008 [Page 44] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 "OK" - @@ -2516,9 +2516,9 @@ -Schoenebeck Expires March 4, 2008 [Page 45] +Schoenebeck Expires April 9, 2008 [Page 45] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 LinuxSampler will answer by returning a comma separated list with @@ -2572,9 +2572,9 @@ -Schoenebeck Expires March 4, 2008 [Page 46] +Schoenebeck Expires April 9, 2008 [Page 46] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 @@ -2628,9 +2628,9 @@ -Schoenebeck Expires March 4, 2008 [Page 47] +Schoenebeck Expires April 9, 2008 [Page 47] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 C: "GET AVAILABLE_ENGINES" @@ -2684,9 +2684,9 @@ -Schoenebeck Expires March 4, 2008 [Page 48] +Schoenebeck Expires April 9, 2008 [Page 48] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 VERSION - @@ -2740,9 +2740,9 @@ -Schoenebeck Expires March 4, 2008 [Page 49] +Schoenebeck Expires April 9, 2008 [Page 49] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 sampler channel @@ -2796,9 +2796,9 @@ -Schoenebeck Expires March 4, 2008 [Page 50] +Schoenebeck Expires April 9, 2008 [Page 50] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 MIDI_INPUT_CHANNEL - @@ -2852,9 +2852,9 @@ -Schoenebeck Expires March 4, 2008 [Page 51] +Schoenebeck Expires April 9, 2008 [Page 51] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 "INSTRUMENT_FILE: /home/joe/FazioliPiano.gig" @@ -2908,9 +2908,9 @@ -Schoenebeck Expires March 4, 2008 [Page 52] +Schoenebeck Expires April 9, 2008 [Page 52] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 6.4.12. Current number of active disk streams @@ -2964,9 +2964,9 @@ -Schoenebeck Expires March 4, 2008 [Page 53] +Schoenebeck Expires April 9, 2008 [Page 53] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 the response are not in particular order, thus the front-end has @@ -3020,9 +3020,9 @@ -Schoenebeck Expires March 4, 2008 [Page 54] +Schoenebeck Expires April 9, 2008 [Page 54] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 Examples: @@ -3076,9 +3076,9 @@ -Schoenebeck Expires March 4, 2008 [Page 55] +Schoenebeck Expires April 9, 2008 [Page 55] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 command, is the numerical ID of the sampler channel's @@ -3132,9 +3132,9 @@ -Schoenebeck Expires March 4, 2008 [Page 56] +Schoenebeck Expires April 9, 2008 [Page 56] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 if MIDI input device was set, but there are noteworthy issue(s) @@ -3188,9 +3188,9 @@ -Schoenebeck Expires March 4, 2008 [Page 57] +Schoenebeck Expires April 9, 2008 [Page 57] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 6.4.19. Setting MIDI input port @@ -3244,9 +3244,9 @@ -Schoenebeck Expires March 4, 2008 [Page 58] +Schoenebeck Expires April 9, 2008 [Page 58] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 "WRN::" - @@ -3300,9 +3300,9 @@ -Schoenebeck Expires March 4, 2008 [Page 59] +Schoenebeck Expires April 9, 2008 [Page 59] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 @@ -3356,9 +3356,9 @@ -Schoenebeck Expires March 4, 2008 [Page 60] +Schoenebeck Expires April 9, 2008 [Page 60] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 "OK" - @@ -3412,9 +3412,9 @@ -Schoenebeck Expires March 4, 2008 [Page 61] +Schoenebeck Expires April 9, 2008 [Page 61] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 would fall back to "NONE". @@ -3450,7 +3450,10 @@ effect send should be created on, is a number between 0..127 defining the MIDI controller which can alter the effect send level and is an optional argument defining a name for the - effect send entity. The name does not have to be unique. + effect send entity. The name does not have to be unique, but MUST be + encapsulated into apostrophes and supports escape sequences as + described in chapter "Character Set and Escape Sequences + (Section 7.1)". By default, that is as initial routing, the effect send's audio channels are automatically routed to the last audio channels of the @@ -3462,17 +3465,17 @@ AUDIO_OUTPUT_CHANNEL" (Section 6.4.31). Note: Create effect sends on a sampler channel only when needed, - 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 -Schoenebeck Expires March 4, 2008 [Page 62] +Schoenebeck Expires April 9, 2008 [Page 62] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + 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 @@ -3518,16 +3521,15 @@ Possible Answers: - "OK" - - - -Schoenebeck Expires March 4, 2008 [Page 63] +Schoenebeck Expires April 9, 2008 [Page 63] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + "OK" - on success @@ -3575,15 +3577,15 @@ returned by the "ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) command. - Possible Answers: - -Schoenebeck Expires March 4, 2008 [Page 64] +Schoenebeck Expires April 9, 2008 [Page 64] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + Possible Answers: The sampler will answer by returning a comma separated list with all effect sends' numerical IDs on the given sampler channel. @@ -3630,16 +3632,16 @@ a value between 0 and 127 reflecting the MIDI controller which is able to modify the effect send's send level - LEVEL - - -Schoenebeck Expires March 4, 2008 [Page 65] +Schoenebeck Expires April 9, 2008 [Page 65] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + LEVEL - optionally dotted number reflecting the effect send's current send level (where a value < 1.0 means attenuation @@ -3683,20 +3685,20 @@ command, reflects the numerical ID of the effect send entity as returned by the "CREATE FX_SEND" (Section 6.4.25) or "LIST FX_SENDS" (Section 6.4.28) command and is the new name of the - effect send entity, which does not have to be unique. - - Possible Answers: - - - + effect send entity, which does not have to be unique (name MUST be + encapsulated into apostrophes and supports escape sequences as + described in chapter "Character Set and Escape Sequences + (Section 7.1)"). -Schoenebeck Expires March 4, 2008 [Page 66] +Schoenebeck Expires April 9, 2008 [Page 66] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + Possible Answers: + "OK" - on success @@ -3746,11 +3748,9 @@ - - -Schoenebeck Expires March 4, 2008 [Page 67] +Schoenebeck Expires April 9, 2008 [Page 67] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 "OK" - @@ -3804,9 +3804,9 @@ -Schoenebeck Expires March 4, 2008 [Page 68] +Schoenebeck Expires April 9, 2008 [Page 68] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 "ERR::" - @@ -3860,9 +3860,9 @@ -Schoenebeck Expires March 4, 2008 [Page 69] +Schoenebeck Expires April 9, 2008 [Page 69] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 C: "SET FX_SEND LEVEL 0 0 0.15" @@ -3916,9 +3916,9 @@ -Schoenebeck Expires March 4, 2008 [Page 70] +Schoenebeck Expires April 9, 2008 [Page 70] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 SUBSCRIBE @@ -3972,9 +3972,9 @@ -Schoenebeck Expires March 4, 2008 [Page 71] +Schoenebeck Expires April 9, 2008 [Page 71] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 "ERR::" - @@ -4028,9 +4028,9 @@ -Schoenebeck Expires March 4, 2008 [Page 72] +Schoenebeck Expires April 9, 2008 [Page 72] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 6.6. Global commands @@ -4084,9 +4084,9 @@ -Schoenebeck Expires March 4, 2008 [Page 73] +Schoenebeck Expires April 9, 2008 [Page 73] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 6.6.4. General sampler informations @@ -4108,7 +4108,9 @@ DESCRIPTION - - arbitrary textual description about the sampler + arbitrary textual description about the sampler (note that + the character string may contain escape sequences + (Section 7.1)) VERSION - @@ -4138,11 +4140,9 @@ - - -Schoenebeck Expires March 4, 2008 [Page 74] +Schoenebeck Expires April 9, 2008 [Page 74] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 The sampler will always answer by returning the optional dotted @@ -4196,9 +4196,9 @@ -Schoenebeck Expires March 4, 2008 [Page 75] +Schoenebeck Expires April 9, 2008 [Page 75] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 By default, that is when the sampler is launched, there is no map, @@ -4227,7 +4227,10 @@ ADD MIDI_INSTRUMENT_MAP [] Where is an optional argument allowing to assign a custom name - to the new map. MIDI instrument Map names do not have to be unique. + to the new map. MIDI instrument Map names do not have to be unique, + but MUST be encapsulated into apostrophes and support escape + sequences as described in chapter "Character Set and Escape Sequences + (Section 7.1)". Possible Answers: @@ -4245,18 +4248,17 @@ C: "ADD MIDI_INSTRUMENT_MAP 'Standard Map'" - S: "OK[0]" - - -Schoenebeck Expires March 4, 2008 [Page 76] +Schoenebeck Expires April 9, 2008 [Page 76] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + S: "OK[0]" + C: "ADD MIDI_INSTRUMENT_MAP 'Standard Drumkit'" S: "OK[1]" @@ -4300,19 +4302,22 @@ S: "OK" -6.7.3. Get amount of existing MIDI instrument maps - The front-end can retrieve the current amount of MIDI instrument maps - by sending the following command: -Schoenebeck Expires March 4, 2008 [Page 77] + +Schoenebeck Expires April 9, 2008 [Page 77] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 +6.7.3. Get amount of existing MIDI instrument maps + + The front-end can retrieve the current amount of MIDI instrument maps + by sending the following command: + GET MIDI_INSTRUMENT_MAPS Possible Answers: @@ -4356,19 +4361,19 @@ interested in as returned by the "LIST MIDI_INSTRUMENT_MAPS" (Section 6.7.4) command. - Possible Answers: - - 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 -Schoenebeck Expires March 4, 2008 [Page 78] +Schoenebeck Expires April 9, 2008 [Page 78] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + Possible Answers: + + 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: @@ -4404,10 +4409,22 @@ SET MIDI_INSTRUMENT_MAP NAME Where is the numerical ID of the map and the new custom - name of the map, which does not have to be unique. + name of the map, which does not have to be unique (name MUST be + encapsulated into apostrophes and supports escape sequences as + described in chapter "Character Set and Escape Sequences + (Section 7.1)"). Possible Answers: + + + + +Schoenebeck Expires April 9, 2008 [Page 79] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + "OK" - on success @@ -4418,13 +4435,6 @@ Example: - - -Schoenebeck Expires March 4, 2008 [Page 79] - -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 - - C: "SET MIDI_INSTRUMENT_MAP NAME 0 'Foo instruments'" S: "OK" @@ -4464,6 +4474,13 @@ be freed from memory when not needed by any sampler channel anymore. + + +Schoenebeck Expires April 9, 2008 [Page 80] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + "ON_DEMAND_HOLD" - The instrument will be loaded when needed, that is when @@ -4474,13 +4491,6 @@ instrument) are explicitly changed to "ON_DEMAND" and no sampler channel is using the instrument anymore. - - -Schoenebeck Expires March 4, 2008 [Page 80] - -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 - - "PERSISTENT" - The instrument will immediately be loaded into memory when this @@ -4515,9 +4525,19 @@ frontend should retrieve the actual mode by i.e. sending "GET MIDI_INSTRUMENT INFO" (Section 6.7.11) command(s). Finally the OPTIONAL argument allows to set a custom name (encapsulated - into apostrophes) for the mapping entry, useful for frontends for - displaying an appropriate name for mapped instruments (using "GET - MIDI_INSTRUMENT INFO" (Section 6.7.11)). + into apostrophes, supporting escape sequences as described in chapter + "Character Set and Escape Sequences (Section 7.1)") for the mapping + entry, useful for frontends for displaying an appropriate name for + mapped instruments (using "GET MIDI_INSTRUMENT INFO" + + + +Schoenebeck Expires April 9, 2008 [Page 81] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + + (Section 6.7.11)). By default, "MAP MIDI_INSTRUMENT" commands block until the mapping is completely established in the sampler. The OPTIONAL "NON_MODAL" @@ -4529,14 +4549,6 @@ 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 March 4, 2008 [Page 81] - -Internet-Draft LinuxSampler Control Protocol (draft) September 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 @@ -4573,6 +4585,14 @@ C: "MAP MIDI_INSTRUMENT 0 1 0 gig '/usr/share/piano.gig' 0 0.25 'Silent Piano'" + + + +Schoenebeck Expires April 9, 2008 [Page 82] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + S: "OK" C: "MAP MIDI_INSTRUMENT NON_MODAL 1 8 120 gig '/home/joe/ @@ -4585,14 +4605,6 @@ The front-end can query the amount of currently existing entries in a MIDI instrument map by sending the following command: - - - -Schoenebeck Expires March 4, 2008 [Page 82] - -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 - - GET MIDI_INSTRUMENTS The front-end can query the amount of currently existing entries in @@ -4627,6 +4639,16 @@ The front-end can query a list of all currently existing entries of all MIDI instrument maps by sending the following command: + + + + + +Schoenebeck Expires April 9, 2008 [Page 83] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + LIST MIDI_INSTRUMENTS ALL Possible Answers: @@ -4641,14 +4663,6 @@ Example: - - - -Schoenebeck Expires March 4, 2008 [Page 83] - -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 - - C: "LIST MIDI_INSTRUMENTS 0" S: "{0,0,0},{0,0,1},{0,0,3},{0,1,4},{1,127,127}" @@ -4681,6 +4695,16 @@ S: "OK" + + + + + +Schoenebeck Expires April 9, 2008 [Page 84] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + 6.7.11. Get current settings of MIDI instrument map entry The front-end can retrieve the current settings of a certain @@ -4696,15 +4720,6 @@ Possible Answers: - - - - -Schoenebeck Expires March 4, 2008 [Page 84] - -Internet-Draft LinuxSampler Control Protocol (draft) September 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 @@ -4737,6 +4752,15 @@ contrast to the "NAME" field, the "INSTRUMENT_NAME" field cannot be changed. + + + + +Schoenebeck Expires April 9, 2008 [Page 85] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + "LOAD_MODE" - Life time of instrument (see "MAP MIDI_INSTRUMENT" @@ -4752,15 +4776,6 @@ Example: - - - - -Schoenebeck Expires March 4, 2008 [Page 85] - -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 - - C: "GET MIDI_INSTRUMENT INFO 1 45 120" S: "NAME: Drums for Foo Song" @@ -4794,6 +4809,14 @@ CLEAR MIDI_INSTRUMENTS ALL The command "CLEAR MIDI_INSTRUMENTS ALL" does not delete the maps, + + + +Schoenebeck Expires April 9, 2008 [Page 86] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + only their entries, thus the map's settings like custom name will be preservevd. @@ -4809,14 +4832,6 @@ S: "OK" - - - -Schoenebeck Expires March 4, 2008 [Page 86] - -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 - - C: "CLEAR MIDI_INSTRUMENTS ALL" S: "OK" @@ -4848,6 +4863,16 @@ Possible Answers: + + + + + +Schoenebeck Expires April 9, 2008 [Page 87] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + "OK" - on success @@ -4864,15 +4889,6 @@ 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 @@ -4901,6 +4917,18 @@ S: "OK" + + + + + + + +Schoenebeck Expires April 9, 2008 [Page 88] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + 6.8.3. Getting amount of instrument directories The front-end can retrieve the current amount of directories in a @@ -4920,15 +4948,6 @@ "ERR::" - - - - - -Schoenebeck Expires March 4, 2008 [Page 88] - -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 - - if the given directory does not exist. Example: @@ -4958,6 +4977,14 @@ if the given directory does not exist. + + + +Schoenebeck Expires April 9, 2008 [Page 89] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + Example: C: "LIST DB_INSTRUMENT_DIRECTORIES '/'" @@ -4977,14 +5004,6 @@ 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: @@ -5014,6 +5033,14 @@ The mentioned fields above don't have to be in particular order. + + + +Schoenebeck Expires April 9, 2008 [Page 90] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + Example: C: "GET DB_INSTRUMENT_DIRECTORY INFO '/Piano Collection'" @@ -5032,15 +5059,6 @@ The front-end can alter the name of a specific instrument directory by sending the following command: - - - - -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 @@ -5069,6 +5087,16 @@ The front-end can move a specific instrument directory by sending the following command: + + + + + +Schoenebeck Expires April 9, 2008 [Page 91] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + MOVE DB_INSTRUMENT_DIRECTORY Where is the absolute path name of the directory to move and @@ -5089,14 +5117,6 @@ Example: - - - -Schoenebeck Expires March 4, 2008 [Page 91] - -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 - - C: "MOVE DB_INSTRUMENT_DIRECTORY '/Acoustic' '/Piano Collection/ Acoustic'" @@ -5125,6 +5145,14 @@ exists in the destination directory. Error is also thrown when trying to copy a directory to a subdirectory of itself. + + + +Schoenebeck Expires April 9, 2008 [Page 92] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + Example: C: "COPY DB_INSTRUMENT_DIRECTORY '/Piano Collection/Acoustic' @@ -5146,13 +5174,6 @@ Possible Answers: - - -Schoenebeck Expires March 4, 2008 [Page 92] - -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 - - "OK" - on success @@ -5180,6 +5201,14 @@ 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 + + + +Schoenebeck Expires April 9, 2008 [Page 93] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + form of "key1=val1 key2=val2 ...". The following criterias are allowed: @@ -5201,14 +5230,6 @@ MODIFIED='[]..[]' - - - -Schoenebeck Expires March 4, 2008 [Page 93] - -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 :" - + + + + +Schoenebeck Expires April 9, 2008 [Page 94] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + if the given directory does not exist. Example: @@ -5257,14 +5287,6 @@ [] 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 @@ -5289,6 +5311,16 @@ Only the instruments in the specified directory will be added, the instruments in the subdirectories will not be processed. + + + + + +Schoenebeck Expires April 9, 2008 [Page 95] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + "FLAT" - All instruments will be processed, including those in the @@ -5314,13 +5346,6 @@ numerical ID used to obtain status information about the job progress. See GET DB_INSTRUMENTS_JOB INFO (Section 6.8.21) - - -Schoenebeck Expires March 4, 2008 [Page 95] - -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 - - "ERR::" - if an invalid path is specified. @@ -5344,6 +5369,14 @@ Possible Answers: + + + +Schoenebeck Expires April 9, 2008 [Page 96] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + "OK" - if the instrument is removed successfully @@ -5370,13 +5403,6 @@ including those located in subdirectories of the specified directory, will be returned. - - -Schoenebeck Expires March 4, 2008 [Page 96] - -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 - - Possible Answers: The current number of instruments in the specified directory. @@ -5399,6 +5425,14 @@ LIST DB_INSTRUMENTS [RECURSIVE] Where should be replaced by the absolute path name of the + + + +Schoenebeck Expires April 9, 2008 [Page 97] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + directory. If RECURSIVE is specified, the absolute path names of all instruments, including those located in subdirectories of the specified directory, will be returned. @@ -5423,16 +5457,6 @@ S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/ Steinway D','/Piano Collection/Lite/Free Piano'" - - - - - -Schoenebeck Expires March 4, 2008 [Page 97] - -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 @@ -5458,6 +5482,13 @@ File name of the instrument. Note that the character string may contain escape sequences (Section 7.1). + + +Schoenebeck Expires April 9, 2008 [Page 98] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + INSTRUMENT_NR - Index of the instrument within the file. @@ -5480,15 +5511,6 @@ instruments database, represented in "YYYY-MM-DD HH:MM:SS" format - - - - -Schoenebeck Expires March 4, 2008 [Page 98] - -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 - - MODIFIED - The date and time of the last modification of the @@ -5515,6 +5537,14 @@ Lists the artist names. Note that the character string may contain escape sequences (Section 7.1). + + + +Schoenebeck Expires April 9, 2008 [Page 99] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + KEYWORDS - Provides a list of keywords that refer to the instrument. @@ -5536,15 +5566,6 @@ "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" @@ -5573,6 +5594,13 @@ Where is the absolute path name of the instrument and is the new name for that instrument. + + +Schoenebeck Expires April 9, 2008 [Page 100] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + Possible Answers: "OK" - @@ -5591,16 +5619,6 @@ S: "OK" - - - - - -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 @@ -5630,6 +5648,15 @@ S: "OK" + + + + +Schoenebeck Expires April 9, 2008 [Page 101] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + 6.8.18. Copying instruments The front-end can copy a specific instrument to another directory by @@ -5648,15 +5675,6 @@ "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. @@ -5686,6 +5704,15 @@ on success + + + + +Schoenebeck Expires April 9, 2008 [Page 102] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + "ERR::" - in case the given instrument does not exists. @@ -5705,14 +5732,6 @@ 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 @@ -5743,6 +5762,13 @@ If is omitted, the search is restricted to instruments created after . + + +Schoenebeck Expires April 9, 2008 [Page 103] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + MODIFIED='[]..[]' Restricts the search to instruments, which date of last @@ -5762,13 +5788,6 @@ 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 (encapsulated into apostrophes, supporting escape sequences as described in chapter @@ -5799,6 +5818,13 @@ families, where is a comma separated list of format families. + + +Schoenebeck Expires April 9, 2008 [Page 104] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + Where is either a regular expression, or a word list separated with spaces for OR search and with '+' for AND search. @@ -5817,14 +5843,6 @@ 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 @@ -5855,6 +5873,14 @@ FILES_TOTAL - + + + +Schoenebeck Expires April 9, 2008 [Page 105] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + The total number of files scheduled for scanning FILES_SCANNED - @@ -5874,13 +5900,6 @@ 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" @@ -5909,6 +5928,15 @@ on success + + + + +Schoenebeck Expires April 9, 2008 [Page 106] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + "ERR::" - If the formatting of the instruments database failed. @@ -5930,13 +5958,6 @@ The front-end can request to open an appropriate instrument editor application by sending the following command: - - -Schoenebeck Expires March 4, 2008 [Page 106] - -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 - - EDIT INSTRUMENT Where should be replaced by the number of the @@ -5963,6 +5984,15 @@ when an appropriate instrument editor was launched + + + + +Schoenebeck Expires April 9, 2008 [Page 107] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + "WRN::" - when an appropriate instrument editor was launched, but there @@ -5988,9 +6018,35 @@ -Schoenebeck Expires March 4, 2008 [Page 107] + + + + + + + + + + + + + + + + + + + + + + + + + + +Schoenebeck Expires April 9, 2008 [Page 108] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 7. Command Syntax @@ -6044,9 +6100,9 @@ -Schoenebeck Expires March 4, 2008 [Page 108] +Schoenebeck Expires April 9, 2008 [Page 109] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 / LIST SP list_instruction @@ -6100,9 +6156,9 @@ -Schoenebeck Expires March 4, 2008 [Page 109] +Schoenebeck Expires April 9, 2008 [Page 110] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 / DB_INSTRUMENTS SP db_path SP filename SP instrument_index @@ -6156,9 +6212,9 @@ -Schoenebeck Expires March 4, 2008 [Page 110] +Schoenebeck Expires April 9, 2008 [Page 111] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 / MISCELLANEOUS @@ -6212,9 +6268,9 @@ -Schoenebeck Expires March 4, 2008 [Page 111] +Schoenebeck Expires April 9, 2008 [Page 112] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 / MISCELLANEOUS @@ -6268,9 +6324,9 @@ -Schoenebeck Expires March 4, 2008 [Page 112] +Schoenebeck Expires April 9, 2008 [Page 113] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 / MIDI_INPUT_DRIVER SP INFO SP string @@ -6324,9 +6380,9 @@ -Schoenebeck Expires March 4, 2008 [Page 113] +Schoenebeck Expires April 9, 2008 [Page 114] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 / TOTAL_VOICE_COUNT @@ -6380,9 +6436,9 @@ -Schoenebeck Expires March 4, 2008 [Page 114] +Schoenebeck Expires April 9, 2008 [Page 115] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 / MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' @@ -6436,9 +6492,9 @@ -Schoenebeck Expires March 4, 2008 [Page 115] +Schoenebeck Expires April 9, 2008 [Page 116] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 CHANNEL SP sampler_channel @@ -6492,9 +6548,9 @@ -Schoenebeck Expires March 4, 2008 [Page 116] +Schoenebeck Expires April 9, 2008 [Page 117] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 AUDIO_OUTPUT_DEVICE SP sampler_channel SP device_index @@ -6548,9 +6604,9 @@ -Schoenebeck Expires March 4, 2008 [Page 117] +Schoenebeck Expires April 9, 2008 [Page 118] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 string '=' param_val_list @@ -6604,9 +6660,9 @@ -Schoenebeck Expires March 4, 2008 [Page 118] +Schoenebeck Expires April 9, 2008 [Page 119] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 engine_name SP sampler_channel @@ -6660,9 +6716,9 @@ -Schoenebeck Expires March 4, 2008 [Page 119] +Schoenebeck Expires April 9, 2008 [Page 120] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 midi_ctrl = @@ -6701,24 +6757,24 @@ map_name = - stringval + stringval_escaped entry_name = - stringval + stringval_escaped fx_send_name = - stringval + stringval_escaped param_val_list = -Schoenebeck Expires March 4, 2008 [Page 120] +Schoenebeck Expires April 9, 2008 [Page 121] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 param_val @@ -6743,7 +6799,7 @@ query_val = - textval_escaped + text_escaped / stringval_escaped @@ -6772,9 +6828,9 @@ -Schoenebeck Expires March 4, 2008 [Page 121] +Schoenebeck Expires April 9, 2008 [Page 122] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 +------------------------+------------------------------------------+ @@ -6812,6 +6868,118 @@ (that is as double backslash), whereas in the old versions a single backslash was sufficient. + The following LSCP commands support escape sequences as part of their + filename / path based arguments: + + "LOAD INSTRUMENT" (Section 6.4.1) + + "MAP MIDI_INSTRUMENT" (Section 6.7.7) + + "ADD DB_INSTRUMENT_DIRECTORY" (Section 6.8.1) + + "ADD DB_INSTRUMENTS" (Section 6.8.11) + + "REMOVE DB_INSTRUMENT_DIRECTORY" (Section 6.8.2) + + + + +Schoenebeck Expires April 9, 2008 [Page 123] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + + "REMOVE DB_INSTRUMENT" (Section 6.8.12) + + "GET DB_INSTRUMENT_DIRECTORIES" (Section 6.8.3) + + "LIST DB_INSTRUMENT_DIRECTORIES" (Section 6.8.4) + + "GET DB_INSTRUMENT_DIRECTORY INFO" (Section 6.8.5) + + "GET DB_INSTRUMENTS" (Section 6.8.13) + + "LIST DB_INSTRUMENTS" (Section 6.8.14) + + "GET DB_INSTRUMENT INFO" (Section 6.8.15) + + "SET DB_INSTRUMENT_DIRECTORY NAME" (Section 6.8.6) + + "SET DB_INSTRUMENT_DIRECTORY DESCRIPTION" (Section 6.8.9) + + "SET DB_INSTRUMENT NAME" (Section 6.8.16) + + "SET DB_INSTRUMENT DESCRIPTION" (Section 6.8.19) + + "FIND DB_INSTRUMENTS" (Section 6.8.20) + + "FIND DB_INSTRUMENT_DIRECTORIES" (Section 6.8.10) + + "MOVE DB_INSTRUMENT" (Section 6.8.17) + + "MOVE DB_INSTRUMENT_DIRECTORY" (Section 6.8.7) + + "COPY DB_INSTRUMENT" (Section 6.8.18) + + "COPY DB_INSTRUMENT_DIRECTORY" (Section 6.8.8) + + Note that the forward slash character ('/') has a special meaning in + filename / path based arguments: it acts as separator of the nodes in + the path, thus if a directory- or filename includes a forward slash + (not intended as path node separator), you MUST escape that slash + either with the respective hex escape sequence ("\x2f") or with the + respective octal escape sequence ("\057"). + + The following LSCP commands even support escape sequences as part of + at least one of their text-based arguments (i.e. entity name, + description): + + "ADD MIDI_INSTRUMENT_MAP" (Section 6.7.1) + + + + + +Schoenebeck Expires April 9, 2008 [Page 124] + +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 + + + "MAP MIDI_INSTRUMENT" (Section 6.7.7) + + "SET MIDI_INSTRUMENT_MAP NAME" (Section 6.7.6) + + "SET DB_INSTRUMENT_DIRECTORY NAME" (Section 6.8.6) + + "SET DB_INSTRUMENT_DIRECTORY DESCRIPTION" (Section 6.8.9) + + "SET DB_INSTRUMENT NAME" (Section 6.8.16) + + "SET DB_INSTRUMENT DESCRIPTION" (Section 6.8.19) + + "FIND DB_INSTRUMENT_DIRECTORIES" (Section 6.8.10) + + Please note that these lists are manually maintained. If you find a + command that also supports escape sequences we forgot to mention + here, please report it! + + + + + + + + + + + + + + + + + + @@ -6828,9 +6996,9 @@ -Schoenebeck Expires March 4, 2008 [Page 122] +Schoenebeck Expires April 9, 2008 [Page 125] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 8. Events @@ -6884,9 +7052,9 @@ -Schoenebeck Expires March 4, 2008 [Page 123] +Schoenebeck Expires April 9, 2008 [Page 126] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 "NOTIFY:MIDI_INPUT_DEVICE_COUNT:" @@ -6940,9 +7108,9 @@ -Schoenebeck Expires March 4, 2008 [Page 124] +Schoenebeck Expires April 9, 2008 [Page 127] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 "NOTIFY:VOICE_COUNT: " @@ -6996,9 +7164,9 @@ -Schoenebeck Expires March 4, 2008 [Page 125] +Schoenebeck Expires April 9, 2008 [Page 128] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 "NOTIFY:CHANNEL_INFO:" @@ -7052,9 +7220,9 @@ -Schoenebeck Expires March 4, 2008 [Page 126] +Schoenebeck Expires April 9, 2008 [Page 129] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 SUBSCRIBE TOTAL_VOICE_COUNT @@ -7108,9 +7276,9 @@ -Schoenebeck Expires March 4, 2008 [Page 127] +Schoenebeck Expires April 9, 2008 [Page 130] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 SUBSCRIBE MIDI_INSTRUMENT_COUNT @@ -7164,9 +7332,9 @@ -Schoenebeck Expires March 4, 2008 [Page 128] +Schoenebeck Expires April 9, 2008 [Page 131] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 8.18. Number of database instrument directories changed @@ -7220,9 +7388,9 @@ -Schoenebeck Expires March 4, 2008 [Page 129] +Schoenebeck Expires April 9, 2008 [Page 132] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 8.20. Number of database instruments changed @@ -7276,9 +7444,9 @@ -Schoenebeck Expires March 4, 2008 [Page 130] +Schoenebeck Expires April 9, 2008 [Page 133] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 8.22. Database job status information changed @@ -7332,9 +7500,9 @@ -Schoenebeck Expires March 4, 2008 [Page 131] +Schoenebeck Expires April 9, 2008 [Page 134] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 9. Security Considerations @@ -7388,9 +7556,9 @@ -Schoenebeck Expires March 4, 2008 [Page 132] +Schoenebeck Expires April 9, 2008 [Page 135] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 10. Acknowledgments @@ -7444,9 +7612,9 @@ -Schoenebeck Expires March 4, 2008 [Page 133] +Schoenebeck Expires April 9, 2008 [Page 136] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 11. References @@ -7500,9 +7668,9 @@ -Schoenebeck Expires March 4, 2008 [Page 134] +Schoenebeck Expires April 9, 2008 [Page 137] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 Author's Address @@ -7556,9 +7724,9 @@ -Schoenebeck Expires March 4, 2008 [Page 135] +Schoenebeck Expires April 9, 2008 [Page 138] -Internet-Draft LinuxSampler Control Protocol (draft) September 2007 +Internet-Draft LinuxSampler Control Protocol (draft) October 2007 Full Copyright Statement @@ -7612,6 +7780,6 @@ -Schoenebeck Expires March 4, 2008 [Page 136] +Schoenebeck Expires April 9, 2008 [Page 139]