Annotation of embedaddon/mpd/doc/mpd59.html, revision 1.1.1.2

1.1       misho       1: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
                      2: <HTML>
                      3: <HEAD>
                      4: <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
                      5: <TITLE>Script commands</TITLE>
                      6: </HEAD>
                      7: <BODY text="#000000" bgcolor="#ffffff">
                      8: 
1.1.1.2 ! misho       9: <A HREF="mpd.html"><EM>Mpd 5.7 User Manual</EM></A>
1.1       misho      10:  <b>:</b> <A HREF="mpd50.html"><EM>Chat Scripting</EM></A>
                     11:  <b>:</b> <EM>Script commands</EM><BR>
                     12: <b>Previous:</b> <A HREF="mpd58.html"><EM>Special variables</EM></A><BR>
                     13: <b>Next:</b> <A HREF="mpd60.html"><EM>Errors</EM></A>
                     14: 
                     15: 
                     16: <HR NOSHADE>
                     17:   <H2><A NAME="59"></A>6.5. Script commands</H2>
                     18: <p>
                     19: <dl>
                     20: 
                     21: <dt><b><code>set $<em>variable-name</em> <em>string</em> </code></b><dd><p>Set the <code>$<em>variable-name</em></code> equal to
                     22: <code><em>string</em></code>. The <code><em>string</em></code> is
                     23: variable expanded first.</p>
                     24: 
                     25: <dt><b><code>match <em>name</em> <em>string</em> <em>label</em> </code></b><dd>
                     26: <dt><b><code>match <em>string</em> <em>label</em> </code></b><dd>
                     27: <dt><b><code>match <em>string</em> </code></b><dd>
                     28: <p>Add a new pending event to event set <code><em>name</em></code>
                     29: such that when <code><em>string</em></code> is seen in the input,
                     30: resume execution at <code><em>label</em></code>. The match must
                     31: be exact. All arguments are variable expanded.</p>
                     32: <p>If no <code><em>name</em></code> is given, or if <code><em>name</em></code>
                     33: is the empty string, add the new event to the default set.</p>
                     34: <p>If no <code><em>label</em></code> is given, or if <code><em>label</em></code>
                     35: is the empty string, the event causes execution to resume
                     36: starting with the statement following the <code>wait</code> command
                     37: (i.e., use the default target).</p>
                     38: 
                     39: <dt><b><code>regex <em>name</em> <em>pattern</em> <em>label</em> </code></b><dd>
                     40: <dt><b><code>regex <em>pattern</em> <em>label</em> </code></b><dd>
                     41: <dt><b><code>regex <em>pattern</em> </code></b><dd>
                     42: <p>Same as the <code>match</code> command, but matches an extended
                     43: regular expression instead of an exact string. If
                     44: <code><em>pattern</em></code> is not a valid extended regular
                     45: expression, the script fails.</p>
                     46: <p>Regular expressions are matched on a line-by-line basis; the
                     47: input matching the pattern cannot span more than one line.  A
                     48: line is terminated with either a newline or a carriage return-newline
                     49: pair (the latter is more common). An end-of-line should
                     50: be matched using a dollar sign rather than trying to match these
                     51: characters directly, as mpd elides them from the input when
                     52: testing the regular expression.</p>
                     53: <p>See <code>re_format(7)</code> for more information about extended
                     54: regular expressions.</p>
                     55: 
                     56: <dt><b><code>timer <em>name</em> <em>seconds</em> <em>label</em> </code></b><dd>
                     57: <dt><b><code>timer <em>seconds</em> <em>label</em> </code></b><dd>
                     58: <dt><b><code>timer <em>seconds</em> </code></b><dd>
                     59: <p>Add a new pending event to set <code><em>name</em></code> such that
                     60: when <code><em>seconds</em></code> seconds have elapsed,
                     61: resume execution at <code><em>label</em></code>.
                     62: All arguments are variable expanded.</p>
                     63: <p>If no <code><em>name</em></code> is given, or if <code><em>name</em></code>
                     64: is the empty string, add the new event to the default set.</p>
                     65: <p>If no <code><em>label</em></code> is given, or if <code><em>label</em></code>
                     66: is the empty string, the event causes execution to resume
                     67: starting with the statement following the <code>wait</code> command
                     68: (i.e., use the default target).</p>
                     69: 
                     70: <dt><b><code>wait </code></b><dd>
                     71: <dt><b><code>wait <em>seconds</em> </code></b><dd>
                     72: <p>In the first form, wait indefinitely for any event to happen.
                     73: When an event happens, continue execution starting at the target
                     74: label for that event.</p>
                     75: <p>The second form is equivalent to:</p>
                     76: <p>
                     77: <blockquote><code>
                     78: <code>timer <em>seconds</em><br>
                     79: wait</code>
                     80: </code></blockquote>
                     81: </p>
                     82: 
                     83: <dt><b><code>if <em>string1</em> == <em>string2</em>
                     84: <em>command</em> </code></b><dd>
                     85: <dt><b><code>if <em>string1</em> != <em>string2</em>
                     86: <em>command</em> </code></b><dd>
                     87: <p>Executes <code><em>command</em></code> if the two variable expanded
                     88: strings are equal or not equal.</p>
                     89: 
                     90: <dt><b><code>if <em>string</em> match <em>pattern</em>
                     91: <em>command</em> </code></b><dd>
                     92: <dt><b><code>if <em>string</em> !match <em>pattern</em>
                     93: <em>command</em> </code></b><dd>
                     94: <p>Tests <code><em>string</em></code> against the regular expression
                     95: <code><em>pattern</em></code> and executes <code><em>command</em></code>
                     96: if <code><em>string</em></code> matches or does not match.  Both
                     97: <code><em>string</em></code> and <code><em>pattern</em></code> are
                     98: variable expanded first.</p>
                     99: 
                    100: <dt><b><code>print <em>string</em> </code></b><dd><p>Ouput the <code><em>string</em></code> to the serial port.
                    101: Variables are expanded, and the normal mpd C-style character
                    102: escapes may be used.</p>
                    103: 
                    104: <dt><b><code>cancel <em>name1</em> [ <em>name2</em> ... ] </code></b><dd><p>Cancel all pending events in the sets <code><em>name1</em></code>,
                    105: <code><em>name2</em></code>, etc.
                    106: It is not an error to cancel a set which is already empty.</p>
                    107: 
                    108: <dt><b><code>goto <em>label</em> </code></b><dd><p>Jump to label <code><em>label</em></code>.</p>
                    109: 
                    110: <dt><b><code>call <em>label</em> </code></b><dd><p>Call a subroutine at <code><em>label</em></code>.</p>
                    111: 
                    112: <dt><b><code>return </code></b><dd><p>Return from subroutine.</p>
                    113: 
                    114: <dt><b><code>success </code></b><dd><p>Exit the script successfully.</p>
                    115: 
                    116: <dt><b><code>failure </code></b><dd><p>Exit the script unsuccessfully.</p>
                    117: 
                    118: <dt><b><code>log <em>string</em> </code></b><dd><p>Print <code><em>string</em></code>, variable expanded, to the log
                    119: file under logging level CHAT.</p>
                    120: 
                    121: </dl>
                    122: </p>
                    123: 
                    124:  <HR NOSHADE>
1.1.1.2 ! misho     125: <A HREF="mpd.html"><EM>Mpd 5.7 User Manual</EM></A>
1.1       misho     126:  <b>:</b> <A HREF="mpd50.html"><EM>Chat Scripting</EM></A>
                    127:  <b>:</b> <EM>Script commands</EM><BR>
                    128: <b>Previous:</b> <A HREF="mpd58.html"><EM>Special variables</EM></A><BR>
                    129: <b>Next:</b> <A HREF="mpd60.html"><EM>Errors</EM></A>
                    130: 
                    131: 
                    132: 
                    133: </BODY>
                    134: </HTML>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>