--- web/trunk/www.linuxsampler.org/api/draft-linuxsampler-protocol.txt 2014/01/01 23:38:45 2497 +++ web/trunk/www.linuxsampler.org/api/draft-linuxsampler-protocol.txt 2014/01/09 22:05:21 2498 @@ -2,13 +2,13 @@ LinuxSampler Developers C. Schoenebeck -Internet-Draft Interessengemeinschaft Software -Intended status: Standards Track Engineering e. V. -Expires: December 26, 2011 June 24, 2011 +Internet-Draft LinuxSampler.org +Intended status: Standards Track January 9, 2014 +Expires: July 13, 2014 LinuxSampler Control Protocol - LSCP 1.5 + LSCP 1.6 Abstract @@ -26,22 +26,18 @@ aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering - Task Force (IETF), its areas, and its working groups. Note that - other groups may also distribute working documents as Internet- - Drafts. + Task Force (IETF). Note that other groups may also distribute + working documents as Internet-Drafts. The list of current Internet- + Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." - The list of current Internet-Drafts can be accessed at - http://www.ietf.org/ietf/1id-abstracts.txt. + This Internet-Draft will expire on July 13, 2014. - The list of Internet-Draft Shadow Directories can be accessed at - http://www.ietf.org/shadow.html. - This Internet-Draft will expire on December 26, 2011. @@ -52,9 +48,13 @@ -Schoenebeck Expires December 26, 2011 [Page 1] + + + + +Schoenebeck Expires July 13, 2014 [Page 1] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 Table of Contents @@ -108,9 +108,9 @@ -Schoenebeck Expires December 26, 2011 [Page 2] +Schoenebeck Expires July 13, 2014 [Page 2] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 6.4.2. Loading a sampler engine . . . . . . . . . . . . . . 45 @@ -121,186 +121,189 @@ 6.4.7. Getting amount of available engines . . . . . . . . 49 6.4.8. Getting all available engines . . . . . . . . . . . 49 6.4.9. Getting information about an engine . . . . . . . . 49 - 6.4.10. Getting sampler channel information . . . . . . . . 50 - 6.4.11. Current number of active voices . . . . . . . . . . 53 + 6.4.10. Getting sampler channel information . . . . . . . . 51 + 6.4.11. Current number of active voices . . . . . . . . . . 54 6.4.12. Current number of active disk streams . . . . . . . 54 - 6.4.13. Current fill state of disk stream buffers . . . . . 54 - 6.4.14. Setting audio output device . . . . . . . . . . . . 55 + 6.4.13. Current fill state of disk stream buffers . . . . . 55 + 6.4.14. Setting audio output device . . . . . . . . . . . . 56 6.4.15. Setting audio output type . . . . . . . . . . . . . 56 6.4.16. Setting audio output channel . . . . . . . . . . . . 57 - 6.4.17. Setting MIDI input device . . . . . . . . . . . . . 58 - 6.4.18. Setting MIDI input type . . . . . . . . . . . . . . 58 - 6.4.19. Setting MIDI input port . . . . . . . . . . . . . . 59 - 6.4.20. Setting MIDI input channel . . . . . . . . . . . . . 60 - 6.4.21. Setting channel volume . . . . . . . . . . . . . . . 60 - 6.4.22. Muting a sampler channel . . . . . . . . . . . . . . 61 - 6.4.23. Soloing a sampler channel . . . . . . . . . . . . . 62 - 6.4.24. Assigning a MIDI instrument map to a sampler - channel . . . . . . . . . . . . . . . . . . . . . . 62 - 6.4.25. Adding an effect send to a sampler channel . . . . . 63 - 6.4.26. Removing an effect send from a sampler channel . . . 65 - 6.4.27. Getting amount of effect sends on a sampler - channel . . . . . . . . . . . . . . . . . . . . . . 65 - 6.4.28. Listing all effect sends on a sampler channel . . . 66 - 6.4.29. Getting effect send information . . . . . . . . . . 66 - 6.4.30. Changing effect send's name . . . . . . . . . . . . 68 - 6.4.31. Altering effect send's audio routing . . . . . . . . 69 - 6.4.32. Assigning destination effect to an effect send . . . 70 - 6.4.33. Removing destination effect from an effect send . . 71 - 6.4.34. Altering effect send's MIDI controller . . . . . . . 72 - 6.4.35. Altering effect send's send level . . . . . . . . . 72 - 6.4.36. Sending MIDI messages to sampler channel . . . . . . 73 - 6.4.37. Resetting a sampler channel . . . . . . . . . . . . 74 - 6.5. Controlling connection . . . . . . . . . . . . . . . . . 75 - 6.5.1. Register front-end for receiving event messages . . 75 + 6.4.17. Add MIDI input to sampler channel . . . . . . . . . 58 + 6.4.18. Remove MIDI input(s) from sampler channel . . . . . 59 + 6.4.19. Getting all MIDI inputs of a sampler channel . . . . 60 + 6.4.20. Setting MIDI input device . . . . . . . . . . . . . 61 + 6.4.21. Setting MIDI input type . . . . . . . . . . . . . . 62 + 6.4.22. Setting MIDI input port . . . . . . . . . . . . . . 63 + 6.4.23. Setting MIDI input channel . . . . . . . . . . . . . 64 + 6.4.24. Setting channel volume . . . . . . . . . . . . . . . 65 + 6.4.25. Muting a sampler channel . . . . . . . . . . . . . . 66 + 6.4.26. Soloing a sampler channel . . . . . . . . . . . . . 66 + 6.4.27. Assigning a MIDI instrument map to a sampler + channel . . . . . . . . . . . . . . . . . . . . . . 67 + 6.4.28. Adding an effect send to a sampler channel . . . . . 68 + 6.4.29. Removing an effect send from a sampler channel . . . 69 + 6.4.30. Getting amount of effect sends on a sampler + channel . . . . . . . . . . . . . . . . . . . . . . 70 + 6.4.31. Listing all effect sends on a sampler channel . . . 71 + 6.4.32. Getting effect send information . . . . . . . . . . 71 + 6.4.33. Changing effect send's name . . . . . . . . . . . . 73 + 6.4.34. Altering effect send's audio routing . . . . . . . . 74 + 6.4.35. Assigning destination effect to an effect send . . . 75 + 6.4.36. Removing destination effect from an effect send . . 76 + 6.4.37. Altering effect send's MIDI controller . . . . . . . 76 + 6.4.38. Altering effect send's send level . . . . . . . . . 77 + 6.4.39. Sending MIDI messages to sampler channel . . . . . . 78 + 6.4.40. Resetting a sampler channel . . . . . . . . . . . . 79 + 6.5. Controlling connection . . . . . . . . . . . . . . . . . 80 + 6.5.1. Register front-end for receiving event messages . . 80 6.5.2. Unregister front-end for not receiving event - messages . . . . . . . . . . . . . . . . . . . . . . 76 - 6.5.3. Enable or disable echo of commands . . . . . . . . . 76 - 6.5.4. Close client connection . . . . . . . . . . . . . . 77 - 6.6. Global commands . . . . . . . . . . . . . . . . . . . . . 77 - 6.6.1. Current number of active voices . . . . . . . . . . 77 - 6.6.2. Maximum amount of active voices . . . . . . . . . . 78 - 6.6.3. Current number of active disk streams . . . . . . . 78 + messages . . . . . . . . . . . . . . . . . . . . . . 81 + 6.5.3. Enable or disable echo of commands . . . . . . . . . 81 + 6.5.4. Close client connection . . . . . . . . . . . . . . 82 + 6.6. Global commands . . . . . . . . . . . . . . . . . . . . . 82 -Schoenebeck Expires December 26, 2011 [Page 3] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - - 6.6.4. Reset sampler . . . . . . . . . . . . . . . . . . . 78 - 6.6.5. General sampler informations . . . . . . . . . . . . 78 - 6.6.6. Getting global volume attenuation . . . . . . . . . 79 - 6.6.7. Setting global volume attenuation . . . . . . . . . 80 - 6.6.8. Getting global voice limit . . . . . . . . . . . . . 80 - 6.6.9. Setting global voice limit . . . . . . . . . . . . . 81 - 6.6.10. Getting global disk stream limit . . . . . . . . . . 81 - 6.6.11. Setting global disk stream limit . . . . . . . . . . 82 - 6.7. MIDI Instrument Mapping . . . . . . . . . . . . . . . . . 83 - 6.7.1. Create a new MIDI instrument map . . . . . . . . . . 83 - 6.7.2. Delete one particular or all MIDI instrument maps . 84 - 6.7.3. Get amount of existing MIDI instrument maps . . . . 85 - 6.7.4. Getting all created MIDI instrument maps . . . . . . 85 - 6.7.5. Getting MIDI instrument map information . . . . . . 86 - 6.7.6. Renaming a MIDI instrument map . . . . . . . . . . . 87 - 6.7.7. Create or replace a MIDI instrument map entry . . . 87 - 6.7.8. Getting ammount of MIDI instrument map entries . . . 90 +Schoenebeck Expires July 13, 2014 [Page 3] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + + 6.6.1. Current number of active voices . . . . . . . . . . 82 + 6.6.2. Maximum amount of active voices . . . . . . . . . . 82 + 6.6.3. Current number of active disk streams . . . . . . . 83 + 6.6.4. Reset sampler . . . . . . . . . . . . . . . . . . . 83 + 6.6.5. General sampler informations . . . . . . . . . . . . 83 + 6.6.6. Getting global volume attenuation . . . . . . . . . 84 + 6.6.7. Setting global volume attenuation . . . . . . . . . 85 + 6.6.8. Getting global voice limit . . . . . . . . . . . . . 85 + 6.6.9. Setting global voice limit . . . . . . . . . . . . . 86 + 6.6.10. Getting global disk stream limit . . . . . . . . . . 87 + 6.6.11. Setting global disk stream limit . . . . . . . . . . 87 + 6.7. MIDI Instrument Mapping . . . . . . . . . . . . . . . . . 88 + 6.7.1. Create a new MIDI instrument map . . . . . . . . . . 88 + 6.7.2. Delete one particular or all MIDI instrument maps . 89 + 6.7.3. Get amount of existing MIDI instrument maps . . . . 90 + 6.7.4. Getting all created MIDI instrument maps . . . . . . 90 + 6.7.5. Getting MIDI instrument map information . . . . . . 91 + 6.7.6. Renaming a MIDI instrument map . . . . . . . . . . . 92 + 6.7.7. Create or replace a MIDI instrument map entry . . . 92 + 6.7.8. Getting amount of MIDI instrument map entries . . . 95 6.7.9. Getting indeces of all entries of a MIDI - instrument map . . . . . . . . . . . . . . . . . . . 91 - 6.7.10. Remove an entry from the MIDI instrument map . . . . 91 - 6.7.11. Get current settings of MIDI instrument map entry . 92 - 6.7.12. Clear MIDI instrument map . . . . . . . . . . . . . 94 - 6.8. Managing Instruments Database . . . . . . . . . . . . . . 94 - 6.8.1. Creating a new instrument directory . . . . . . . . 95 - 6.8.2. Deleting an instrument directory . . . . . . . . . . 95 - 6.8.3. Getting amount of instrument directories . . . . . . 96 - 6.8.4. Listing all directories in specific directory . . . 96 - 6.8.5. Getting instrument directory information . . . . . . 97 - 6.8.6. Renaming an instrument directory . . . . . . . . . . 98 - 6.8.7. Moving an instrument directory . . . . . . . . . . . 99 - 6.8.8. Copying instrument directories . . . . . . . . . . . 99 - 6.8.9. Changing the description of directory . . . . . . . 100 - 6.8.10. Finding directories . . . . . . . . . . . . . . . . 101 - 6.8.11. Adding instruments to the instruments database . . . 102 - 6.8.12. Removing an instrument . . . . . . . . . . . . . . . 104 - 6.8.13. Getting amount of instruments . . . . . . . . . . . 104 - 6.8.14. Listing all instruments in specific directory . . . 105 - 6.8.15. Getting instrument information . . . . . . . . . . . 105 - 6.8.16. Renaming an instrument . . . . . . . . . . . . . . . 108 - 6.8.17. Moving an instrument . . . . . . . . . . . . . . . . 108 - 6.8.18. Copying instruments . . . . . . . . . . . . . . . . 109 - 6.8.19. Changing the description of instrument . . . . . . . 110 - 6.8.20. Finding instruments . . . . . . . . . . . . . . . . 110 - 6.8.21. Getting job status information . . . . . . . . . . . 113 - 6.8.22. Formatting the instruments database . . . . . . . . 114 - 6.8.23. Checking for lost instrument files . . . . . . . . . 114 - 6.8.24. Replacing an instrument file . . . . . . . . . . . . 115 - 6.9. Editing Instruments . . . . . . . . . . . . . . . . . . . 115 + instrument map . . . . . . . . . . . . . . . . . . . 96 + 6.7.10. Remove an entry from the MIDI instrument map . . . . 96 + 6.7.11. Get current settings of MIDI instrument map entry . 97 + 6.7.12. Clear MIDI instrument map . . . . . . . . . . . . . 99 + 6.8. Managing Instruments Database . . . . . . . . . . . . . . 99 + 6.8.1. Creating a new instrument directory . . . . . . . . 100 + 6.8.2. Deleting an instrument directory . . . . . . . . . . 100 + 6.8.3. Getting amount of instrument directories . . . . . . 101 + 6.8.4. Listing all directories in specific directory . . . 101 + 6.8.5. Getting instrument directory information . . . . . . 102 + 6.8.6. Renaming an instrument directory . . . . . . . . . . 103 + 6.8.7. Moving an instrument directory . . . . . . . . . . . 104 + 6.8.8. Copying instrument directories . . . . . . . . . . . 104 + 6.8.9. Changing the description of directory . . . . . . . 105 + 6.8.10. Finding directories . . . . . . . . . . . . . . . . 106 + 6.8.11. Adding instruments to the instruments database . . . 107 + 6.8.12. Removing an instrument . . . . . . . . . . . . . . . 109 + 6.8.13. Getting amount of instruments . . . . . . . . . . . 109 + 6.8.14. Listing all instruments in specific directory . . . 110 + 6.8.15. Getting instrument information . . . . . . . . . . . 110 + 6.8.16. Renaming an instrument . . . . . . . . . . . . . . . 113 + 6.8.17. Moving an instrument . . . . . . . . . . . . . . . . 113 + 6.8.18. Copying instruments . . . . . . . . . . . . . . . . 114 + 6.8.19. Changing the description of instrument . . . . . . . 115 + 6.8.20. Finding instruments . . . . . . . . . . . . . . . . 115 + 6.8.21. Getting job status information . . . . . . . . . . . 118 + 6.8.22. Formatting the instruments database . . . . . . . . 119 -Schoenebeck Expires December 26, 2011 [Page 4] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - +Schoenebeck Expires July 13, 2014 [Page 4] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + + 6.8.23. Checking for lost instrument files . . . . . . . . . 119 + 6.8.24. Replacing an instrument file . . . . . . . . . . . . 120 + 6.9. Editing Instruments . . . . . . . . . . . . . . . . . . . 120 6.9.1. Opening an appropriate instrument editor - application . . . . . . . . . . . . . . . . . . . . 116 - 6.10. Managing Files . . . . . . . . . . . . . . . . . . . . . 117 - 6.10.1. Retrieving amount of instruments of a file . . . . . 117 - 6.10.2. Retrieving all instruments of a file . . . . . . . . 117 + application . . . . . . . . . . . . . . . . . . . . 121 + 6.10. Managing Files . . . . . . . . . . . . . . . . . . . . . 122 + 6.10.1. Retrieving amount of instruments of a file . . . . . 122 + 6.10.2. Retrieving all instruments of a file . . . . . . . . 122 6.10.3. Retrieving informations about one instrument in a - file . . . . . . . . . . . . . . . . . . . . . . . . 118 - 6.11. Managing Effects . . . . . . . . . . . . . . . . . . . . 120 - 6.11.1. Retrieve amount of available effects . . . . . . . . 120 - 6.11.2. Get list of available effects . . . . . . . . . . . 121 - 6.11.3. Retrieving general information about an effect . . . 121 + file . . . . . . . . . . . . . . . . . . . . . . . . 123 + 6.11. Managing Effects . . . . . . . . . . . . . . . . . . . . 125 + 6.11.1. Retrieve amount of available effects . . . . . . . . 125 + 6.11.2. Get list of available effects . . . . . . . . . . . 126 + 6.11.3. Retrieving general information about an effect . . . 126 6.11.4. Creating an instance of an effect by its portable - ID . . . . . . . . . . . . . . . . . . . . . . . . . 122 + ID . . . . . . . . . . . . . . . . . . . . . . . . . 127 6.11.5. Creating an instance of an effect by its - numerical ID . . . . . . . . . . . . . . . . . . . . 123 - 6.11.6. Destroy an effect instance . . . . . . . . . . . . . 124 - 6.11.7. Retrieve amount of effect instances . . . . . . . . 125 - 6.11.8. Get list of effect instances . . . . . . . . . . . . 126 + numerical ID . . . . . . . . . . . . . . . . . . . . 128 + 6.11.6. Destroy an effect instance . . . . . . . . . . . . . 129 + 6.11.7. Retrieve amount of effect instances . . . . . . . . 130 + 6.11.8. Get list of effect instances . . . . . . . . . . . . 131 6.11.9. Retrieving current information about an effect - instance . . . . . . . . . . . . . . . . . . . . . . 126 - 6.11.10. Retrieving information about an effect parameter . . 127 - 6.11.11. Altering an effect parameter . . . . . . . . . . . . 129 - 6.11.12. Retrieve amount of send effect chains . . . . . . . 130 - 6.11.13. Retrieve list of send effect chains . . . . . . . . 130 - 6.11.14. Add send effect chain . . . . . . . . . . . . . . . 131 - 6.11.15. Remove send effect chain . . . . . . . . . . . . . . 131 - 6.11.16. Retrieving information about a send effect chain . . 132 - 6.11.17. Append effect instance to a send effect chain . . . 133 - 6.11.18. Insert effect instance to a send effect chain . . . 134 - 6.11.19. Remove effect instance from send effect chain . . . 134 - 7. Command Syntax . . . . . . . . . . . . . . . . . . . . . . . 136 - 7.1. Character Set and Escape Sequences . . . . . . . . . . . 152 - 8. Events . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 - 8.1. Number of audio output devices changed . . . . . . . . . 157 - 8.2. Audio output device's settings changed . . . . . . . . . 157 - 8.3. Number of MIDI input devices changed . . . . . . . . . . 157 - 8.4. MIDI input device's settings changed . . . . . . . . . . 158 - 8.5. Number of sampler channels changed . . . . . . . . . . . 158 - 8.6. MIDI data on a sampler channel arrived . . . . . . . . . 158 - 8.7. MIDI data on a MIDI input device arrived . . . . . . . . 159 - 8.8. Number of active voices changed . . . . . . . . . . . . . 159 - 8.9. Number of active disk streams changed . . . . . . . . . . 160 - 8.10. Disk stream buffer fill state changed . . . . . . . . . . 160 - 8.11. Channel information changed . . . . . . . . . . . . . . . 160 - 8.12. Number of effect sends changed . . . . . . . . . . . . . 161 - 8.13. Effect send information changed . . . . . . . . . . . . . 161 - 8.14. Total number of active voices changed . . . . . . . . . . 162 - 8.15. Total number of active disk streams changed . . . . . . . 162 + instance . . . . . . . . . . . . . . . . . . . . . . 131 + 6.11.10. Retrieving information about an effect parameter . . 132 + 6.11.11. Altering an effect parameter . . . . . . . . . . . . 134 + 6.11.12. Retrieve amount of send effect chains . . . . . . . 135 + 6.11.13. Retrieve list of send effect chains . . . . . . . . 135 + 6.11.14. Add send effect chain . . . . . . . . . . . . . . . 136 + 6.11.15. Remove send effect chain . . . . . . . . . . . . . . 136 + 6.11.16. Retrieving information about a send effect chain . . 137 + 6.11.17. Append effect instance to a send effect chain . . . 138 + 6.11.18. Insert effect instance to a send effect chain . . . 139 + 6.11.19. Remove effect instance from send effect chain . . . 139 + 7. Command Syntax . . . . . . . . . . . . . . . . . . . . . . . 141 + 7.1. Character Set and Escape Sequences . . . . . . . . . . . 158 + 8. Events . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 + 8.1. Number of audio output devices changed . . . . . . . . . 162 + 8.2. Audio output device's settings changed . . . . . . . . . 162 + 8.3. Number of MIDI input devices changed . . . . . . . . . . 162 + 8.4. MIDI input device's settings changed . . . . . . . . . . 163 + 8.5. Number of sampler channels changed . . . . . . . . . . . 163 + 8.6. MIDI data on a sampler channel arrived . . . . . . . . . 163 + 8.7. MIDI data on a MIDI input device arrived . . . . . . . . 164 + 8.8. Number of active voices changed . . . . . . . . . . . . . 164 + 8.9. Number of active disk streams changed . . . . . . . . . . 165 + 8.10. Disk stream buffer fill state changed . . . . . . . . . . 165 + 8.11. Channel information changed . . . . . . . . . . . . . . . 165 + 8.12. Number of effect sends changed . . . . . . . . . . . . . 166 -Schoenebeck Expires December 26, 2011 [Page 5] +Schoenebeck Expires July 13, 2014 [Page 5] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 - 8.16. Number of MIDI instrument maps changed . . . . . . . . . 162 - 8.17. MIDI instrument map information changed . . . . . . . . . 162 - 8.18. Number of MIDI instruments changed . . . . . . . . . . . 163 - 8.19. MIDI instrument information changed . . . . . . . . . . . 163 - 8.20. Global settings changed . . . . . . . . . . . . . . . . . 164 - 8.21. Number of database instrument directories changed . . . . 164 - 8.22. Database instrument directory information changed . . . . 164 - 8.23. Number of database instruments changed . . . . . . . . . 165 - 8.24. Database instrument information changed . . . . . . . . . 165 - 8.25. Database job status information changed . . . . . . . . . 166 - 8.26. Number of effect instances changed . . . . . . . . . . . 166 - 8.27. Effect instance information changed . . . . . . . . . . . 167 - 8.28. Number of send effect chains changed . . . . . . . . . . 167 - 8.29. Send effect chain information changed . . . . . . . . . . 167 - 8.30. Miscellaneous and debugging events . . . . . . . . . . . 168 - 9. Security Considerations . . . . . . . . . . . . . . . . . . . 169 - 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 170 - 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 171 - Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 172 - Intellectual Property and Copyright Statements . . . . . . . . . 173 + 8.13. Effect send information changed . . . . . . . . . . . . . 166 + 8.14. Total number of active voices changed . . . . . . . . . . 167 + 8.15. Total number of active disk streams changed . . . . . . . 167 + 8.16. Number of MIDI instrument maps changed . . . . . . . . . 167 + 8.17. MIDI instrument map information changed . . . . . . . . . 167 + 8.18. Number of MIDI instruments changed . . . . . . . . . . . 168 + 8.19. MIDI instrument information changed . . . . . . . . . . . 168 + 8.20. Global settings changed . . . . . . . . . . . . . . . . . 169 + 8.21. Number of database instrument directories changed . . . . 169 + 8.22. Database instrument directory information changed . . . . 169 + 8.23. Number of database instruments changed . . . . . . . . . 170 + 8.24. Database instrument information changed . . . . . . . . . 170 + 8.25. Database job status information changed . . . . . . . . . 171 + 8.26. Number of effect instances changed . . . . . . . . . . . 171 + 8.27. Effect instance information changed . . . . . . . . . . . 172 + 8.28. Number of send effect chains changed . . . . . . . . . . 172 + 8.29. Send effect chain information changed . . . . . . . . . . 172 + 8.30. Miscellaneous and debugging events . . . . . . . . . . . 173 + 9. Security Considerations . . . . . . . . . . . . . . . . . . . 174 + 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 175 + 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 176 + Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 177 + Intellectual Property and Copyright Statements . . . . . . . . . 178 @@ -329,12 +332,9 @@ - - - -Schoenebeck Expires December 26, 2011 [Page 6] +Schoenebeck Expires July 13, 2014 [Page 6] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 1. Requirements notation @@ -388,9 +388,9 @@ -Schoenebeck Expires December 26, 2011 [Page 7] +Schoenebeck Expires July 13, 2014 [Page 7] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 2. Versioning of this specification @@ -444,9 +444,9 @@ -Schoenebeck Expires December 26, 2011 [Page 8] +Schoenebeck Expires July 13, 2014 [Page 8] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 3. Introduction @@ -500,9 +500,9 @@ -Schoenebeck Expires December 26, 2011 [Page 9] +Schoenebeck Expires July 13, 2014 [Page 9] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 4. Focus of this protocol @@ -556,9 +556,9 @@ -Schoenebeck Expires December 26, 2011 [Page 10] +Schoenebeck Expires July 13, 2014 [Page 10] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 5. Communication Overview @@ -612,9 +612,9 @@ -Schoenebeck Expires December 26, 2011 [Page 11] +Schoenebeck Expires July 13, 2014 [Page 11] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 5.1.1. Result format @@ -668,9 +668,9 @@ -Schoenebeck Expires December 26, 2011 [Page 12] +Schoenebeck Expires July 13, 2014 [Page 12] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 set has the following format: @@ -724,9 +724,9 @@ -Schoenebeck Expires December 26, 2011 [Page 13] +Schoenebeck Expires July 13, 2014 [Page 13] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 Each line of the result set MUST end with . @@ -780,9 +780,9 @@ -Schoenebeck Expires December 26, 2011 [Page 14] +Schoenebeck Expires July 13, 2014 [Page 14] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 inserted in the middle of the event message as well as any other @@ -836,9 +836,9 @@ -Schoenebeck Expires December 26, 2011 [Page 15] +Schoenebeck Expires July 13, 2014 [Page 15] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 6. Description for control commands @@ -892,9 +892,9 @@ -Schoenebeck Expires December 26, 2011 [Page 16] +Schoenebeck Expires July 13, 2014 [Page 16] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 6.2.1. Getting amount of available audio output drivers @@ -948,9 +948,9 @@ -Schoenebeck Expires December 26, 2011 [Page 17] +Schoenebeck Expires July 13, 2014 [Page 17] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 LinuxSampler will answer by sending a separated list. Each @@ -1004,9 +1004,9 @@ -Schoenebeck Expires December 26, 2011 [Page 18] +Schoenebeck Expires July 13, 2014 [Page 18] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 obtained (as returned by the "GET AUDIO_OUTPUT_DRIVER INFO" @@ -1060,9 +1060,9 @@ -Schoenebeck Expires December 26, 2011 [Page 19] +Schoenebeck Expires July 13, 2014 [Page 19] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 MULTIPLICITY - @@ -1116,9 +1116,9 @@ -Schoenebeck Expires December 26, 2011 [Page 20] +Schoenebeck Expires July 13, 2014 [Page 20] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 returned, dependent to driver parameter) @@ -1172,9 +1172,9 @@ -Schoenebeck Expires December 26, 2011 [Page 21] +Schoenebeck Expires July 13, 2014 [Page 21] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 "TYPE: INT" @@ -1228,9 +1228,9 @@ -Schoenebeck Expires December 26, 2011 [Page 22] +Schoenebeck Expires July 13, 2014 [Page 22] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 providing an appropriate warning code and warning message @@ -1284,9 +1284,9 @@ -Schoenebeck Expires December 26, 2011 [Page 23] +Schoenebeck Expires July 13, 2014 [Page 23] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 C: "DESTROY AUDIO_OUTPUT_DEVICE 0" @@ -1340,9 +1340,9 @@ -Schoenebeck Expires December 26, 2011 [Page 24] +Schoenebeck Expires July 13, 2014 [Page 24] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 Possible Answers: @@ -1396,9 +1396,9 @@ -Schoenebeck Expires December 26, 2011 [Page 25] +Schoenebeck Expires July 13, 2014 [Page 25] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 "FRAGMENTS: 2" @@ -1452,9 +1452,9 @@ -Schoenebeck Expires December 26, 2011 [Page 26] +Schoenebeck Expires July 13, 2014 [Page 26] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 6.2.11. Getting information about an audio channel @@ -1508,9 +1508,9 @@ -Schoenebeck Expires December 26, 2011 [Page 27] +Schoenebeck Expires July 13, 2014 [Page 27] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 Examples: @@ -1564,9 +1564,9 @@ -Schoenebeck Expires December 26, 2011 [Page 28] +Schoenebeck Expires July 13, 2014 [Page 28] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 channel number and a specific channel parameter name for @@ -1620,9 +1620,9 @@ -Schoenebeck Expires December 26, 2011 [Page 29] +Schoenebeck Expires July 13, 2014 [Page 29] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 RANGE_MAX - @@ -1676,9 +1676,9 @@ -Schoenebeck Expires December 26, 2011 [Page 30] +Schoenebeck Expires July 13, 2014 [Page 30] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 "OK" - @@ -1732,9 +1732,9 @@ -Schoenebeck Expires December 26, 2011 [Page 31] +Schoenebeck Expires July 13, 2014 [Page 31] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 Note: examples in this chapter showing particular parameters of @@ -1788,9 +1788,9 @@ -Schoenebeck Expires December 26, 2011 [Page 32] +Schoenebeck Expires July 13, 2014 [Page 32] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 6.3.3. Getting information about a specific MIDI input driver @@ -1844,9 +1844,9 @@ -Schoenebeck Expires December 26, 2011 [Page 33] +Schoenebeck Expires July 13, 2014 [Page 33] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 6.3.4. Getting information about specific MIDI input driver parameter @@ -1900,9 +1900,9 @@ -Schoenebeck Expires December 26, 2011 [Page 34] +Schoenebeck Expires July 13, 2014 [Page 34] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 FIX - @@ -1956,9 +1956,9 @@ -Schoenebeck Expires December 26, 2011 [Page 35] +Schoenebeck Expires July 13, 2014 [Page 35] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 may also appear without (optionally returned, dependent to @@ -2012,9 +2012,9 @@ -Schoenebeck Expires December 26, 2011 [Page 36] +Schoenebeck Expires July 13, 2014 [Page 36] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 "OK[]" - @@ -2068,9 +2068,9 @@ -Schoenebeck Expires December 26, 2011 [Page 37] +Schoenebeck Expires July 13, 2014 [Page 37] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 in case it failed, providing an appropriate error code and @@ -2124,9 +2124,9 @@ -Schoenebeck Expires December 26, 2011 [Page 38] +Schoenebeck Expires July 13, 2014 [Page 38] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 6.3.9. Getting current settings of a MIDI input device @@ -2180,9 +2180,9 @@ -Schoenebeck Expires December 26, 2011 [Page 39] +Schoenebeck Expires July 13, 2014 [Page 39] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 "ACTIVE: true" @@ -2236,9 +2236,9 @@ -Schoenebeck Expires December 26, 2011 [Page 40] +Schoenebeck Expires July 13, 2014 [Page 40] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 MIDI_INPUT_DEVICES" (Section 6.3.8) command and the MIDI @@ -2292,9 +2292,9 @@ -Schoenebeck Expires December 26, 2011 [Page 41] +Schoenebeck Expires July 13, 2014 [Page 41] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 character string to that info category. There is information @@ -2348,9 +2348,9 @@ -Schoenebeck Expires December 26, 2011 [Page 42] +Schoenebeck Expires July 13, 2014 [Page 42] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 returned, dependent to device and port parameter) @@ -2404,9 +2404,9 @@ -Schoenebeck Expires December 26, 2011 [Page 43] +Schoenebeck Expires July 13, 2014 [Page 43] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 "ERR::" - @@ -2460,9 +2460,9 @@ -Schoenebeck Expires December 26, 2011 [Page 44] +Schoenebeck Expires July 13, 2014 [Page 44] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 format and SHOULD return ERR and SHOULD not launch the background @@ -2516,9 +2516,9 @@ -Schoenebeck Expires December 26, 2011 [Page 45] +Schoenebeck Expires July 13, 2014 [Page 45] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 sampler channel. This command has (currently) no way to define or @@ -2572,9 +2572,9 @@ -Schoenebeck Expires December 26, 2011 [Page 46] +Schoenebeck Expires July 13, 2014 [Page 46] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 6.4.4. Getting all created sampler channel list @@ -2628,9 +2628,9 @@ -Schoenebeck Expires December 26, 2011 [Page 47] +Schoenebeck Expires July 13, 2014 [Page 47] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 in case a new channel was added successfully, but there are @@ -2684,9 +2684,9 @@ -Schoenebeck Expires December 26, 2011 [Page 48] +Schoenebeck Expires July 13, 2014 [Page 48] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 6.4.7. Getting amount of available engines @@ -2725,7 +2725,7 @@ C: "LIST AVAILABLE_ENGINES" - S: "'GigEngine','AkaiEngine','DLSEngine','JoesCustomEngine'" + S: "'gig','sfz','sf2'" 6.4.9. Getting information about an engine @@ -2740,9 +2740,9 @@ -Schoenebeck Expires December 26, 2011 [Page 49] +Schoenebeck Expires July 13, 2014 [Page 49] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 Possible Answers: @@ -2766,16 +2766,41 @@ The mentioned fields above don't have to be in particular order. - Example: + Examples: + + C: "GET ENGINE INFO gig" - C: "GET ENGINE INFO JoesCustomEngine" + S: "DESCRIPTION: GigaSampler Format Engine" - S: "DESCRIPTION: this is Joe's custom sampler engine" + "VERSION: 1.110" - "VERSION: testing-1.0" + "." + + C: "GET ENGINE INFO sf2" + + S: "DESCRIPTION: SoundFont Format Engine" + + "VERSION: 1.4" "." + C: "GET ENGINE INFO sfz" + + S: "DESCRIPTION: SFZ Format Engine" + + "VERSION: 1.11" + + "." + + + + + +Schoenebeck Expires July 13, 2014 [Page 50] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + 6.4.10. Getting sampler channel information The front-end can ask for the current settings of a sampler channel @@ -2793,14 +2818,6 @@ 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 26, 2011 [Page 50] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - following categories are defined: @@ -2832,6 +2849,14 @@ device and the engine's output channel 1 is routed to the channel 3 of the audio output device + + + +Schoenebeck Expires July 13, 2014 [Page 51] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + INSTRUMENT_FILE - the file name of the loaded instrument, "NONE" if there's no @@ -2850,13 +2875,6 @@ LSCP 1.2 this character string may contain escape sequences (Section 7.1)) - - -Schoenebeck Expires December 26, 2011 [Page 51] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - INSTRUMENT_STATUS - Integer values 0 to 100 indicating loading progress @@ -2888,6 +2906,13 @@ (where a value < 1.0 means attenuation and a value > 1.0 means amplification) + + +Schoenebeck Expires July 13, 2014 [Page 52] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + MUTE - Determines whether the channel is muted, "true" if the @@ -2905,15 +2930,7 @@ Determines to which MIDI instrument map this sampler channel is assigned to. Read chapter "SET CHANNEL - - - -Schoenebeck Expires December 26, 2011 [Page 52] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - - MIDI_INSTRUMENT_MAP" (Section 6.4.24) for a list of possible + MIDI_INSTRUMENT_MAP" (Section 6.4.27) for a list of possible values. The mentioned fields above don't have to be in particular order. @@ -2922,7 +2939,7 @@ C: "GET CHANNEL INFO 34" - S: "ENGINE_NAME: GigEngine" + S: "ENGINE_NAME: gig" "VOLUME: 1.0" @@ -2944,6 +2961,14 @@ "MIDI_INPUT_PORT: 0" + + + +Schoenebeck Expires July 13, 2014 [Page 53] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + "MIDI_INPUT_CHANNEL: 5" "VOLUME: 1.0" @@ -2961,14 +2986,6 @@ The front-end can ask for the current number of active voices on a sampler channel by sending the following command: - - - -Schoenebeck Expires December 26, 2011 [Page 53] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - GET CHANNEL VOICE_COUNT Where is the sampler channel number the front-end @@ -3000,6 +3017,14 @@ 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 July 13, 2014 [Page 54] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + return "NA" for not available. Example: @@ -3015,16 +3040,6 @@ to get the fill state in bytes or - - - - - -Schoenebeck Expires December 26, 2011 [Page 54] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - GET CHANNEL BUFFER_FILL PERCENTAGE to get the fill state in percent, where is the @@ -3057,6 +3072,15 @@ C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4" + + + + +Schoenebeck Expires July 13, 2014 [Page 55] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + S: "" 6.4.14. Setting audio output device @@ -3074,13 +3098,6 @@ (Section 6.2.5) or "LIST AUDIO_OUTPUT_DEVICES" (Section 6.2.8) command. - - -Schoenebeck Expires December 26, 2011 [Page 55] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - Possible Answers: "OK" - @@ -3104,7 +3121,7 @@ 6.4.15. Setting audio output type - DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON! + DEPRECATED: THIS COMMAND WILL DISAPPEAR! The front-end can alter the audio output type on a specific sampler channel by sending the following command: @@ -3112,6 +3129,14 @@ SET CHANNEL AUDIO_OUTPUT_TYPE + + + +Schoenebeck Expires July 13, 2014 [Page 56] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + Where is currently either "ALSA" or "JACK" and is the respective sampler channel number. @@ -3127,16 +3152,6 @@ related, providing an appropriate warning code and warning message - - - - - -Schoenebeck Expires December 26, 2011 [Page 56] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - "ERR::" - in case it failed, providing an appropriate error code and @@ -3146,6 +3161,16 @@ + Deprecated: + + Should not be used anymore. This command is currently only + preserved for backward compatibility. + + This command is a relict from times where there was no + sophisticated driver management yet. Use "CREATE + AUDIO_OUTPUT_DEVICE" (Section 6.2.5) and "SET CHANNEL + AUDIO_OUTPUT_DEVICE" (Section 6.4.14) instead. + 6.4.16. Setting audio output channel The front-end can alter the audio output channel on a specific @@ -3161,6 +3186,13 @@ numerical ID of the audio channel of the selected audio output device where should be routed to. + + +Schoenebeck Expires July 13, 2014 [Page 57] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + Possible Answers: "OK" - @@ -3182,18 +3214,176 @@ +6.4.17. Add MIDI input to sampler channel + + The front-end can add a MIDI input on a specific sampler channel by + sending the following command: + + ADD CHANNEL MIDI_INPUT [] + + Where is the sampler channel number as returned by + the "ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) + command and is the numerical ID of the MIDI input + device as returned by the "CREATE MIDI_INPUT_DEVICE" (Section 6.3.5) + or "LIST MIDI_INPUT_DEVICES" (Section 6.3.8) command, and is an optional MIDI input port number of that MIDI input + device. If is omitted, then the MIDI input + device's first port (port number 0) is used. + + Possible Answers: + + "OK" - + + on success + + "WRN::" - + + if MIDI input port was connected, but there are noteworthy + issue(s) related, providing an appropriate warning code and + + + +Schoenebeck Expires July 13, 2014 [Page 58] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + + warning message + + "ERR::" - + + in case it failed, providing an appropriate error code and + error message + + Examples: + + C: "ADD CHANNEL MIDI_INPUT 0 0" + + S: "OK" + + C: "ADD CHANNEL MIDI_INPUT 1 0" + + S: "OK" + + C: "ADD CHANNEL MIDI_INPUT 1 1 1" + + S: "OK" + + C: "ADD CHANNEL MIDI_INPUT 1 2 0" + + S: "OK" + + Since: + + Introduced with LSCP v1.6 + +6.4.18. Remove MIDI input(s) from sampler channel + + The front-end can remove one ore more MIDI input(s) on a specific + sampler channel by sending the following command: + + REMOVE CHANNEL MIDI_INPUT [ + []] + + Where is the sampler channel number as returned by + the "ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) + command and and are optional + numerical IDs defining the MIDI input device and one of its MIDI + ports as returned by the "LIST CHANNEL MIDI_INPUTS" (Section 6.4.19) + command. + + If is omitted, then all MIDI input ports of are disconnected from this sampler channel. + + If both, and are omitted, then all + + + +Schoenebeck Expires July 13, 2014 [Page 59] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + + MIDI input ports currently connected to this sampler channel are + disconnected from this sampler channel. + + Possible Answers: + + "OK" - + + on success + + "WRN::" - + + if MIDI input porst were disconnected, 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 + + Examples: + + C: "REMOVE CHANNEL MIDI_INPUT 0" + + S: "OK" + + C: "REMOVE CHANNEL MIDI_INPUT 1" + + S: "OK" + + C: "REMOVE CHANNEL MIDI_INPUT 1 2 0" + + S: "OK" + Since: + Introduced with LSCP v1.6 +6.4.19. Getting all MIDI inputs of a sampler channel + The front-end can query a list of all currently connected MIDI inputs + of a certain sampler channel by sending the following command: + LIST CHANNEL MIDI_INPUTS -Schoenebeck Expires December 26, 2011 [Page 57] + Where is the sampler channel number as returned by + the "ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) + command. + + + +Schoenebeck Expires July 13, 2014 [Page 60] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 + + + Possible Answers: + The sampler will answer by sending a comma separated list of MIDI + input device ID - MIDI input port number pairs, where each pair is + encapsulated into curly braces. The list is returned in one + single line. The MIDI input device ID corresponds to the number + returned by "LIST MIDI_INPUT_DEVICES" (Section 6.3.8) and the port + number is the index of the respective MIDI port of that MIDI input + device. + + Example: + + C: "LIST CHANNEL MIDI_INPUTS 0" + + S: "{0,0},{1,3},{2,0}" + + Since: -6.4.17. Setting MIDI input device + Introduced with LSCP v1.6 + +6.4.20. Setting MIDI input device + + DEPRECATED: THIS COMMAND WILL DISAPPEAR! The front-end can set the MIDI input device on a specific sampler channel by sending the following command: @@ -3206,12 +3396,27 @@ device as returned by the "CREATE MIDI_INPUT_DEVICE" (Section 6.3.5) or "LIST MIDI_INPUT_DEVICES" (Section 6.3.8) command. + If more than 1 MIDI inputs are currently connected to this sampler + channel: Sending this command will disconnect ALL currently connected + MIDI input ports connected to this sampler channel before + establishing the new MIDI input connection. So this command does NOT + add the connection, it replaces all existing ones instead. This + behavior is due to preserving full behavior backward compatibility. + Possible Answers: "OK" - on success + + + +Schoenebeck Expires July 13, 2014 [Page 61] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + "WRN::" - if MIDI input device was set, but there are noteworthy issue(s) @@ -3227,9 +3432,19 @@ -6.4.18. Setting MIDI input type + Deprecated: + + Should not be used anymore as of LSCP v1.6 and younger. This + command is currently only preserved for backward compatibility. - DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON! + This command is a relict from times where only one MIDI input per + sampler channel was allowed. Use "ADD CHANNEL MIDI_INPUT" + (Section 6.4.17) and "REMOVE CHANNEL MIDI_INPUT" (Section 6.4.18) + instead. + +6.4.21. Setting MIDI input type + + DEPRECATED: THIS COMMAND WILL DISAPPEAR! The front-end can alter the MIDI input type on a specific sampler channel by sending the following command: @@ -3239,14 +3454,23 @@ Where is currently only "ALSA" and is the respective sampler channel number. + If more than 1 MIDI inputs are currently connected to this sampler + channel: Sending this command will disconnect ALL currently connected + MIDI input ports connected to this sampler channel before + establishing the new MIDI input connection. So this command does NOT + add the connection, it replaces all existing ones instead. This + behavior is due to preserving full behavior backward compatibility. + Possible Answers: -Schoenebeck Expires December 26, 2011 [Page 58] + + +Schoenebeck Expires July 13, 2014 [Page 62] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 "OK" - @@ -3268,7 +3492,20 @@ -6.4.19. Setting MIDI input port + Deprecated: + + Should not be used anymore. This command is currently only + preserved for backward compatibility. + + This command is a relict from times where only 1 MIDI input per + sampler channels was allowed and where no sophisticated driver + management existed yet. Use "ADD CHANNEL MIDI_INPUT" + (Section 6.4.17) and "REMOVE CHANNEL MIDI_INPUT" (Section 6.4.18) + instead. + +6.4.22. Setting MIDI input port + + DEPRECATED: THIS COMMAND WILL DISAPPEAR! The front-end can alter the MIDI input port on a specific sampler channel by sending the following command: @@ -3278,6 +3515,24 @@ Where is a MIDI input port number of the MIDI input device connected to the sampler channel given by . + If more than 1 MIDI inputs are currently connected to this sampler + channel: Sending this command will switch the connection of the first + (and only the first) MIDI input port currently being connected to + this sampler channel, to another port of the same MIDI input device. + Or in other words: the first MIDI input port currently connected to + this sampler channel will be disconnected, and the requested other + + + +Schoenebeck Expires July 13, 2014 [Page 63] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + + port of its MIDI input device will be connected to this sampler + channel instead. This behavior is due to preserving full behavior + backward compatibility. + Possible Answers: "OK" - @@ -3299,15 +3554,17 @@ + Deprecated: -Schoenebeck Expires December 26, 2011 [Page 59] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - + Should not be used anymore. This command is currently only + preserved for backward compatibility. + This command is a relict from times where only one MIDI input per + sampler channel was allowed. Use "ADD CHANNEL MIDI_INPUT" + (Section 6.4.17) and "REMOVE CHANNEL MIDI_INPUT" (Section 6.4.18) + instead. -6.4.20. Setting MIDI input channel +6.4.23. Setting MIDI input channel The front-end can alter the MIDI channel a sampler channel should listen to by sending the following command: @@ -3315,11 +3572,19 @@ SET CHANNEL MIDI_INPUT_CHANNEL Where is the number of the new MIDI input channel - where should listen to or "ALL" to listen on all 16 - MIDI channels. + (zero indexed!) where should listen to, or "ALL" to + listen on all 16 MIDI channels. Possible Answers: + + + +Schoenebeck Expires July 13, 2014 [Page 64] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + "OK" - on success @@ -3337,9 +3602,15 @@ Examples: + C: "SET CHANNEL MIDI_INPUT_CHANNEL 0 0" + S: "OK" + + C: "SET CHANNEL MIDI_INPUT_CHANNEL 1 ALL" -6.4.21. Setting channel volume + S: "OK" + +6.4.24. Setting channel volume The front-end can alter the volume of a sampler channel by sending the following command: @@ -3353,14 +3624,6 @@ Possible Answers: - - - -Schoenebeck Expires December 26, 2011 [Page 60] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - "OK" - on success @@ -3371,6 +3634,13 @@ related, providing an appropriate warning code and warning message + + +Schoenebeck Expires July 13, 2014 [Page 65] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + "ERR::" - in case it failed, providing an appropriate error code and @@ -3380,7 +3650,7 @@ -6.4.22. Muting a sampler channel +6.4.25. Muting a sampler channel The front-end can mute/unmute a specific sampler channel by sending the following command: @@ -3409,22 +3679,23 @@ in case it failed, providing an appropriate error code and error message + Examples: -Schoenebeck Expires December 26, 2011 [Page 61] - -Internet-Draft LinuxSampler Control Protocol June 2011 +6.4.26. Soloing a sampler channel + The front-end can solo/unsolo a specific sampler channel by sending + the following command: - Examples: -6.4.23. Soloing a sampler channel - The front-end can solo/unsolo a specific sampler channel by sending - the following command: +Schoenebeck Expires July 13, 2014 [Page 66] + +Internet-Draft LinuxSampler Control Protocol January 2014 + SET CHANNEL SOLO @@ -3454,7 +3725,7 @@ -6.4.24. Assigning a MIDI instrument map to a sampler channel +6.4.27. Assigning a MIDI instrument map to a sampler channel The front-end can assign a MIDI instrument map to a specific sampler channel by sending the following command: @@ -3466,19 +3737,22 @@ (Section 6.4.4) command and can have the following possibilites: - - -Schoenebeck Expires December 26, 2011 [Page 62] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - "NONE" - This is the default setting. In this case the sampler channel is not assigned any MIDI instrument map and thus will ignore all MIDI program change messages. + + + + + +Schoenebeck Expires July 13, 2014 [Page 67] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + "DEFAULT" - The sampler channel will always use the default MIDI instrument @@ -3510,7 +3784,7 @@ -6.4.25. Adding an effect send to a sampler channel +6.4.28. Adding an effect send to a sampler channel The front-end can create an additional effect send on a specific sampler channel by sending the following command: @@ -3521,14 +3795,6 @@ returned by the "ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) command, that is the sampler channel on which the effect send should be created on, is a number between - - - -Schoenebeck Expires December 26, 2011 [Page 63] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - 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, but MUST be @@ -3536,6 +3802,13 @@ described in chapter "Character Set and Escape Sequences (Section 7.1)". + + +Schoenebeck Expires July 13, 2014 [Page 68] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + By default, that is as initial routing, the effect send's audio channels are automatically routed to the last audio channels of the sampler channel's audio output device, that way you can i.e. first @@ -3543,7 +3816,7 @@ having dedicated effect send output channels and when "CREATE FX_SEND" is called, those channels will automatically be picked. You can alter the destination channels however with "SET FX_SEND - AUDIO_OUTPUT_CHANNEL" (Section 6.4.31). + AUDIO_OUTPUT_CHANNEL" (Section 6.4.34). Note: Create effect sends on a sampler channel only when needed, because having effect sends on a sampler channel will decrease @@ -3576,21 +3849,21 @@ C: "CREATE FX_SEND 0 93" + S: "OK[1]" +6.4.29. Removing an effect send from a sampler channel + The front-end can remove an existing effect send on a specific + sampler channel by sending the following command: -Schoenebeck Expires December 26, 2011 [Page 64] - -Internet-Draft LinuxSampler Control Protocol June 2011 - S: "OK[1]" -6.4.26. Removing an effect send from a sampler channel +Schoenebeck Expires July 13, 2014 [Page 69] + +Internet-Draft LinuxSampler Control Protocol January 2014 - The front-end can remove an existing effect send on a specific - sampler channel by sending the following command: DESTROY FX_SEND @@ -3599,7 +3872,7 @@ (Section 6.4.4) command, that is the sampler channel from which the effect send should be removed from and is the respective effect send number as returned by the "CREATE FX_SEND" - (Section 6.4.25) or "LIST FX_SENDS" (Section 6.4.28) command. + (Section 6.4.28) or "LIST FX_SENDS" (Section 6.4.31) command. Possible Answers: @@ -3618,7 +3891,7 @@ S: "OK" -6.4.27. Getting amount of effect sends on a sampler channel +6.4.30. Getting amount of effect sends on a sampler channel The front-end can ask for the amount of effect sends on a specific sampler channel by sending the following command: @@ -3631,16 +3904,6 @@ Possible Answers: - - - - - -Schoenebeck Expires December 26, 2011 [Page 65] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - The sampler will answer by returning the number of effect sends on the given sampler channel. @@ -3650,7 +3913,15 @@ S: "2" -6.4.28. Listing all effect sends on a sampler channel + + + +Schoenebeck Expires July 13, 2014 [Page 70] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + +6.4.31. Listing all effect sends on a sampler channel The front-end can ask for a list of effect sends on a specific sampler channel by sending the following command: @@ -3676,7 +3947,7 @@ S: "" -6.4.29. Getting effect send information +6.4.32. Getting effect send information The front-end can ask for the current settings of an effect send entity by sending the following command: @@ -3686,16 +3957,8 @@ Where is the sampler channel number as returned by the "ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) command and 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. - - - - -Schoenebeck Expires December 26, 2011 [Page 66] - -Internet-Draft LinuxSampler Control Protocol June 2011 - + entity as returned by the "CREATE FX_SEND" (Section 6.4.28) or "LIST + FX_SENDS" (Section 6.4.31) command. Possible Answers: @@ -3707,6 +3970,15 @@ + + +Schoenebeck Expires July 13, 2014 [Page 71] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + + + NAME - name of the effect send entity (note that this character @@ -3731,7 +4003,7 @@ send's output channel 0 is routed to channel 0 of the audio output device and the effect send's output channel 1 is routed to the channel 3 of the audio output device (see "SET - FX_SEND AUDIO_OUTPUT_CHANNEL" (Section 6.4.31) for details), + FX_SEND AUDIO_OUTPUT_CHANNEL" (Section 6.4.34) for details), if an internal send effect is assigned to the effect send, then this setting defines the audio channel routing to that effect instance respectively @@ -3745,21 +4017,21 @@ The mentioned fields above don't have to be in particular order. + Example: + C: "GET FX_SEND INFO 0 0" + S: "NAME: Reverb Send" -Schoenebeck Expires December 26, 2011 [Page 67] - -Internet-Draft LinuxSampler Control Protocol June 2011 + "MIDI_CONTROLLER: 91" - Example: - C: "GET FX_SEND INFO 0 0" - S: "NAME: Reverb Send" +Schoenebeck Expires July 13, 2014 [Page 72] + +Internet-Draft LinuxSampler Control Protocol January 2014 - "MIDI_CONTROLLER: 91" "LEVEL: 0.3" @@ -3783,7 +4055,7 @@ "." -6.4.30. Changing effect send's name +6.4.33. Changing effect send's name The front-end can alter the current name of an effect send entity by sending the following command: @@ -3793,8 +4065,8 @@ Where is the sampler channel number as returned by the "ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) 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 + entity as returned by the "CREATE FX_SEND" (Section 6.4.28) or "LIST + FX_SENDS" (Section 6.4.31) command and is the new name of the 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 @@ -3802,18 +4074,20 @@ Possible Answers: + "OK" - + on success -Schoenebeck Expires December 26, 2011 [Page 68] - -Internet-Draft LinuxSampler Control Protocol June 2011 + "ERR::" - - "OK" - - on success - "ERR::" - + +Schoenebeck Expires July 13, 2014 [Page 73] + +Internet-Draft LinuxSampler Control Protocol January 2014 + in case it failed, providing an appropriate error code and error message @@ -3824,7 +4098,7 @@ S: "OK" -6.4.31. Altering effect send's audio routing +6.4.34. Altering effect send's audio routing The front-end can alter the destination of an effect send's audio channel on a specific sampler channel by sending the following @@ -3836,8 +4110,8 @@ Where is the sampler channel number as returned by the "ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) 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, is the numerical ID + entity as returned by the "CREATE FX_SEND" (Section 6.4.28) or "LIST + FX_SENDS" (Section 6.4.31) command, is the numerical ID of the effect send's audio channel which should be rerouted and is the numerical ID of the audio channel of the selected audio output device where should be routed to. If an @@ -3857,19 +4131,19 @@ send into a mono one by simply altering its audio routing appropriately. + Possible Answers: + "OK" - + on success -Schoenebeck Expires December 26, 2011 [Page 69] - -Internet-Draft LinuxSampler Control Protocol June 2011 - Possible Answers: - "OK" - +Schoenebeck Expires July 13, 2014 [Page 74] + +Internet-Draft LinuxSampler Control Protocol January 2014 - on success "WRN::" - @@ -3888,7 +4162,7 @@ S: "OK" -6.4.32. Assigning destination effect to an effect send +6.4.35. Assigning destination effect to an effect send The front-end can (re-)assign a destination effect to an effect send by sending the following command: @@ -3899,8 +4173,8 @@ Where is the sampler channel number as returned by the "ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) 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, by the numerical + entity as returned by the "CREATE FX_SEND" (Section 6.4.28) or "LIST + FX_SENDS" (Section 6.4.31) command, by the numerical ID of the destination effect chain as returned by the "ADD SEND_EFFECT_CHAIN" (Section 6.11.14) or "LIST SEND_EFFECT_CHAINS" (Section 6.11.13) command and reflects the exact effect @@ -3913,14 +4187,6 @@ on success - - - -Schoenebeck Expires December 26, 2011 [Page 70] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - "ERR::" - in case it failed, providing an appropriate error code and @@ -3928,11 +4194,18 @@ Example: + + +Schoenebeck Expires July 13, 2014 [Page 75] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + C: "SET FX_SEND EFFECT 0 0 2 5" S: "OK" -6.4.33. Removing destination effect from an effect send +6.4.36. Removing destination effect from an effect send The front-end can (re-)assign a destination effect to an effect send by sending the following command: @@ -3942,8 +4215,8 @@ Where is the sampler channel number as returned by the "ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) 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. + entity as returned by the "CREATE FX_SEND" (Section 6.4.28) or "LIST + FX_SENDS" (Section 6.4.31) command. After the destination effect has been removed from the effect send, the audio signal of the effect send will be routed directly to the @@ -3967,17 +4240,7 @@ S: "OK" - - - - - -Schoenebeck Expires December 26, 2011 [Page 71] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - -6.4.34. Altering effect send's MIDI controller +6.4.37. Altering effect send's MIDI controller The front-end can alter the MIDI controller of an effect send entity by sending the following command: @@ -3986,10 +4249,18 @@ ctrl> Where is the sampler channel number as returned by the + + + +Schoenebeck Expires July 13, 2014 [Page 76] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + "ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) 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 reflects the MIDI + entity as returned by the "CREATE FX_SEND" (Section 6.4.28) or "LIST + FX_SENDS" (Section 6.4.31) command and reflects the MIDI controller which shall be able to modify the effect send's send level. @@ -4016,7 +4287,7 @@ S: "OK" -6.4.35. Altering effect send's send level +6.4.38. Altering effect send's send level The front-end can alter the current send level of an effect send entity by sending the following command: @@ -4025,23 +4296,23 @@ Where is the sampler channel number as returned by the "ADD CHANNEL" (Section 6.4.5) or "LIST CHANNELS" (Section 6.4.4) - - - -Schoenebeck Expires December 26, 2011 [Page 72] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - 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 an optionally + entity as returned by the "CREATE FX_SEND" (Section 6.4.28) or "LIST + FX_SENDS" (Section 6.4.31) command and is an optionally dotted positive number (a value smaller than 1.0 means attenuation, whereas a value greater than 1.0 means amplification) reflecting the new send level. Possible Answers: + + + +Schoenebeck Expires July 13, 2014 [Page 77] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + "OK" - on success @@ -4063,7 +4334,7 @@ S: "OK" -6.4.36. Sending MIDI messages to sampler channel +6.4.39. Sending MIDI messages to sampler channel The front-end can send MIDI events to a specific sampler channel by sending the following command: @@ -4082,19 +4353,22 @@ number and the velocity as described in the MIDI specification. - - -Schoenebeck Expires December 26, 2011 [Page 73] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - "NOTE_OFF" - For turning a currently playing MIDI note off, where specifies the key number and the velocity as described in the MIDI specification. + + + + + +Schoenebeck Expires July 13, 2014 [Page 78] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + "CC" - For changing a MIDI controller, where specifies the @@ -4122,7 +4396,7 @@ S: "OK" -6.4.37. Resetting a sampler channel +6.4.40. Resetting a sampler channel The front-end can reset a particular sampler channel by sending the following command: @@ -4136,20 +4410,20 @@ Possible Answers: + "OK" - + on success + "WRN::" - -Schoenebeck Expires December 26, 2011 [Page 74] - -Internet-Draft LinuxSampler Control Protocol June 2011 - "OK" - - on success +Schoenebeck Expires July 13, 2014 [Page 79] + +Internet-Draft LinuxSampler Control Protocol January 2014 - "WRN::" - if channel was reset, but there are noteworthy issue(s) related, providing an appropriate warning code and warning @@ -4191,22 +4465,21 @@ 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 26, 2011 [Page 75] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - "ERR::" - - in case it failed, providing an appropriate error code and - error message +Schoenebeck Expires July 13, 2014 [Page 80] + +Internet-Draft LinuxSampler Control Protocol January 2014 - Examples: @@ -4249,14 +4522,6 @@ SET ECHO Where should be replaced either by "1" to enable echo mode or - - - -Schoenebeck Expires December 26, 2011 [Page 76] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - "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 @@ -4265,6 +4530,13 @@ Possible Answers: + + +Schoenebeck Expires July 13, 2014 [Page 81] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + "OK" - usually @@ -4303,24 +4575,23 @@ LinuxSampler will answer by returning the number of all active voices on the sampler. +6.6.2. Maximum amount of active voices + The front-end can ask for the maximum number of active voices by + sending the following command: + GET TOTAL_VOICE_COUNT_MAX + Possible Answers: -Schoenebeck Expires December 26, 2011 [Page 77] - -Internet-Draft LinuxSampler Control Protocol June 2011 -6.6.2. Maximum amount of active voices - The front-end can ask for the maximum number of active voices by - sending the following command: - - GET TOTAL_VOICE_COUNT_MAX +Schoenebeck Expires July 13, 2014 [Page 82] + +Internet-Draft LinuxSampler Control Protocol January 2014 - Possible Answers: LinuxSampler will answer by returning the maximum number of active voices. @@ -4359,16 +4630,6 @@ The client can ask for general informations about the LinuxSampler instance by sending the following command: - - - - - -Schoenebeck Expires December 26, 2011 [Page 78] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - GET SERVER INFO Possible Answers: @@ -4381,6 +4642,15 @@ + + +Schoenebeck Expires July 13, 2014 [Page 83] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + + + DESCRIPTION - arbitrary textual description about the sampler (note that @@ -4404,6 +4674,21 @@ The mentioned fields above don't have to be in particular order. Other fields might be added in future. + Example: + + C: "GET SERVER INFO" + + S: "DESCRIPTION: LinuxSampler - modular, streaming capable + sampler" + + "VERSION: 1.0.0.svn23" + + "PROTOCOL_VERSION: 1.5" + + "INSTRUMENTS_DB_SUPPORT: no" + + "." + 6.6.6. Getting global volume attenuation The client can ask for the current global sampler-wide volume @@ -4413,18 +4698,17 @@ Possible Answers: - The sampler will always answer by returning the optional dotted - floating point coefficient, reflecting the current global volume - attenuation. - - -Schoenebeck Expires December 26, 2011 [Page 79] +Schoenebeck Expires July 13, 2014 [Page 84] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 + The sampler will always answer by returning the optional dotted + floating point coefficient, reflecting the current global volume + attenuation. + Note: it is up to the respective sampler engine whether to obey that global volume parameter or not, but in general all engines SHOULD use this parameter. @@ -4467,20 +4751,22 @@ Possible Answers: - LinuxSampler will answer by returning the number for the current - limit of maximum voices. - The voice limit setting defines how many voices should maximum be - processed by the sampler at the same time. If the user triggers new - notes which would exceed that voice limit, the sampler engine will -Schoenebeck Expires December 26, 2011 [Page 80] + +Schoenebeck Expires July 13, 2014 [Page 85] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 + + LinuxSampler will answer by returning the number for the current + limit of maximum voices. + The voice limit setting defines how many voices should maximum be + processed by the sampler at the same time. If the user triggers new + notes which would exceed that voice limit, the sampler engine will react by stealing old voices for those newly triggered notes. Note that the amount of voices triggered by a new note can be larger than one and is dependent to the respective instrument and probably @@ -4522,20 +4808,19 @@ Caution: when adjusting the voice limit, you SHOULD also adjust the disk stream limit respectively and vice versa. -6.6.10. Getting global disk stream limit - - The client can ask for the current global sampler-wide limit for - maximum disk streams by sending the following command: +Schoenebeck Expires July 13, 2014 [Page 86] + +Internet-Draft LinuxSampler Control Protocol January 2014 -Schoenebeck Expires December 26, 2011 [Page 81] - -Internet-Draft LinuxSampler Control Protocol June 2011 +6.6.10. Getting global disk stream limit + The client can ask for the current global sampler-wide limit for + maximum disk streams by sending the following command: GET STREAMS @@ -4580,19 +4865,20 @@ Note: the given value will be passed to all sampler engine instances. The total amount of maximum disk streams on the running system might - thus be as big as the given value multiplied by the current amount of - engine instances. - - Caution: when adjusting the disk stream limit, you SHOULD also adjust - the voice limit respectively and vice versa. -Schoenebeck Expires December 26, 2011 [Page 82] +Schoenebeck Expires July 13, 2014 [Page 87] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 + thus be as big as the given value multiplied by the current amount of + engine instances. + + Caution: when adjusting the disk stream limit, you SHOULD also adjust + the voice limit respectively and vice versa. + 6.7. MIDI Instrument Mapping The MIDI protocol provides a way to switch between instruments by @@ -4613,7 +4899,7 @@ 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" - (Section 6.4.24) for how to assign a MIDI instrument map to a sampler + (Section 6.4.27) for how to assign a MIDI instrument map to a sampler channel. Also note per MIDI specification a bank select message does not cause @@ -4636,18 +4922,16 @@ sequences as described in chapter "Character Set and Escape Sequences (Section 7.1)". - Possible Answers: - - "OK[]" - - +Schoenebeck Expires July 13, 2014 [Page 88] + +Internet-Draft LinuxSampler Control Protocol January 2014 -Schoenebeck Expires December 26, 2011 [Page 83] - -Internet-Draft LinuxSampler Control Protocol June 2011 + Possible Answers: + "OK[]" - in case a new MIDI instrument map could be added, where reflects the unique ID of the newly created MIDI instrument map @@ -4692,19 +4976,21 @@ in case the map(s) could be deleted - "ERR::" - - when the given map does not exist - - Examples: -Schoenebeck Expires December 26, 2011 [Page 84] +Schoenebeck Expires July 13, 2014 [Page 89] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 + "ERR::" - + + when the given map does not exist + + Examples: + C: "REMOVE MIDI_INSTRUMENT_MAP 0" S: "OK" @@ -4746,20 +5032,18 @@ Example: - C: "LIST MIDI_INSTRUMENT_MAPS" - - S: "0,1,5,12" - +Schoenebeck Expires July 13, 2014 [Page 90] + +Internet-Draft LinuxSampler Control Protocol January 2014 -Schoenebeck Expires December 26, 2011 [Page 85] - -Internet-Draft LinuxSampler Control Protocol June 2011 + C: "LIST MIDI_INSTRUMENT_MAPS" + S: "0,1,5,12" 6.7.5. Getting MIDI instrument map information @@ -4808,13 +5092,9 @@ - - - - -Schoenebeck Expires December 26, 2011 [Page 86] +Schoenebeck Expires July 13, 2014 [Page 91] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 6.7.6. Renaming a MIDI instrument map @@ -4868,9 +5148,9 @@ -Schoenebeck Expires December 26, 2011 [Page 87] +Schoenebeck Expires July 13, 2014 [Page 92] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 reflects the master volume of the instrument as @@ -4924,9 +5204,9 @@ -Schoenebeck Expires December 26, 2011 [Page 88] +Schoenebeck Expires July 13, 2014 [Page 93] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 to this argument: "ON_DEMAND_HOLD" and "PERSISTENT" have to be @@ -4980,9 +5260,9 @@ -Schoenebeck Expires December 26, 2011 [Page 89] +Schoenebeck Expires July 13, 2014 [Page 94] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 C: "MAP MIDI_INSTRUMENT 0 3 0 gig '/usr/share/Steinway D.gig' 0 @@ -5010,7 +5290,7 @@ S: "OK" -6.7.8. Getting ammount of MIDI instrument map entries +6.7.8. Getting amount of MIDI instrument map entries The front-end can query the amount of currently existing entries in a MIDI instrument map by sending the following command: @@ -5036,9 +5316,9 @@ -Schoenebeck Expires December 26, 2011 [Page 90] +Schoenebeck Expires July 13, 2014 [Page 95] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 C: "GET MIDI_INSTRUMENTS ALL" @@ -5092,9 +5372,9 @@ -Schoenebeck Expires December 26, 2011 [Page 91] +Schoenebeck Expires July 13, 2014 [Page 96] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 "OK" - @@ -5148,9 +5428,9 @@ -Schoenebeck Expires December 26, 2011 [Page 92] +Schoenebeck Expires July 13, 2014 [Page 97] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 "INSTRUMENT_FILE" - @@ -5204,9 +5484,9 @@ -Schoenebeck Expires December 26, 2011 [Page 93] +Schoenebeck Expires July 13, 2014 [Page 98] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 "." @@ -5260,9 +5540,9 @@ -Schoenebeck Expires December 26, 2011 [Page 94] +Schoenebeck Expires July 13, 2014 [Page 99] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 All occurrences of a forward slash in instrument and directory @@ -5316,9 +5596,9 @@ -Schoenebeck Expires December 26, 2011 [Page 95] +Schoenebeck Expires July 13, 2014 [Page 100] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 if the directory is deleted successfully @@ -5372,9 +5652,9 @@ -Schoenebeck Expires December 26, 2011 [Page 96] +Schoenebeck Expires July 13, 2014 [Page 101] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 directory. If RECURSIVE is specified, the absolute path names of all @@ -5428,9 +5708,9 @@ -Schoenebeck Expires December 26, 2011 [Page 97] +Schoenebeck Expires July 13, 2014 [Page 102] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 CREATED - @@ -5484,9 +5764,9 @@ -Schoenebeck Expires December 26, 2011 [Page 98] +Schoenebeck Expires July 13, 2014 [Page 103] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 C: "SET DB_INSTRUMENT_DIRECTORY NAME '/Piano Collection/Acustic' @@ -5540,9 +5820,9 @@ -Schoenebeck Expires December 26, 2011 [Page 99] +Schoenebeck Expires July 13, 2014 [Page 104] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 "OK" - @@ -5596,9 +5876,9 @@ -Schoenebeck Expires December 26, 2011 [Page 100] +Schoenebeck Expires July 13, 2014 [Page 105] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 6.8.10. Finding directories @@ -5652,9 +5932,9 @@ -Schoenebeck Expires December 26, 2011 [Page 101] +Schoenebeck Expires July 13, 2014 [Page 106] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 Where is either a regular expression, or a word list @@ -5708,9 +5988,9 @@ -Schoenebeck Expires December 26, 2011 [Page 102] +Schoenebeck Expires July 13, 2014 [Page 107] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 "RECURSIVE" - @@ -5764,9 +6044,9 @@ -Schoenebeck Expires December 26, 2011 [Page 103] +Schoenebeck Expires July 13, 2014 [Page 108] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 C: "ADD DB_INSTRUMENTS '/Piano Collection' '/home/me/gigs/PMI @@ -5820,9 +6100,9 @@ -Schoenebeck Expires December 26, 2011 [Page 104] +Schoenebeck Expires July 13, 2014 [Page 109] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 "ERR::" - @@ -5876,9 +6156,9 @@ -Schoenebeck Expires December 26, 2011 [Page 105] +Schoenebeck Expires July 13, 2014 [Page 110] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 GET DB_INSTRUMENT INFO @@ -5932,9 +6212,9 @@ -Schoenebeck Expires December 26, 2011 [Page 106] +Schoenebeck Expires July 13, 2014 [Page 111] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 DESCRIPTION - @@ -5988,9 +6268,9 @@ -Schoenebeck Expires December 26, 2011 [Page 107] +Schoenebeck Expires July 13, 2014 [Page 112] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 "DESCRIPTION: " @@ -6044,9 +6324,9 @@ -Schoenebeck Expires December 26, 2011 [Page 108] +Schoenebeck Expires July 13, 2014 [Page 113] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 is the directory where the instrument will be moved to. @@ -6100,9 +6380,9 @@ -Schoenebeck Expires December 26, 2011 [Page 109] +Schoenebeck Expires July 13, 2014 [Page 114] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 S: "OK" @@ -6156,9 +6436,9 @@ -Schoenebeck Expires December 26, 2011 [Page 110] +Schoenebeck Expires July 13, 2014 [Page 115] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 Restricts the search to instruments, which names satisfy the @@ -6212,9 +6492,9 @@ -Schoenebeck Expires December 26, 2011 [Page 111] +Schoenebeck Expires July 13, 2014 [Page 116] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 Restricts the search to instruments with artists info that @@ -6268,9 +6548,9 @@ -Schoenebeck Expires December 26, 2011 [Page 112] +Schoenebeck Expires July 13, 2014 [Page 117] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 6.8.21. Getting job status information @@ -6324,9 +6604,9 @@ -Schoenebeck Expires December 26, 2011 [Page 113] +Schoenebeck Expires July 13, 2014 [Page 118] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 "FILES_SCANNED: 7" @@ -6380,9 +6660,9 @@ -Schoenebeck Expires December 26, 2011 [Page 114] +Schoenebeck Expires July 13, 2014 [Page 119] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 C: "FIND LOST DB_INSTRUMENT_FILES" @@ -6436,9 +6716,9 @@ -Schoenebeck Expires December 26, 2011 [Page 115] +Schoenebeck Expires July 13, 2014 [Page 120] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 6.9.1. Opening an appropriate instrument editor application @@ -6492,9 +6772,9 @@ -Schoenebeck Expires December 26, 2011 [Page 116] +Schoenebeck Expires July 13, 2014 [Page 121] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 6.10. Managing Files @@ -6548,9 +6828,9 @@ -Schoenebeck Expires December 26, 2011 [Page 117] +Schoenebeck Expires July 13, 2014 [Page 122] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 The sampler will try to ask all sampler engines, whether they support @@ -6604,9 +6884,9 @@ -Schoenebeck Expires December 26, 2011 [Page 118] +Schoenebeck Expires July 13, 2014 [Page 123] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 NAME - @@ -6660,9 +6940,9 @@ -Schoenebeck Expires December 26, 2011 [Page 119] +Schoenebeck Expires July 13, 2014 [Page 124] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 "ARTISTS: Jimmy the Fish" @@ -6696,7 +6976,7 @@ effect chains. Audio signals of sampler channels are fed to send effects by creating FX sends to the respective sampler channel and assigning a destination send effect to that FX by using the "SET - FX_SEND EFFECT" (Section 6.4.32) command. The latter allows to route + FX_SEND EFFECT" (Section 6.4.35) command. The latter allows to route the FX send to the beginning of a send effect chain, as well as directly to any other position of the send effect chain. @@ -6716,9 +6996,9 @@ -Schoenebeck Expires December 26, 2011 [Page 120] +Schoenebeck Expires July 13, 2014 [Page 125] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 C: "GET AVAILABLE_EFFECTS" @@ -6772,9 +7052,9 @@ -Schoenebeck Expires December 26, 2011 [Page 121] +Schoenebeck Expires July 13, 2014 [Page 126] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 name of the effect plugin system the effect is based on @@ -6828,9 +7108,9 @@ -Schoenebeck Expires December 26, 2011 [Page 122] +Schoenebeck Expires July 13, 2014 [Page 127] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 EFFECT INFO" (Section 6.11.3) command. The filename of argument @@ -6884,9 +7164,9 @@ -Schoenebeck Expires December 26, 2011 [Page 123] +Schoenebeck Expires July 13, 2014 [Page 128] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 CREATE EFFECT_INSTANCE @@ -6940,9 +7220,9 @@ -Schoenebeck Expires December 26, 2011 [Page 124] +Schoenebeck Expires July 13, 2014 [Page 129] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 DESTROY EFFECT_INSTANCE @@ -6996,9 +7276,9 @@ -Schoenebeck Expires December 26, 2011 [Page 125] +Schoenebeck Expires July 13, 2014 [Page 130] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 6.11.8. Get list of effect instances @@ -7052,9 +7332,9 @@ -Schoenebeck Expires December 26, 2011 [Page 126] +Schoenebeck Expires July 13, 2014 [Page 131] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 (DLL) filename of the effect plugin, including full path @@ -7108,9 +7388,9 @@ -Schoenebeck Expires December 26, 2011 [Page 127] +Schoenebeck Expires July 13, 2014 [Page 132] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 GET EFFECT_INSTANCE_INPUT_CONTROL INFO should be replaced by the numerical ID of the @@ -7556,9 +7836,9 @@ -Schoenebeck Expires December 26, 2011 [Page 135] +Schoenebeck Expires July 13, 2014 [Page 140] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 7. Command Syntax @@ -7612,9 +7892,9 @@ -Schoenebeck Expires December 26, 2011 [Page 136] +Schoenebeck Expires July 13, 2014 [Page 141] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 / LIST SP list_instruction @@ -7657,21 +7937,26 @@ CHANNEL - / DB_INSTRUMENT_DIRECTORY SP db_path + / CHANNEL SP MIDI_INPUT SP sampler_channel SP device_index - / DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename + / CHANNEL SP MIDI_INPUT SP sampler_channel SP device_index SP + midi_input_port_index - / DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP FILE_AS_DIR SP - db_path SP filename + / DB_INSTRUMENT_DIRECTORY SP db_path -Schoenebeck Expires December 26, 2011 [Page 137] +Schoenebeck Expires July 13, 2014 [Page 142] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 + + / DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename + + / DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP FILE_AS_DIR SP + db_path SP filename / DB_INSTRUMENTS SP scan_mode SP db_path SP filename @@ -7715,19 +8000,20 @@ / BUFFER_FILL - / CHANNEL_INFO - / FX_SEND_COUNT - / FX_SEND_INFO +Schoenebeck Expires July 13, 2014 [Page 143] + +Internet-Draft LinuxSampler Control Protocol January 2014 -Schoenebeck Expires December 26, 2011 [Page 138] - -Internet-Draft LinuxSampler Control Protocol June 2011 + / CHANNEL_INFO + / FX_SEND_COUNT + + / FX_SEND_INFO / MIDI_INSTRUMENT_MAP_COUNT @@ -7771,19 +8057,19 @@ / MIDI_INPUT_DEVICE_COUNT - / MIDI_INPUT_DEVICE_INFO - / CHANNEL_COUNT - / CHANNEL_MIDI +Schoenebeck Expires July 13, 2014 [Page 144] + +Internet-Draft LinuxSampler Control Protocol January 2014 + / MIDI_INPUT_DEVICE_INFO -Schoenebeck Expires December 26, 2011 [Page 139] - -Internet-Draft LinuxSampler Control Protocol June 2011 + / CHANNEL_COUNT + / CHANNEL_MIDI / DEVICE_MIDI @@ -7827,19 +8113,19 @@ / EFFECT_INSTANCE_COUNT - / EFFECT_INSTANCE_INFO - / SEND_EFFECT_CHAIN_COUNT - / SEND_EFFECT_CHAIN_INFO +Schoenebeck Expires July 13, 2014 [Page 145] + +Internet-Draft LinuxSampler Control Protocol January 2014 + / EFFECT_INSTANCE_INFO -Schoenebeck Expires December 26, 2011 [Page 140] - -Internet-Draft LinuxSampler Control Protocol June 2011 + / SEND_EFFECT_CHAIN_COUNT + / SEND_EFFECT_CHAIN_INFO map_instruction = @@ -7866,6 +8152,13 @@ CHANNEL SP sampler_channel + / CHANNEL SP MIDI_INPUT SP sampler_channel + + / CHANNEL SP MIDI_INPUT SP sampler_channel SP device_index + + / CHANNEL SP MIDI_INPUT SP sampler_channel SP device_index SP + midi_input_port_index + / MIDI_INSTRUMENT_MAP SP midi_map / MIDI_INSTRUMENT_MAP SP ALL @@ -7875,6 +8168,15 @@ / SEND_EFFECT_CHAIN SP EFFECT SP device_index SP effect_chain SP chain_pos + + + + +Schoenebeck Expires July 13, 2014 [Page 146] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + / FX_SEND SP EFFECT SP sampler_channel SP fx_send_id / DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path @@ -7889,14 +8191,6 @@ / AVAILABLE_EFFECTS - - - -Schoenebeck Expires December 26, 2011 [Page 141] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - / EFFECT_INSTANCES / EFFECT SP INFO SP effect_index @@ -7930,6 +8224,15 @@ / AUDIO_OUTPUT_DEVICES + + + + +Schoenebeck Expires July 13, 2014 [Page 147] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + / MIDI_INPUT_DEVICES / AUDIO_OUTPUT_DEVICE SP INFO SP number @@ -7945,14 +8248,6 @@ / AUDIO_OUTPUT_CHANNEL_PARAMETER SP INFO SP number SP number SP string - - - -Schoenebeck Expires December 26, 2011 [Page 142] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - / CHANNELS / CHANNEL SP INFO SP sampler_channel @@ -7985,6 +8280,15 @@ / FX_SENDS SP sampler_channel + + + + +Schoenebeck Expires July 13, 2014 [Page 148] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + / FX_SEND SP INFO SP sampler_channel SP fx_send_id / DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path @@ -8001,14 +8305,6 @@ / DB_INSTRUMENTS_JOB SP INFO SP number - - - -Schoenebeck Expires December 26, 2011 [Page 143] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - / VOLUME / VOICES @@ -8040,6 +8336,15 @@ / CHANNEL SP set_chan_instruction + + + + +Schoenebeck Expires July 13, 2014 [Page 149] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + / 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 @@ -8056,15 +8361,6 @@ / FX_SEND SP EFFECT SP sampler_channel SP fx_send_id SP effect_chain SP chain_pos - - - - -Schoenebeck Expires December 26, 2011 [Page 144] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - / DB_INSTRUMENT_DIRECTORY SP NAME SP db_path SP stringval_escaped / DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP db_path SP @@ -8096,6 +8392,15 @@ / FX_SEND SP sampler_channel SP midi_ctrl + + + + +Schoenebeck Expires July 13, 2014 [Page 150] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + / FX_SEND SP sampler_channel SP midi_ctrl SP fx_send_name / EFFECT_INSTANCE SP effect_index @@ -8114,13 +8419,6 @@ find_instruction = - - -Schoenebeck Expires December 26, 2011 [Page 145] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - DB_INSTRUMENTS SP NON_RECURSIVE SP db_path SP query_val_list / DB_INSTRUMENTS SP db_path SP query_val_list @@ -8150,6 +8448,15 @@ / MIDI_INPUT_DEVICE SP number + + + + +Schoenebeck Expires July 13, 2014 [Page 151] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + / FX_SEND SP sampler_channel SP fx_send_id / EFFECT_INSTANCE SP number @@ -8170,13 +8477,6 @@ SEND_EFFECT_CHAIN SP EFFECT SP device_index SP effect_chain SP chain_pos SP effect_instance - - -Schoenebeck Expires December 26, 2011 [Page 146] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - set_chan_instruction = AUDIO_OUTPUT_DEVICE SP sampler_channel SP device_index @@ -8204,6 +8504,15 @@ / SOLO SP sampler_channel SP boolean + + + + +Schoenebeck Expires July 13, 2014 [Page 152] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + / MIDI_INSTRUMENT_MAP SP sampler_channel SP midi_map / MIDI_INSTRUMENT_MAP SP sampler_channel SP NONE @@ -8226,13 +8535,6 @@ key_val_list = - - -Schoenebeck Expires December 26, 2011 [Page 147] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - string '=' param_val_list / key_val_list SP string '=' param_val_list @@ -8251,12 +8553,22 @@ / CHANNELS + / CHANNEL SP MIDI_INPUTS SP sampler_channel + / AVAILABLE_ENGINES / AVAILABLE_EFFECTS / EFFECT_INSTANCES + + + +Schoenebeck Expires July 13, 2014 [Page 153] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + / SEND_EFFECT_CHAINS SP number / AVAILABLE_MIDI_INPUT_DRIVERS @@ -8281,14 +8593,6 @@ / FILE SP INSTRUMENTS SP filename - - - -Schoenebeck Expires December 26, 2011 [Page 148] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - send_instruction = CHANNEL SP MIDI_DATA SP string SP sampler_channel SP number SP @@ -8314,6 +8618,13 @@ effect_instance = + + +Schoenebeck Expires July 13, 2014 [Page 154] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + number device_index = @@ -8336,15 +8647,6 @@ number - - - - -Schoenebeck Expires December 26, 2011 [Page 149] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - / ALL midi_input_type_name = @@ -8371,6 +8673,14 @@ dotnum + + + +Schoenebeck Expires July 13, 2014 [Page 155] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + / number control_value = @@ -8393,14 +8703,6 @@ string - - - -Schoenebeck Expires December 26, 2011 [Page 150] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - filename = path @@ -8427,6 +8729,14 @@ effect_index = + + + +Schoenebeck Expires July 13, 2014 [Page 156] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + number effect_chain = @@ -8449,14 +8759,6 @@ param_val = - - - -Schoenebeck Expires December 26, 2011 [Page 151] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - string / stringval @@ -8483,6 +8785,14 @@ / NON_RECURSIVE + + + +Schoenebeck Expires July 13, 2014 [Page 157] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + / FLAT effect_system = @@ -8503,16 +8813,6 @@ certain, explicitly declared parts of the protocol. The supported escape sequences are defined as follows: - - - - - -Schoenebeck Expires December 26, 2011 [Page 152] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - +------------------------+------------------------------------------+ | ASCII Character | Translated into (Name) | | Sequence | | @@ -8541,6 +8841,14 @@ +------------------------+------------------------------------------+ Notice: due to the transition of certain parts of the protocol which + + + +Schoenebeck Expires July 13, 2014 [Page 158] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + 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 @@ -8560,15 +8868,6 @@ "GET MIDI_INSTRUMENT INFO" (Section 6.7.11) - - - - -Schoenebeck Expires December 26, 2011 [Page 153] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - "ADD DB_INSTRUMENT_DIRECTORY" (Section 6.8.1) "ADD DB_INSTRUMENTS" (Section 6.8.11) @@ -8597,6 +8896,15 @@ "SET DB_INSTRUMENT DESCRIPTION" (Section 6.8.19) + + + + +Schoenebeck Expires July 13, 2014 [Page 159] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + "FIND DB_INSTRUMENTS" (Section 6.8.20) "FIND DB_INSTRUMENT_DIRECTORIES" (Section 6.8.10) @@ -8617,14 +8925,6 @@ "LIST FILE INSTRUMENTS" (Section 6.10.2) - - - -Schoenebeck Expires December 26, 2011 [Page 154] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - "GET FILE INSTRUMENT INFO" (Section 6.10.3) "GET EFFECT INFO" (Section 6.11.3) @@ -8652,17 +8952,26 @@ description) and / or may contain escape sequences in at least one of their text-based fields in their response: + + + + +Schoenebeck Expires July 13, 2014 [Page 160] + +Internet-Draft LinuxSampler Control Protocol January 2014 + + "GET SERVER INFO" (Section 6.6.5) "GET ENGINE INFO" (Section 6.4.9) "GET CHANNEL INFO" (Section 6.4.10) - "CREATE FX_SEND" (Section 6.4.25) + "CREATE FX_SEND" (Section 6.4.28) - "GET FX_SEND INFO" (Section 6.4.29) + "GET FX_SEND INFO" (Section 6.4.32) - "SET FX_SEND NAME" (Section 6.4.30) + "SET FX_SEND NAME" (Section 6.4.33) "GET MIDI_INSTRUMENT INFO" (Section 6.7.11) @@ -8672,15 +8981,6 @@ "MAP MIDI_INSTRUMENT" (Section 6.7.7) - - - - -Schoenebeck Expires December 26, 2011 [Page 155] - -Internet-Draft LinuxSampler Control Protocol June 2011 - - "SET MIDI_INSTRUMENT_MAP NAME" (Section 6.7.6) "GET DB_INSTRUMENT_DIRECTORY INFO" (Section 6.8.5) @@ -8712,29 +9012,9 @@ - - - - - - - - - - - - - - - - - - - - -Schoenebeck Expires December 26, 2011 [Page 156] +Schoenebeck Expires July 13, 2014 [Page 161] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 8. Events @@ -8788,9 +9068,9 @@ -Schoenebeck Expires December 26, 2011 [Page 157] +Schoenebeck Expires July 13, 2014 [Page 162] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 "NOTIFY:MIDI_INPUT_DEVICE_COUNT:" @@ -8844,9 +9124,9 @@ -Schoenebeck Expires December 26, 2011 [Page 158] +Schoenebeck Expires July 13, 2014 [Page 163] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 "NOTIFY:CHANNEL_MIDI: NOTE_ON " @@ -8900,9 +9180,9 @@ -Schoenebeck Expires December 26, 2011 [Page 159] +Schoenebeck Expires July 13, 2014 [Page 164] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 SUBSCRIBE VOICE_COUNT @@ -8956,9 +9236,9 @@ -Schoenebeck Expires December 26, 2011 [Page 160] +Schoenebeck Expires July 13, 2014 [Page 165] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 SUBSCRIBE CHANNEL_INFO @@ -9012,9 +9292,9 @@ -Schoenebeck Expires December 26, 2011 [Page 161] +Schoenebeck Expires July 13, 2014 [Page 166] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 8.14. Total number of active voices changed @@ -9068,9 +9348,9 @@ -Schoenebeck Expires December 26, 2011 [Page 162] +Schoenebeck Expires July 13, 2014 [Page 167] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO @@ -9124,9 +9404,9 @@ -Schoenebeck Expires December 26, 2011 [Page 163] +Schoenebeck Expires July 13, 2014 [Page 168] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 8.20. Global settings changed @@ -9180,9 +9460,9 @@ -Schoenebeck Expires December 26, 2011 [Page 164] +Schoenebeck Expires July 13, 2014 [Page 169] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO @@ -9236,9 +9516,9 @@ -Schoenebeck Expires December 26, 2011 [Page 165] +Schoenebeck Expires July 13, 2014 [Page 170] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 "NOTIFY:DB_INSTRUMENT_INFO:" @@ -9292,9 +9572,9 @@ -Schoenebeck Expires December 26, 2011 [Page 166] +Schoenebeck Expires July 13, 2014 [Page 171] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 8.27. Effect instance information changed @@ -9348,9 +9628,9 @@ -Schoenebeck Expires December 26, 2011 [Page 167] +Schoenebeck Expires July 13, 2014 [Page 172] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 8.30. Miscellaneous and debugging events @@ -9404,9 +9684,9 @@ -Schoenebeck Expires December 26, 2011 [Page 168] +Schoenebeck Expires July 13, 2014 [Page 173] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 9. Security Considerations @@ -9460,9 +9740,9 @@ -Schoenebeck Expires December 26, 2011 [Page 169] +Schoenebeck Expires July 13, 2014 [Page 174] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 10. Acknowledgments @@ -9516,9 +9796,9 @@ -Schoenebeck Expires December 26, 2011 [Page 170] +Schoenebeck Expires July 13, 2014 [Page 175] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 11. References @@ -9572,22 +9852,22 @@ -Schoenebeck Expires December 26, 2011 [Page 171] +Schoenebeck Expires July 13, 2014 [Page 176] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 Author's Address C. Schoenebeck - Interessengemeinschaft Software Engineering e. V. - Max-Planck-Str. 39 - 74081 Heilbronn + LinuxSampler.org + Crudebyte Engineering + Hofgartenstr. 3 + 74189 Weinsberg Germany - Email: schoenebeck at software minus engineering dot org - - + Phone: +49 7134 911614 + Email: cuse@users.sf.net @@ -9628,14 +9908,14 @@ -Schoenebeck Expires December 26, 2011 [Page 172] +Schoenebeck Expires July 13, 2014 [Page 177] -Internet-Draft LinuxSampler Control Protocol June 2011 +Internet-Draft LinuxSampler Control Protocol January 2014 Full Copyright Statement - Copyright (C) The IETF Trust (2011). + Copyright (C) The IETF Trust (2014). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors @@ -9684,5 +9964,5 @@ -Schoenebeck Expires December 26, 2011 [Page 173] +Schoenebeck Expires July 13, 2014 [Page 178]