ViewVC logotype

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

Parent Directory Parent Directory | Revision Log Revision Log

Revision 2817 - (hide annotations) (download) (as text)
Sat Jul 18 19:13:08 2015 UTC (4 years, 11 months ago) by schoenebeck
File MIME type: text/html
File size: 5994 byte(s)
- Minor corrections to LSCP shell article.

1 schoenebeck 2809 <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 schoenebeck 2810 typing. In contrast to other shells you don't need to
25 schoenebeck 2817 hit a special key over and over again for that. These hints are always
26 schoenebeck 2810 automatically displayed right next to your text cursor (in yellow color).
27 schoenebeck 2809 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 schoenebeck 2817 grab for the LSCP specification document, and provide a huge speed up of
59 schoenebeck 2809 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 schoenebeck 2817 shell will check your command line for trivial mistakes, automatically
83 schoenebeck 2809 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 schoenebeck 2817 <h2>What next?</h2>
107     <p>
108     If you have never been in touch with LSCP before, you might have a look
109     at the latest
110     <a href="http://www.linuxsampler.org/api/draft-linuxsampler-protocol.html">LSCP specification document</a>
111     first.
112     </p>
114 schoenebeck 2809 </body>
115     </html>

  ViewVC Help
Powered by ViewVC