ViewVC logotype

Contents of /doc/docbase/lscp_shell/01_lscp_shell.html

Parent Directory Parent Directory | Revision Log Revision Log

Revision 2810 - (show annotations) (download) (as text)
Sat Jul 18 11:30:04 2015 UTC (5 years, 11 months ago) by schoenebeck
File MIME type: text/html
File size: 5727 byte(s)
- Minor correction in LSCP shell article.

1 <html>
2 <head>
3 <meta name="author" content="Christian Schoenebeck">
4 <title>LSCP Shell</title>
5 <meta name="description" content="The LinuxSampler Control Protocol Shell allows you to control the sampler from the command line.">
6 <link rel="stylesheet" href="http://doc.linuxsampler.org/css/preview.css">
7 <script type="text/javascript" src="http://doc.linuxsampler.org/js/preview.js"></script>
8 </head>
9 <body>
10 <p>
11 The command line application <i caption="LinuxSampler Control Protocol">lscp</i>
12 is a text based shell for controlling the sampler entirely from the
13 command line, providing colored output, type completion, help text while
14 typing LSCP commands and other convenient features for terminal
15 enthusiasts who want to use the sampler without any
16 <i caption="Graphical User Interface">GUI</i> frontend application.
17 </p>
18 <img src="lscp_shell.png" caption="LSCP Shell">
20 <h3>Visual Feedback</h3>
21 <p>
22 As you can see on the screen shot above, the LSCP shell displays all
23 possibilities to complete the current command in real-time while you are
24 typing. In contrast to other shells you don't need to
25 hit a special key over and over for that. These hints are always
26 automatically displayed right next to your text cursor (in yellow color).
27 Also the color of your current command line changes while you are typing:
28 <ol>
29 <li><b>White:</b>
30 As long as the current command line is incomplete, it will be
31 displayed in white color.
32 </li>
33 <li><span style="color:red;"><b>Red:</b></span>
34 You accidently hit the wrong key? The shell will automatically mark
35 mistyped characters in red color, that is only the part of your
36 command line which is wrong. So you immediately see that your command
37 line is wrong before even hitting the return key and you also see
38 which characters you have to delete with backspace to correct the
39 current command line.
40 </li>
41 <li><span style="color:green;"><b>Green:</b></span>
42 As soon as your current command line is complete and correct, the
43 line will change to green color, so you immediately see that you may
44 now trigger the return key.
45 </li>
46 </ol>
47 There is even more: as soon as the shell detects which LSCP command you
48 are going to fire, which may be long before you actually complete the
49 current command line, the shell will automatically display a detailed
50 description for that LSCP command, taken from the LSCP specification
51 document. These text sections are automatically grabbed from the LSCP
52 specification document at compile time and built into the shell. So there
53 is no special document directory structure or even an Internet connection
54 required for that feature.
55 </p>
56 <p>
57 So these visual feedback features reduce the amount of times you have to
58 grab for the LSCP specification documents, and provide a huge speed up of
59 your LSCP typing tasks.
60 </p>
62 <h3>Type Completion</h3>
63 <p>
64 As with other shells, you may hit the tab key to auto complete your current
65 command line. However in contrast to other shells this feature is not
66 limited to a small set of keywords, this feature is directly combined with
67 the real LSCP parser module, and thus it completes your command line as
68 much as possible, which may include a sequence of several keywords, and
69 may also stop at a certain character within a keyword. In other words: it
70 auto completes as much characters until a position is reached where a
71 human decision is required.
72 </p>
74 <h3>Automatic Correction of trivial Errors</h3>
75 <p>
76 There are days when things must go fast, when you may even not have the
77 time to care about the visual feedback features described above. On such
78 days it happens that you fire commands with the shell that may have typos
79 and other mistakes. The LSCP shell will help you and automatically
80 corrects trivial mistakes for you. So after you fired a command with the
81 return key, the command line will be checked, and if it is incorrect, the
82 shell will check for your command line for trivial mistakes, automatically
83 correct those errors for you, display the updated, corrected command line
84 in the shell and execute it with the sampler. Or do you want to get
85 bothered for things like upper/lower case or space/underscore confusions?
86 </p>
88 <h3>Always up to date</h3>
89 <p>
90 You may think that those mentioned automation features may only work for
91 a certain part of the LSCP protocol, or that they may lag behind new LSCP
92 extensions or changes. Fortunately this never the case! As with modern
93 development environments, the LSCP shell is directly connected with the
94 sampler's real LSCP parser module. That means whenever there are any
95 changes to either the LSCP protocol (i.e. keywords and grammar rules) or
96 to the LSCP specification document, they will automatically also be
97 available to the LSCP shell. So it does not require any further
98 development effort to maintain the shell and keep track of the latest
99 LSCP features. And since the LSCP shell is designed as thin client, you
100 may even use an old version of the LSCP shell on your local machine and
101 use it to control a remote computer with a more recent LinuxSampler (and
102 LSCP) version, without missing any of the latest LSCP changes with the
103 shell's automation features.
104 </p>
106 </body>
107 </html>

  ViewVC Help
Powered by ViewVC