Commit | Line | Data |
---|---|---|
69695f33 MW |
1 | <HTML> |
2 | <HEAD><TITLE> | |
3 | Cross-bar beaming | |
4 | </TITLE></HEAD> | |
5 | <BODY> | |
6 | <P> | |
7 | <A HREF="brackmac.html"><-- previous page</A> | |
8 | ||
9 | <A HREF="index.html">Table of Contents</A> <A HREF="mixtsig.html">next page --></A> | |
10 | </P> | |
11 | ||
12 | <H2> | |
13 | Cross-bar beaming | |
14 | </H2> | |
15 | <P> | |
16 | Generally, beams do not cross bar lines, and Mup follows that rule. | |
17 | However, if you want beams to cross a bar line, there are at least two | |
18 | possible approaches to getting the | |
19 | desired effect. The first is to explicitly specify | |
20 | <A HREF="chrdattr.html#stemlen">stem lengths</A> | |
21 | such that all the beams in the various measures will lie on the same line. | |
22 | You can then use the | |
23 | <A HREF="linecurv.html">line command</A> | |
24 | to fill in the gaps in the beams across the bar lines. | |
25 | </P> | |
26 | <P> | |
27 | The other approach is to draw in the bar line using the "line" construct. | |
28 | To do this you first tell Mup that a measure is twice as long as is really | |
29 | is, so that you can put two actual measures inside what Mup thinks is a | |
30 | single measure. Here is an example. | |
31 | <BR><PRE> | |
32 | // First make an empty measure ending with an | |
33 | // invisible bar. This is for the sole purpose | |
34 | // of allowing the real time signature to be | |
35 | // printed and would not be necessary if we | |
36 | // wanted to cross a bar line other than | |
37 | // the very first bar line of the piece. | |
38 | 1: ms; | |
39 | invisbar | |
40 | ||
41 | // Now, make the effective time signature twice | |
42 | // as long as the real time signature, but use 'n' so this fake | |
43 | // time signature is not actually printed. | |
44 | // Set up for beaming across the entire double-length measure. | |
45 | // (You could could use other beamstyles if you wish, or custom beaming.) | |
46 | score time=8/4n | |
47 | beamstyle=1/2 | |
48 | music | |
49 | ||
50 | // Now do the double-length measure. On the chord | |
51 | // just after where we want a bar line, add some extra | |
52 | // padding and set a location tag so that we can draw | |
53 | // a bar line relative to the tag. | |
54 | 1: 8c;e;f;d;g;e;f;a; [pad 3; =a]g;e;f;a;g;d+;4c+; | |
55 | // Also set a location tag on the next bar line, | |
56 | // so that we can get the vertical endpoints of the | |
57 | // bar line that we draw from the endpoints of the | |
58 | // normal Mup-supplied bar line. | |
59 | bar =b | |
60 | ||
61 | // Now draw the bar line that goes through the beam. | |
62 | // Use the horizontal position relative to the "a" | |
63 | // location tag on the chord in the second actual measure, | |
64 | // and get the vertical endpoints from the "b" tag | |
65 | // associated with the next bar line. | |
66 | line (a.w + 1, b.y + 4) to (a.w + 1, b.y - 4) | |
67 | </PRE><BR> | |
68 | <IMG SRC="mugex93.gif" ALT="Picture of Mup output"><BR> | |
69 | </P> | |
70 | <HR><P> | |
71 | <A HREF="brackmac.html"><-- previous page</A> <A HREF="index.html">Table of Contents</A> <A HREF="mixtsig.html">next page --></A> | |
72 | </P> | |
73 | </BODY></HTML> |