<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!--Converted with LaTeX2HTML 2008 (1.71) original version by: Nikos Drakos, CBLU, University of Leeds * revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan * with significant contributions from: Jens Lippmann, Marek Rouchal, Martin Wilck and others --> <HTML> <HEAD> <TITLE>Begin/End Blocks</TITLE> <META NAME="description" CONTENT="Begin/End Blocks"> <META NAME="keywords" CONTENT="mma"> <META NAME="resource-type" CONTENT="document"> <META NAME="distribution" CONTENT="global"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <META NAME="Generator" CONTENT="LaTeX2HTML v2008"> <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> <LINK REL="STYLESHEET" HREF="mma.css"> <LINK REL="next" HREF="node26.html"> <LINK REL="previous" HREF="node24.html"> <LINK REL="up" HREF="mma.html"> <LINK REL="next" HREF="node26.html"> </HEAD> <BODY bgcolor="#ffffff"> <DIV CLASS="navigation"><!--Navigation Panel--> <A NAME="tex2html827" HREF="node26.html"> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <A NAME="tex2html825" HREF="mma.html"> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <A NAME="tex2html819" HREF="node24.html"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <BR> <B> Next:</B> <A NAME="tex2html828" HREF="node26.html">Documentation Strings</A> <B> Up:</B> <A NAME="tex2html826" HREF="mma.html">Reference Manual</A> <B> Previous:</B> <A NAME="tex2html820" HREF="node24.html">Other Commands and Directives</A> <BR> <BR></DIV> <!--End of Navigation Panel--> <!--Table of Child-Links--> <A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A> <UL CLASS="ChildLinks"> <LI><A NAME="tex2html829" HREF="node25.html#SECTION002510000000000000000">Begin</A> <LI><A NAME="tex2html830" HREF="node25.html#SECTION002520000000000000000">End</A> </UL> <!--End of Table of Child-Links--> <HR> <H1><A NAME="SECTION002500000000000000000"></A> <A NAME="sec-blocks"></A> <BR> Begin/End Blocks </H1> <P> Entering a series of directives for a specific track can get quite tedious. To make the creation of library files a bit easier, you can create a block. For example, the following: <P> <Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3> <tr><td> <B>Drum Define X 0 2 100; 50 2 90 <BR> Drum Define Y 0 2 100 <BR> Drum Sequence X Y </B> </td></tr> </Table> <P> Can be replaced with: <P> <Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3> <tr><td> <B>Drum Begin <BR> Define X 0 2 100; 50 2 90 <BR> Define Y 0 2 100 End <BR> Drum Sequence X Y </B> </td></tr> </Table> <P> Or, even more simply, with: <P> <Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3> <tr><td> <B>Drum Begin Define <BR> X 0 2 100; 50 2 90 <BR> Y 0 2 100 <BR> End </B> </td></tr> </Table> <P> If you examine some of the library files you will see that this shortcut is used a lot. <P> <H1><A NAME="SECTION002510000000000000000"> Begin</A> </H1> <P> The B<SMALL>EGIN</SMALL> command requires any number of arguments. Valid examples include: <P> <Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3> <tr><td> <B>Begin Drum <BR> Begin Chord2 <BR> Begin Walk Define </B> </td></tr> </Table> <P> Once a B<SMALL>EGIN</SMALL> block has been entered, all subsequent lines have the words from the B<SMALL>EGIN</SMALL> command prepended to each line of data. There is not much magic here--B<SMALL>EGIN</SMALL>/E<SMALL>ND</SMALL> is really just some syntactic sugar. <P> <H1><A NAME="SECTION002520000000000000000"> End</A> </H1> <P> To finish off a B<SMALL>EGIN</SMALL> block, use a single E<SMALL>ND</SMALL> on a line by itself. <P> Defining musical data, repeats, or other B<SMALL>EGIN</SMALL>s inside a block (other than COMMENT blocks) will not work. <P> Nesting is permitted, e.g.: <P> <Table Hspace="40%" CellSpacing=0 CellPadding=10 BGColor="OldLace" Border=3> <tr><td> <B>Scale Begin <BR> Begin Define <BR> </B><SPAN CLASS="textit">stuff</SPAN><B> <BR> End <BR> Sequence </B><SPAN CLASS="textit">stuff</SPAN><B> <BR> End </B> </td></tr> </Table> <P> A B<SMALL>EGIN</SMALL> must be competed with a E<SMALL>ND</SMALL> before the end of a file, otherwise an error will be generated. The U<SMALL>SE</SMALL> and I<SMALL>NCLUDE</SMALL> commands are not permitted inside a block. <P> <DIV CLASS="navigation"><HR> <!--Navigation Panel--> <A NAME="tex2html827" HREF="node26.html"> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <A NAME="tex2html825" HREF="mma.html"> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <A NAME="tex2html819" HREF="node24.html"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <BR> <B> Next:</B> <A NAME="tex2html828" HREF="node26.html">Documentation Strings</A> <B> Up:</B> <A NAME="tex2html826" HREF="mma.html">Reference Manual</A> <B> Previous:</B> <A NAME="tex2html820" HREF="node24.html">Other Commands and Directives</A></DIV> <!--End of Navigation Panel--> <ADDRESS> bob 2010-11-07 </ADDRESS> </BODY> </HTML>