--- web/trunk/www.linuxsampler.org/api/draft-linuxsampler-protocol.txt 2005/05/24 03:26:22 575 +++ web/trunk/www.linuxsampler.org/api/draft-linuxsampler-protocol.txt 2005/07/21 09:18:40 708 @@ -1,23 +1,24 @@ + LinuxSampler Developers C. Schoenebeck Internet-Draft Interessengemeinschaft Software -Expires: November 22, 2005 Engineering e. V. - May 24, 2005 +Expires: November 2, 2005 Engineering e. V. + May 2005 LinuxSampler Control Protocol - LSCP 1.0 + LSCP 1.1 Status of this Memo This document is an Internet-Draft and is in full conformance with - all provisions of Section 10 of RFC2026. + all provisions of Section 10 of RFC 2026. 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. + other groups may also distribute working documents as Internet- + Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any @@ -30,7 +31,7 @@ The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. - This Internet-Draft will expire on November 22, 2005. + This Internet-Draft will expire on November 2, 2005. Copyright Notice @@ -40,9 +41,9 @@ The LinuxSampler Control Protocol (LSCP) is an application-level protocol primarily intended for local and remote controlling the - LinuxSampler backend application, which is a sophisticated - server-like console application essentially playing back audio - samples and manipulating the samples in real time to certain extent. + LinuxSampler backend application, which is a sophisticated server- + like console application essentially playing back audio samples and + manipulating the samples in real time to certain extent. @@ -51,10 +52,9 @@ +Schoenebeck Expires November 2, 2005 [Page 1] -Schoenebeck Expires November 22, 2005 [Page 1] - -Internet-Draft LinuxSampler Control Protocol May 2005 +Internet-Draft LinuxSampler Control Protocol May 2005 Table of Contents @@ -66,7 +66,7 @@ 5. Communication Overview . . . . . . . . . . . . . . . . . . . 8 5.1 Request/response communication method . . . . . . . . . . 8 5.1.1 Result format . . . . . . . . . . . . . . . . . . . . 9 - 5.2 Subscribe/notify communication method . . . . . . . . . . 10 + 5.2 Subscribe/notify communication method . . . . . . . . . . 11 6. Description for control commands . . . . . . . . . . . . . . 13 6.1 Ignored lines and comments . . . . . . . . . . . . . . . . 13 6.2 Configuring audio drivers . . . . . . . . . . . . . . . . 13 @@ -76,97 +76,97 @@ driver . . . . . . . . . . . . . . . . . . . . . . . . 14 6.2.4 Getting information about specific audio output driver parameter . . . . . . . . . . . . . . . . . . . 15 - 6.2.5 Creating an audio output device . . . . . . . . . . . 18 - 6.2.6 Destroying an audio output device . . . . . . . . . . 18 - 6.2.7 Getting all created audio output device count . . . . 19 - 6.2.8 Getting all created audio output device list . . . . . 19 - 6.2.9 Getting current settings of an audio output device . . 20 - 6.2.10 Changing settings of audio output devices . . . . . 21 - 6.2.11 Getting information about an audio channel . . . . . 21 + 6.2.5 Creating an audio output device . . . . . . . . . . . 19 + 6.2.6 Destroying an audio output device . . . . . . . . . . 20 + 6.2.7 Getting all created audio output device count . . . . 21 + 6.2.8 Getting all created audio output device list . . . . . 21 + 6.2.9 Getting current settings of an audio output device . . 21 + 6.2.10 Changing settings of audio output devices . . . . . 23 + 6.2.11 Getting information about an audio channel . . . . . 24 6.2.12 Getting information about specific audio channel - parameter . . . . . . . . . . . . . . . . . . . . . 23 - 6.2.13 Changing settings of audio output channels . . . . . 24 - 6.3 Configuring MIDI input drivers . . . . . . . . . . . . . . 25 - 6.3.1 Getting amount of available MIDI input drivers . . . . 26 - 6.3.2 Getting all available MIDI input drivers . . . . . . . 26 + parameter . . . . . . . . . . . . . . . . . . . . . 25 + 6.2.13 Changing settings of audio output channels . . . . . 27 + 6.3 Configuring MIDI input drivers . . . . . . . . . . . . . . 28 + 6.3.1 Getting amount of available MIDI input drivers . . . . 29 + 6.3.2 Getting all available MIDI input drivers . . . . . . . 29 6.3.3 Getting information about a specific MIDI input - driver . . . . . . . . . . . . . . . . . . . . . . . . 26 + driver . . . . . . . . . . . . . . . . . . . . . . . . 30 6.3.4 Getting information about specific MIDI input - driver parameter . . . . . . . . . . . . . . . . . . . 27 - 6.3.5 Creating a MIDI input device . . . . . . . . . . . . . 29 - 6.3.6 Destroying a MIDI input device . . . . . . . . . . . . 30 - 6.3.7 Getting all created MIDI input device count . . . . . 30 - 6.3.8 Getting all created MIDI input device list . . . . . . 31 - 6.3.9 Getting current settings of a MIDI input device . . . 31 - 6.3.10 Changing settings of MIDI input devices . . . . . . 32 - 6.3.11 Getting information about a MIDI port . . . . . . . 33 + driver parameter . . . . . . . . . . . . . . . . . . . 31 + 6.3.5 Creating a MIDI input device . . . . . . . . . . . . . 33 + 6.3.6 Destroying a MIDI input device . . . . . . . . . . . . 34 + 6.3.7 Getting all created MIDI input device count . . . . . 35 + 6.3.8 Getting all created MIDI input device list . . . . . . 35 + 6.3.9 Getting current settings of a MIDI input device . . . 36 + 6.3.10 Changing settings of MIDI input devices . . . . . . 37 + 6.3.11 Getting information about a MIDI port . . . . . . . 38 6.3.12 Getting information about specific MIDI port - parameter . . . . . . . . . . . . . . . . . . . . . 33 - 6.3.13 Changing settings of MIDI input ports . . . . . . . 35 - 6.4 Configuring sampler channels . . . . . . . . . . . . . . . 35 - 6.4.1 Loading an instrument . . . . . . . . . . . . . . . . 35 + parameter . . . . . . . . . . . . . . . . . . . . . 38 + 6.3.13 Changing settings of MIDI input ports . . . . . . . 40 + 6.4 Configuring sampler channels . . . . . . . . . . . . . . . 41 + 6.4.1 Loading an instrument . . . . . . . . . . . . . . . . 41 -Schoenebeck Expires November 22, 2005 [Page 2] - -Internet-Draft LinuxSampler Control Protocol May 2005 - - - 6.4.2 Loading a sampler engine . . . . . . . . . . . . . . . 36 - 6.4.3 Getting all created sampler channel count . . . . . . 37 - 6.4.4 Getting all created sampler channel list . . . . . . . 37 - 6.4.5 Adding a new sampler channel . . . . . . . . . . . . . 38 - 6.4.6 Removing a sampler channel . . . . . . . . . . . . . . 39 - 6.4.7 Getting amount of available engines . . . . . . . . . 39 - 6.4.8 Getting all available engines . . . . . . . . . . . . 39 - 6.4.9 Getting information about an engine . . . . . . . . . 40 - 6.4.10 Getting sampler channel information . . . . . . . . 41 - 6.4.11 Current number of active voices . . . . . . . . . . 42 - 6.4.12 Current number of active disk streams . . . . . . . 43 - 6.4.13 Current fill state of disk stream buffers . . . . . 43 - 6.4.14 Setting audio output device . . . . . . . . . . . . 44 - 6.4.15 Setting audio output type . . . . . . . . . . . . . 45 - 6.4.16 Setting audio output channel . . . . . . . . . . . . 45 - 6.4.17 Setting MIDI input device . . . . . . . . . . . . . 46 - 6.4.18 Setting MIDI input type . . . . . . . . . . . . . . 46 - 6.4.19 Setting MIDI input port . . . . . . . . . . . . . . 47 - 6.4.20 Setting MIDI input channel . . . . . . . . . . . . . 48 - 6.4.21 Setting channel volume . . . . . . . . . . . . . . . 48 - 6.4.22 Resetting a sampler channel . . . . . . . . . . . . 49 - 6.5 Controlling connection . . . . . . . . . . . . . . . . . . 49 - 6.5.1 Register front-end for receiving event messages . . . 49 +Schoenebeck Expires November 2, 2005 [Page 2] + +Internet-Draft LinuxSampler Control Protocol May 2005 + + + 6.4.2 Loading a sampler engine . . . . . . . . . . . . . . . 42 + 6.4.3 Getting all created sampler channel count . . . . . . 43 + 6.4.4 Getting all created sampler channel list . . . . . . . 43 + 6.4.5 Adding a new sampler channel . . . . . . . . . . . . . 44 + 6.4.6 Removing a sampler channel . . . . . . . . . . . . . . 45 + 6.4.7 Getting amount of available engines . . . . . . . . . 45 + 6.4.8 Getting all available engines . . . . . . . . . . . . 46 + 6.4.9 Getting information about an engine . . . . . . . . . 46 + 6.4.10 Getting sampler channel information . . . . . . . . 47 + 6.4.11 Current number of active voices . . . . . . . . . . 50 + 6.4.12 Current number of active disk streams . . . . . . . 50 + 6.4.13 Current fill state of disk stream buffers . . . . . 51 + 6.4.14 Setting audio output device . . . . . . . . . . . . 52 + 6.4.15 Setting audio output type . . . . . . . . . . . . . 53 + 6.4.16 Setting audio output channel . . . . . . . . . . . . 53 + 6.4.17 Setting MIDI input device . . . . . . . . . . . . . 54 + 6.4.18 Setting MIDI input type . . . . . . . . . . . . . . 55 + 6.4.19 Setting MIDI input port . . . . . . . . . . . . . . 56 + 6.4.20 Setting MIDI input channel . . . . . . . . . . . . . 56 + 6.4.21 Setting channel volume . . . . . . . . . . . . . . . 57 + 6.4.22 Muting a sampler channel . . . . . . . . . . . . . . 58 + 6.4.23 Soloing a sampler channel . . . . . . . . . . . . . 58 + 6.4.24 Resetting a sampler channel . . . . . . . . . . . . 59 + 6.5 Controlling connection . . . . . . . . . . . . . . . . . . 60 + 6.5.1 Register front-end for receiving event messages . . . 60 6.5.2 Unregister front-end for not receiving event - messages . . . . . . . . . . . . . . . . . . . . . . . 50 - 6.5.3 Enable or disable echo of commands . . . . . . . . . . 51 - 6.5.4 Close client connection . . . . . . . . . . . . . . . 51 - 6.6 Global commands . . . . . . . . . . . . . . . . . . . . . 51 - 6.6.1 Reset sampler . . . . . . . . . . . . . . . . . . . . 51 - 6.6.2 General sampler informations . . . . . . . . . . . . . 52 - 7. Command Syntax . . . . . . . . . . . . . . . . . . . . . . . 53 - 8. Events . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 - 8.1 Number of sampler channels changed . . . . . . . . . . . . 58 - 8.2 Number of active voices changed . . . . . . . . . . . . . 58 - 8.3 Number of active disk streams changed . . . . . . . . . . 58 - 8.4 Disk stream buffer fill state changed . . . . . . . . . . 59 - 8.5 Channel information changed . . . . . . . . . . . . . . . 59 - 8.6 Miscellaneous and debugging events . . . . . . . . . . . . 59 - 9. Security Considerations . . . . . . . . . . . . . . . . . . 61 - 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . 62 - 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 62 - Author's Address . . . . . . . . . . . . . . . . . . . . . . 62 - Intellectual Property and Copyright Statements . . . . . . . 63 - + messages . . . . . . . . . . . . . . . . . . . . . . . 61 + 6.5.3 Enable or disable echo of commands . . . . . . . . . . 61 + 6.5.4 Close client connection . . . . . . . . . . . . . . . 62 + 6.6 Global commands . . . . . . . . . . . . . . . . . . . . . 62 + 6.6.1 Reset sampler . . . . . . . . . . . . . . . . . . . . 62 + 6.6.2 General sampler informations . . . . . . . . . . . . . 62 + 7. Command Syntax . . . . . . . . . . . . . . . . . . . . . . . 64 + 8. Events . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 + 8.1 Number of sampler channels changed . . . . . . . . . . . . 71 + 8.2 Number of active voices changed . . . . . . . . . . . . . 71 + 8.3 Number of active disk streams changed . . . . . . . . . . 71 + 8.4 Disk stream buffer fill state changed . . . . . . . . . . 72 + 8.5 Channel information changed . . . . . . . . . . . . . . . 72 + 8.6 Miscellaneous and debugging events . . . . . . . . . . . . 72 + 9. Security Considerations . . . . . . . . . . . . . . . . . . 74 + 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . 75 + 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 75 + Author's Address . . . . . . . . . . . . . . . . . . . . . . 75 + Intellectual Property and Copyright Statements . . . . . . . 76 +Schoenebeck Expires November 2, 2005 [Page 3] -Schoenebeck Expires November 22, 2005 [Page 3] - -Internet-Draft LinuxSampler Control Protocol May 2005 +Internet-Draft LinuxSampler Control Protocol May 2005 1. Requirements notation @@ -178,13 +178,14 @@ This protocol is always case-sensitive if not explicitly claimed the opposite. - In examples, "C:" and "S:" indicate lines sent by the client - (front-end) and server (LinuxSampler) respectively. Lines in - examples must be interpreted as every line being CRLF terminated - (carriage return character followed by line feed character as defined - in the ASCII standard), thus the following example: + In examples, "C:" and "S:" indicate lines sent by the client (front- + end) and server (LinuxSampler) respectively. Lines in examples must + be interpreted as every line being CRLF terminated (carriage return + character followed by line feed character as defined in the ASCII + standard), thus the following example: C: "some line" + "another line" must actually be interpreted as client sending the following message: @@ -203,9 +204,13 @@ sequence scenario: o server sending message "a" + o followed by a delay (pause) with arbitrary duration + o followed by server sending message "bcd" + o again followed by a delay (pause) with arbitrary duration + o followed by server sending the message "" where again and symbolize the carriage return and line feed @@ -215,14 +220,9 @@ +Schoenebeck Expires November 2, 2005 [Page 4] - - - - -Schoenebeck Expires November 22, 2005 [Page 4] - -Internet-Draft LinuxSampler Control Protocol May 2005 +Internet-Draft LinuxSampler Control Protocol May 2005 2. Versioning of this specification @@ -246,6 +246,7 @@ 1. The frontend's LSCP major version and the sampler's LSCP major version are exactly equal. + 2. The frontend's LSCP minor version is less or equal than the sampler's LSCP minor version. @@ -275,10 +276,9 @@ +Schoenebeck Expires November 2, 2005 [Page 5] -Schoenebeck Expires November 22, 2005 [Page 5] - -Internet-Draft LinuxSampler Control Protocol May 2005 +Internet-Draft LinuxSampler Control Protocol May 2005 3. Introduction @@ -291,7 +291,7 @@ virtual channels which will be referred in this document as "sampler channels". The channels are in such way virtual as they can be connected to an arbitrary MIDI input method and arbitrary MIDI - channel (e.g. sampler channel 17 could be connected to an ALSA + channel (e.g. sampler channel 17 could be connected to an ALSA sequencer device 64:0 and listening to MIDI channel 1 there). Each sampler channel will be associated with an instance of one of the available sampler engines (e.g. GigEngine, DLSEngine). The audio @@ -332,9 +332,9 @@ -Schoenebeck Expires November 22, 2005 [Page 6] - -Internet-Draft LinuxSampler Control Protocol May 2005 +Schoenebeck Expires November 2, 2005 [Page 6] + +Internet-Draft LinuxSampler Control Protocol May 2005 4. Focus of this protocol @@ -388,9 +388,9 @@ -Schoenebeck Expires November 22, 2005 [Page 7] - -Internet-Draft LinuxSampler Control Protocol May 2005 +Schoenebeck Expires November 2, 2005 [Page 7] + +Internet-Draft LinuxSampler Control Protocol May 2005 5. Communication Overview @@ -444,9 +444,9 @@ -Schoenebeck Expires November 22, 2005 [Page 8] - -Internet-Draft LinuxSampler Control Protocol May 2005 +Schoenebeck Expires November 2, 2005 [Page 8] + +Internet-Draft LinuxSampler Control Protocol May 2005 5.1.1 Result format @@ -454,13 +454,16 @@ Result set could be one of the following types: 1. Normal + 2. Warning + 3. Error Warning and Error result sets MUST be single line and have the following format: o "WRN::" + o "ERR::" Where and are numeric unique identifiers @@ -470,40 +473,45 @@ Examples: C: "LOAD INSTRUMENT '/home/me/Boesendorfer24bit.gig" 0 0 + S: "WRN:32:This is a 24 bit patch which is not supported natively yet." C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA EAR" + S: "ERR:3456:Audio output driver 'ALSA' does not have a parameter 'EAR'." C: "GET AUDIO_OUTPUT_DEVICE INFO 123456" + S: "ERR:9:There is no audio output device with index 123456." Normal result sets could be: 1. Empty + 2. Single line + 3. Multi-line Empty result set is issued when the server only needed to acknowledge the fact that the request was received and it was processed successfully and no additional information is available. This result - set has the following format: - "OK" - Example: - C: "SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 CHANNELS=4" +Schoenebeck Expires November 2, 2005 [Page 9] +Internet-Draft LinuxSampler Control Protocol May 2005 + set has the following format: -Schoenebeck Expires November 22, 2005 [Page 9] - -Internet-Draft LinuxSampler Control Protocol May 2005 + "OK" + Example: + + C: "SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 CHANNELS=4" S: "OK" @@ -517,13 +525,21 @@ Example: C: "GET AUDIO_OUTPUT_DEVICE INFO 0" + S: "DRIVER: ALSA" + "CHANNELS: 2" + "SAMPLERATE: 44100" + "ACTIVE: true" + "FRAGMENTS: 2" + "FRAGMENTSIZE: 128" + "CARD: '0,0'" + "." In addition to above mentioned formats, warnings and empty result @@ -531,21 +547,33 @@ respectively: o "WRN[]::" + o "OK[]" where is command specific and is used to indicate channel number that the result set was related to or other integer value. + + + +Schoenebeck Expires November 2, 2005 [Page 10] + +Internet-Draft LinuxSampler Control Protocol May 2005 + + Each line of the result set MUST end with . Examples: C: "ADD CHANNEL" + S: "OK[12]" C: "CREATE AUDIO_OUTPUT_DEVICE ALSA SAMPLERATE=96000" + S: "WRN[0]:32:Sample rate not supported, using 44100 instead." + 5.2 Subscribe/notify communication method This more sophisticated communication method is actually only an @@ -553,14 +581,6 @@ front-end still uses a TCP connection and sends the same commands on the TCP connection. Two extra commands are SUBSCRIBE and UNSUBSCRIBE commands that allow a client to tell the server that it is interested - - - -Schoenebeck Expires November 22, 2005 [Page 10] - -Internet-Draft LinuxSampler Control Protocol May 2005 - - in receiving notifications about certain events as they happen on the server. The SUBSCRIBE command has the following syntax: @@ -583,10 +603,20 @@ 1. Events MUST NOT be sent to any client who has not issued an appropriate SUBSCRIBE command. + 2. Events MUST only be sent using the same connection that was used to subscribe to them. + 3. When response is being sent to the client, event MUST be inserted in the stream before or after the response, but NOT in the + + + +Schoenebeck Expires November 2, 2005 [Page 11] + +Internet-Draft LinuxSampler Control Protocol May 2005 + + middle. Same is true about the response. It should never be inserted in the middle of the event message as well as any other response. @@ -610,13 +640,6 @@ channel 4, where the stream with ID "35" is filled by 62%, stream with ID 33 is filled by 80% and stream with ID 37 is filled by 98%. - - -Schoenebeck Expires November 22, 2005 [Page 11] - -Internet-Draft LinuxSampler Control Protocol May 2005 - - Clients may choose to open more than one connection to the server and use some connections to receive notifications while using other connections to issue commands to the back-end. This is entirely @@ -645,41 +668,19 @@ +Schoenebeck Expires November 2, 2005 [Page 12] - - - - - - - - - - - - - - - - - - - - - - -Schoenebeck Expires November 22, 2005 [Page 12] - -Internet-Draft LinuxSampler Control Protocol May 2005 +Internet-Draft LinuxSampler Control Protocol May 2005 6. Description for control commands This chapter will describe the available control commands that can be sent on the TCP connection in detail. Some certain commands (e.g. - "GET CHANNEL INFO" (Section 6.4.10) or "GET ENGINE INFO" (Section - 6.4.9)) lead to multiple-line responses. In this case LinuxSampler - signals the end of the response by a "." (single dot) line. + "GET CHANNEL INFO" (Section 6.4.10) or "GET ENGINE INFO" + (Section 6.4.9)) lead to multiple-line responses. In this case + LinuxSampler signals the end of the response by a "." (single dot) + line. 6.1 Ignored lines and comments @@ -691,11 +692,11 @@ 6.2 Configuring audio drivers Instances of drivers in LinuxSampler are called devices. You can use - multiple audio devices simultaneously, e.g. to output the sound of + multiple audio devices simultaneously, e.g. to output the sound of one sampler channel using the ALSA audio output driver, and on another sampler channel you might want to use the JACK audio output driver. For particular audio output systems it's also possible to - create several devices of the same audio output driver, e.g. two + create several devices of the same audio output driver, e.g. two separate ALSA audio output devices for using two different sound cards at the same time. This chapter describes all commands to configure LinuxSampler's audio output devices and their parameters. @@ -705,8 +706,8 @@ values have to be obtained at runtime. This makes the protocol a bit abstract, but has the advantage, that front-ends can be written independently of what drivers are currently implemented and what - parameters these drivers are actually offering. This means - front-ends can even handle drivers which are implemented somewhere in + parameters these drivers are actually offering. This means front- + ends can even handle drivers which are implemented somewhere in future without modifying the front-end at all. Note: examples in this chapter showing particular parameters of @@ -720,14 +721,15 @@ 6.2.1 Getting amount of available audio output drivers Use the following command to get the number of audio output drivers - currently available for the LinuxSampler instance: -Schoenebeck Expires November 22, 2005 [Page 13] - -Internet-Draft LinuxSampler Control Protocol May 2005 +Schoenebeck Expires November 2, 2005 [Page 13] + +Internet-Draft LinuxSampler Control Protocol May 2005 + + currently available for the LinuxSampler instance: GET AVAILABLE_AUDIO_OUTPUT_DRIVERS @@ -739,8 +741,10 @@ Example: C: "GET AVAILABLE_AUDIO_OUTPUT_DRIVERS" + S: "2" + 6.2.2 Getting all available audio output drivers Use the following command to list all audio output drivers currently @@ -756,8 +760,10 @@ Example: C: "LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS" + S: "ALSA,JACK" + 6.2.3 Getting information about a specific audio output driver Use the following command to get detailed information about a @@ -771,6 +777,14 @@ Possible Answers: + + + +Schoenebeck Expires November 2, 2005 [Page 14] + +Internet-Draft LinuxSampler Control Protocol May 2005 + + LinuxSampler will answer by sending a separated list. Each answer line begins with the information category name followed by a colon and then a space character and finally the info @@ -779,33 +793,37 @@ - -Schoenebeck Expires November 22, 2005 [Page 14] - -Internet-Draft LinuxSampler Control Protocol May 2005 - - - DESCRIPTION - + character string describing the audio output driver + VERSION - + character string reflecting the driver's version + PARAMETERS - + comma separated list of all parameters available for the given audio output driver, at least parameters 'channels', 'samplerate' and 'active' are offered by all audio output drivers + The mentioned fields above don't have to be in particular order. Example: C: "GET AUDIO_OUTPUT_DRIVER INFO ALSA" + S: "DESCRIPTION: Advanced Linux Sound Architecture" + "VERSION: 1.0" + "PARAMETERS: DRIVER,CHANNELS,SAMPLERATE,ACTIVE,FRAGMENTS, FRAGMENTSIZE,CARD" + "." + 6.2.4 Getting information about specific audio output driver parameter Use the following command to get detailed information about a @@ -815,15 +833,23 @@ Where