--- linuxsampler/trunk/Documentation/lscp.xml 2007/05/16 14:37:22 1188
+++ linuxsampler/trunk/Documentation/lscp.xml 2007/05/24 14:04:18 1200
@@ -5202,7 +5202,7 @@
to the instruments database by sending the following command:
- ADD DB_INSTRUMENTS [<mode>] <db_dir> <file_path> [<instr_index>]
+ ADD DB_INSTRUMENTS [NON_MODAL] [<mode>] <db_dir> <file_path> [<instr_index>]
Where <db_dir> is the absolute path name of a directory
@@ -5220,6 +5220,14 @@
scanning will be done and has exactly the following possibilities:
+ "RECURSIVE" -
+
+ All instruments will be processed, including those
+ in the subdirectories, and the respective subdirectory
+ tree structure will be recreated in the instruments
+ database
+
+
"NON_RECURSIVE" -
Only the instruments in the specified directory
@@ -5236,23 +5244,29 @@
the specified database directory.
- not supplied -
-
- 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.
-
-
+ The difference between regular and NON_MODAL versions of the command
+ is that the regular command returns when the scanning is finished
+ while NON_MODAL version returns immediately and a background process is launched.
+ The GET DB_INSTRUMENTS_JOB INFO
+ command can be used to monitor the scanning progress.
+
Possible Answers:
"OK" -
- on success
+ on success when NON_MODAL is not supplied
+
+
+ "OK[<job-id>]" -
+
+ on success when NON_MODAL is supplied, where <job-id>
+ is a numerical ID used to obtain status information about the job progress.
+ See GET DB_INSTRUMENTS_JOB INFO
+
"ERR:<error-code>:<error-message>" -
@@ -5784,6 +5798,70 @@
+
+ The front-end can ask for the current status of a
+ particular database instruments job by sending the following command:
+
+
+ GET DB_INSTRUMENTS_JOB INFO <job-id>
+
+
+ Where <job-id> should be replaced by the numerical ID
+ of the job the front-end is interested in.
+
+ Possible Answers:
+
+
+ LinuxSampler will answer by sending a <CRLF> separated list.
+ Each answer line begins with the settings category name
+ followed by a colon and then a space character <SP> and finally
+ the info character string to that setting category. At the
+ moment the following categories are defined:
+
+
+
+ FILES_TOTAL -
+
+ The total number of files scheduled for scanning
+
+
+ FILES_SCANNED -
+
+ The current number of scanned files
+
+
+ SCANNING -
+
+ The absolute path name of the file which is currently
+ being scanned
+
+
+ STATUS -
+
+ An integer value between 0 and 100 indicating the
+ scanning progress percentage of the file which is
+ currently being scanned
+
+
+
+
+
+
+ The mentioned fields above don't have to be in particular order.
+
+ Example:
+
+
+ C: "GET DB_INSTRUMENTS_JOB INFO 2"
+ S: "FILES_TOTAL: 12"
+ "FILES_SCANNED: 7"
+ "SCANNING: /home/me/gigs/Bosendorfer 290.gig"
+ "STATUS: 42"
+ "."
+
+
+
+
@@ -5883,9 +5961,13 @@
/ DB_INSTRUMENT_DIRECTORY SP pathname
- / DB_INSTRUMENTS SP FLAT SP pathname SP pathname
+ / DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP pathname SP pathname
- / DB_INSTRUMENTS SP NON_RECURSIVE SP pathname SP pathname
+ / DB_INSTRUMENTS SP scan_mode SP pathname SP pathname
+
+ / DB_INSTRUMENTS SP NON_MODAL SP pathname SP pathname
+
+ / DB_INSTRUMENTS SP NON_MODAL SP pathname SP pathname SP instrument_index
/ DB_INSTRUMENTS SP pathname SP pathname
@@ -5937,6 +6019,8 @@
/ DB_INSTRUMENT_INFO
+ / DB_INSTRUMENTS_JOB_INFO
+
/ MISCELLANEOUS
/ TOTAL_VOICE_COUNT
@@ -5985,6 +6069,8 @@
/ DB_INSTRUMENT_INFO
+ / DB_INSTRUMENTS_JOB_INFO
+
/ MISCELLANEOUS
/ TOTAL_VOICE_COUNT
@@ -6107,6 +6193,8 @@
/ DB_INSTRUMENT SP INFO SP pathname
+ / DB_INSTRUMENTS_JOB SP INFO SP number
+
/ VOLUME
@@ -6501,6 +6589,16 @@
+scan_mode =
+
+ RECURSIVE
+
+ / NON_RECURSIVE
+
+ / FLAT
+
+
+
@@ -6948,6 +7046,28 @@
the new name of the instrument, encapsulated into apostrophes.
+
+ Client may want to be notified when the status of particular database
+ instruments job is changed by issuing the following command:
+
+
+ SUBSCRIBE DB_INSTRUMENTS_JOB_INFO
+
+
+ Server will start sending the following notification messages:
+
+
+ "NOTIFY:DB_INSTRUMENTS_JOB_INFO:<job-id>"
+
+
+ where <job-id> will be replaced by the numerical ID of the job,
+ which status is changed. The front-end will have to send the respective
+ command to actually get the status info. Because these messages
+ will be triggered by LSCP commands issued by other clients rather than real
+ time events happening on the server, it is believed that an empty notification
+ message is sufficient here.
+
+
Client may want to be notified of miscellaneous and debugging events occurring at
the server by issuing the following command: