5202 |
to the instruments database by sending the following command:</t> |
to the instruments database by sending the following command:</t> |
5203 |
<t> |
<t> |
5204 |
<list> |
<list> |
5205 |
<t>ADD DB_INSTRUMENTS [<mode>] <db_dir> <file_path> [<instr_index>]</t> |
<t>ADD DB_INSTRUMENTS [NON_MODAL] [<mode>] <db_dir> <file_path> [<instr_index>]</t> |
5206 |
</list> |
</list> |
5207 |
</t> |
</t> |
5208 |
<t>Where <db_dir> is the absolute path name of a directory |
<t>Where <db_dir> is the absolute path name of a directory |
5220 |
scanning will be done and has exactly the following possibilities:</t> |
scanning will be done and has exactly the following possibilities:</t> |
5221 |
<t> |
<t> |
5222 |
<list> |
<list> |
5223 |
|
<t>"RECURSIVE" - |
5224 |
|
<list> |
5225 |
|
<t>All instruments will be processed, including those |
5226 |
|
in the subdirectories, and the respective subdirectory |
5227 |
|
tree structure will be recreated in the instruments |
5228 |
|
database</t> |
5229 |
|
</list> |
5230 |
|
</t> |
5231 |
<t>"NON_RECURSIVE" - |
<t>"NON_RECURSIVE" - |
5232 |
<list> |
<list> |
5233 |
<t>Only the instruments in the specified directory |
<t>Only the instruments in the specified directory |
5244 |
the specified database directory.</t> |
the specified database directory.</t> |
5245 |
</list> |
</list> |
5246 |
</t> |
</t> |
|
<t>not supplied - |
|
|
<list> |
|
|
<t>The subdirectory tree structure will be recreated |
|
|
in the instruments database and all instruments will be |
|
|
processed and added to the respective subdirectory |
|
|
in the instruments database.</t> |
|
|
</list> |
|
|
</t> |
|
5247 |
</list> |
</list> |
5248 |
</t> |
</t> |
5249 |
|
|
5250 |
|
<t>The difference between regular and NON_MODAL versions of the command |
5251 |
|
is that the regular command returns when the scanning is finished |
5252 |
|
while NON_MODAL version returns immediately and a background process is launched. |
5253 |
|
The <xref target="GET DB_INSTRUMENTS_JOB INFO">GET DB_INSTRUMENTS_JOB INFO</xref> |
5254 |
|
command can be used to monitor the scanning progress.</t> |
5255 |
|
|
5256 |
<t>Possible Answers:</t> |
<t>Possible Answers:</t> |
5257 |
<t> |
<t> |
5258 |
<list> |
<list> |
5259 |
<t>"OK" - |
<t>"OK" - |
5260 |
<list> |
<list> |
5261 |
<t>on success</t> |
<t>on success when NON_MODAL is not supplied</t> |
5262 |
|
</list> |
5263 |
|
</t> |
5264 |
|
<t>"OK[<job-id>]" - |
5265 |
|
<list> |
5266 |
|
<t>on success when NON_MODAL is supplied, where <job-id> |
5267 |
|
is a numerical ID used to obtain status information about the job progress. |
5268 |
|
See <xref target="GET DB_INSTRUMENTS_JOB INFO">GET DB_INSTRUMENTS_JOB INFO</xref> |
5269 |
|
</t> |
5270 |
</list> |
</list> |
5271 |
</t> |
</t> |
5272 |
<t>"ERR:<error-code>:<error-message>" - |
<t>"ERR:<error-code>:<error-message>" - |
5798 |
</t> |
</t> |
5799 |
</section> |
</section> |
5800 |
|
|
5801 |
|
<section title="Getting job status information" anchor="GET DB_INSTRUMENTS_JOB INFO"> |
5802 |
|
<t>The front-end can ask for the current status of a |
5803 |
|
particular database instruments job by sending the following command:</t> |
5804 |
|
<t> |
5805 |
|
<list> |
5806 |
|
<t>GET DB_INSTRUMENTS_JOB INFO <job-id></t> |
5807 |
|
</list> |
5808 |
|
</t> |
5809 |
|
<t>Where <job-id> should be replaced by the numerical ID |
5810 |
|
of the job the front-end is interested in.</t> |
5811 |
|
|
5812 |
|
<t>Possible Answers:</t> |
5813 |
|
<t> |
5814 |
|
<list> |
5815 |
|
<t>LinuxSampler will answer by sending a <CRLF> separated list. |
5816 |
|
Each answer line begins with the settings category name |
5817 |
|
followed by a colon and then a space character <SP> and finally |
5818 |
|
the info character string to that setting category. At the |
5819 |
|
moment the following categories are defined:</t> |
5820 |
|
|
5821 |
|
<t> |
5822 |
|
<list> |
5823 |
|
<t>FILES_TOTAL - |
5824 |
|
<list> |
5825 |
|
<t>The total number of files scheduled for scanning</t> |
5826 |
|
</list> |
5827 |
|
</t> |
5828 |
|
<t>FILES_SCANNED - |
5829 |
|
<list> |
5830 |
|
<t>The current number of scanned files</t> |
5831 |
|
</list> |
5832 |
|
</t> |
5833 |
|
<t>SCANNING - |
5834 |
|
<list> |
5835 |
|
<t>The absolute path name of the file which is currently |
5836 |
|
being scanned</t> |
5837 |
|
</list> |
5838 |
|
</t> |
5839 |
|
<t>STATUS - |
5840 |
|
<list> |
5841 |
|
<t>An integer value between 0 and 100 indicating the |
5842 |
|
scanning progress percentage of the file which is |
5843 |
|
currently being scanned</t> |
5844 |
|
</list> |
5845 |
|
</t> |
5846 |
|
</list> |
5847 |
|
</t> |
5848 |
|
</list> |
5849 |
|
</t> |
5850 |
|
<t>The mentioned fields above don't have to be in particular order.</t> |
5851 |
|
|
5852 |
|
<t>Example:</t> |
5853 |
|
<t> |
5854 |
|
<list> |
5855 |
|
<t>C: "GET DB_INSTRUMENTS_JOB INFO 2"</t> |
5856 |
|
<t>S: "FILES_TOTAL: 12"</t> |
5857 |
|
<t> "FILES_SCANNED: 7"</t> |
5858 |
|
<t> "SCANNING: /home/me/gigs/Bosendorfer 290.gig"</t> |
5859 |
|
<t> "STATUS: 42"</t> |
5860 |
|
<t> "."</t> |
5861 |
|
</list> |
5862 |
|
</t> |
5863 |
|
</section> |
5864 |
|
|
5865 |
</section> |
</section> |
5866 |
|
|
5867 |
</section> |
</section> |
5961 |
</t> |
</t> |
5962 |
<t>/ DB_INSTRUMENT_DIRECTORY SP pathname |
<t>/ DB_INSTRUMENT_DIRECTORY SP pathname |
5963 |
</t> |
</t> |
5964 |
<t>/ DB_INSTRUMENTS SP FLAT SP pathname SP pathname |
<t>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP pathname SP pathname |
5965 |
</t> |
</t> |
5966 |
<t>/ DB_INSTRUMENTS SP NON_RECURSIVE SP pathname SP pathname |
<t>/ DB_INSTRUMENTS SP scan_mode SP pathname SP pathname |
5967 |
|
</t> |
5968 |
|
<t>/ DB_INSTRUMENTS SP NON_MODAL SP pathname SP pathname |
5969 |
|
</t> |
5970 |
|
<t>/ DB_INSTRUMENTS SP NON_MODAL SP pathname SP pathname SP instrument_index |
5971 |
</t> |
</t> |
5972 |
<t>/ DB_INSTRUMENTS SP pathname SP pathname |
<t>/ DB_INSTRUMENTS SP pathname SP pathname |
5973 |
</t> |
</t> |
6019 |
</t> |
</t> |
6020 |
<t>/ DB_INSTRUMENT_INFO |
<t>/ DB_INSTRUMENT_INFO |
6021 |
</t> |
</t> |
6022 |
|
<t>/ DB_INSTRUMENTS_JOB_INFO |
6023 |
|
</t> |
6024 |
<t>/ MISCELLANEOUS |
<t>/ MISCELLANEOUS |
6025 |
</t> |
</t> |
6026 |
<t>/ TOTAL_VOICE_COUNT |
<t>/ TOTAL_VOICE_COUNT |
6069 |
</t> |
</t> |
6070 |
<t>/ DB_INSTRUMENT_INFO |
<t>/ DB_INSTRUMENT_INFO |
6071 |
</t> |
</t> |
6072 |
|
<t>/ DB_INSTRUMENTS_JOB_INFO |
6073 |
|
</t> |
6074 |
<t>/ MISCELLANEOUS |
<t>/ MISCELLANEOUS |
6075 |
</t> |
</t> |
6076 |
<t>/ TOTAL_VOICE_COUNT |
<t>/ TOTAL_VOICE_COUNT |
6193 |
</t> |
</t> |
6194 |
<t>/ DB_INSTRUMENT SP INFO SP pathname |
<t>/ DB_INSTRUMENT SP INFO SP pathname |
6195 |
</t> |
</t> |
6196 |
|
<t>/ DB_INSTRUMENTS_JOB SP INFO SP number |
6197 |
|
</t> |
6198 |
<t>/ VOLUME |
<t>/ VOLUME |
6199 |
</t> |
</t> |
6200 |
</list> |
</list> |
6589 |
</t> |
</t> |
6590 |
</list> |
</list> |
6591 |
</t> |
</t> |
6592 |
|
<t>scan_mode = |
6593 |
|
<list> |
6594 |
|
<t>RECURSIVE |
6595 |
|
</t> |
6596 |
|
<t>/ NON_RECURSIVE |
6597 |
|
</t> |
6598 |
|
<t>/ FLAT |
6599 |
|
</t> |
6600 |
|
</list> |
6601 |
|
</t> |
6602 |
|
|
6603 |
<!-- GRAMMAR_BNF_END - do NOT delete or modify this line !!! --> |
<!-- GRAMMAR_BNF_END - do NOT delete or modify this line !!! --> |
6604 |
</section> |
</section> |
7046 |
the new name of the instrument, encapsulated into apostrophes.</t> |
the new name of the instrument, encapsulated into apostrophes.</t> |
7047 |
</section> |
</section> |
7048 |
|
|
7049 |
|
<section title="Database job status information changed" anchor="SUBSCRIBE DB_INSTRUMENTS_JOB_INFO"> |
7050 |
|
<t>Client may want to be notified when the status of particular database |
7051 |
|
instruments job is changed by issuing the following command:</t> |
7052 |
|
<t> |
7053 |
|
<list> |
7054 |
|
<t>SUBSCRIBE DB_INSTRUMENTS_JOB_INFO</t> |
7055 |
|
</list> |
7056 |
|
</t> |
7057 |
|
<t>Server will start sending the following notification messages:</t> |
7058 |
|
<t> |
7059 |
|
<list> |
7060 |
|
<t>"NOTIFY:DB_INSTRUMENTS_JOB_INFO:<job-id>"</t> |
7061 |
|
</list> |
7062 |
|
</t> |
7063 |
|
<t>where <job-id> will be replaced by the numerical ID of the job, |
7064 |
|
which status is changed. The front-end will have to send the respective |
7065 |
|
command to actually get the status info. Because these messages |
7066 |
|
will be triggered by LSCP commands issued by other clients rather than real |
7067 |
|
time events happening on the server, it is believed that an empty notification |
7068 |
|
message is sufficient here.</t> |
7069 |
|
</section> |
7070 |
|
|
7071 |
<section title="Miscellaneous and debugging events" anchor="SUBSCRIBE MISCELLANEOUS"> |
<section title="Miscellaneous and debugging events" anchor="SUBSCRIBE MISCELLANEOUS"> |
7072 |
<t>Client may want to be notified of miscellaneous and debugging events occurring at |
<t>Client may want to be notified of miscellaneous and debugging events occurring at |
7073 |
the server by issuing the following command:</t> |
the server by issuing the following command:</t> |