X-Git-Url: https://git.distorted.org.uk/~mdw/mup/blobdiff_plain/cdb3c0882392596f814cf939cbfbd38adc6f2bfe..ddf6330b56bcfb657e0186b24b9b1422c51d3424:/mup/docs/uguide/crossbar.html diff --git a/mup/docs/uguide/crossbar.html b/mup/docs/uguide/crossbar.html new file mode 100644 index 0000000..dbe709c --- /dev/null +++ b/mup/docs/uguide/crossbar.html @@ -0,0 +1,73 @@ + + +Cross-bar beaming + + +

+   <-- previous page + +     Table of Contents    next page --> +

+ +

+Cross-bar beaming +

+

+Generally, beams do not cross bar lines, and Mup follows that rule. +However, if you want beams to cross a bar line, there are at least two +possible approaches to getting the +desired effect. The first is to explicitly specify +stem lengths +such that all the beams in the various measures will lie on the same line. +You can then use the +line command +to fill in the gaps in the beams across the bar lines. +

+

+The other approach is to draw in the bar line using the "line" construct. +To do this you first tell Mup that a measure is twice as long as is really +is, so that you can put two actual measures inside what Mup thinks is a +single measure. Here is an example. +

+// First make an empty measure ending with an
+// invisible bar. This is for the sole purpose
+// of allowing the real time signature to be
+// printed and would not be necessary if we
+// wanted to cross a bar line other than
+// the very first bar line of the piece.
+1: ms;
+invisbar
+
+// Now, make the effective time signature twice
+// as long as the real time signature, but use 'n' so this fake
+// time signature is not actually printed.
+// Set up for beaming across the entire double-length measure.
+// (You could could use other beamstyles if you wish, or custom beaming.)
+score time=8/4n
+beamstyle=1/2
+music
+
+// Now do the double-length measure. On the chord
+// just after where we want a bar line, add some extra
+// padding and set a location tag so that we can draw
+// a bar line relative to the tag.
+1: 8c;e;f;d;g;e;f;a; [pad 3; =a]g;e;f;a;g;d+;4c+;
+// Also set a location tag on the next bar line,
+// so that we can get the vertical endpoints of the
+// bar line that we draw from the endpoints of the
+// normal Mup-supplied bar line.
+bar =b
+
+// Now draw the bar line that goes through the beam.
+// Use the horizontal position relative to the "a"
+// location tag on the chord in the second actual measure,
+// and get the vertical endpoints from the "b" tag
+// associated with the next bar line.
+line (a.w + 1, b.y + 4) to (a.w + 1, b.y - 4)
+

+Picture of Mup output
+

+

+   <-- previous page     Table of Contents    next page --> +

+