VTmoon

tunebook 3 tunes.

tune set 1 set of tunes.

Vermont,USA - 74 yrs old - guitar,piano - New England style
Enjoy listening to most ITM - can’t say I play the style.


Fancy Repeat symbols in abc

You will need an abc program that uses a recent version of abcm2ps to successfuly use this code.
Note that EasyABC uses abc2svg for display. I tested the example in EasyABC on windows. I had to turn off automatic line breaking to get it to display properly. I don’t use EasyABC on my linux setup as I have my own program that uses abcm2ps. abc2svg has spotty postscript support.

FANCY REPEAT OPEN:

%%beginps
/thbar{M 2 26 RM currentpoint
-1.7 2 RM 10.5 -1 12 4.5 12 3.5 RC
0 -1 -3.5 -5.5 -8.5 -5.5 RC fill
3 SLW 2 add M
0 exch neg 8 sub RL currentpoint stroke
M -1.7 0 RM
10.5 1 12 -4.5 12 -3.5 RC
0 1 -3.5 5.5 -8.5 5.5 RC fill}def
%%endps

FANCY REPEAT CLOSE:

%%beginps
/thbar{M 2 26 RM currentpoint
1.7 2 RM -10.5 -1 -12 4.5 -12 3.5 RC
0 -1 3.5 -5.5 8.5 -5.5 RC fill
3 SLW 2 add M
0 exch neg 8 sub RL currentpoint stroke
M 1.7 0 RM
-10.5 1 -12 -4.5 -12 -3.5 RC
0 1 3.5 5.5 8.5 5.5 RC fill}def
%%endps

NORMAL REPEAT OPEN AND CLOSE:

%%beginps
/thbar{3 copy M exch pop 0 exch RL 3 0 RL pop neg 0 exch RL -3 0 RL fill}def
%%endps

To use this code you need to insert the FANCY REPEAT OPEN code
before the repeat open ( |: ) you desire to change and insert
the FANCY REPEAT CLOSE code before its matching repeat close ( :| ).
When done with fancy repeats insert the NORMAL REPEAT OPEN AND CLOSE code
to return to normal repeats.

Here is an example:

X:1
T: The Congress
R: reel
M: 4/4
L: 1/8
Q:1/2=100
K:Ador
%%beginps
/thbar{M 2 26 RM currentpoint
-1.7 2 RM 10.5 -1 12 4.5 12 3.5 RC
0 -1 -3.5 -5.5 -8.5 -5.5 RC fill
3 SLW 2 add M
0 exch neg 8 sub RL currentpoint stroke
M -1.7 0 RM
10.5 1 12 -4.5 12 -3.5 RC
0 1 -3.5 5.5 -8.5 5.5 RC fill}def
%%endps
|:eAAG A2Bd|eaaf gedg|eAcA eAcA|BGGA Bdeg|
%%beginps
/thbar{M 2 26 RM currentpoint
1.7 2 RM -10.5 -1 -12 4.5 -12 3.5 RC
0 -1 3.5 -5.5 8.5 -5.5 RC fill
3 SLW 2 add M
0 exch neg 8 sub RL currentpoint stroke
M 1.7 0 RM
-10.5 1 -12 -4.5 -12 -3.5 RC
0 1 3.5 5.5 8.5 5.5 RC fill}def
%%endps
eAAG A2Bd|eaaf gedB|cBcd eged|cABG A2Bd:|
%%beginps
/thbar{3 copy M exch pop 0 exch RL 3 0 RL pop neg 0 exch RL -3 0 RL fill}def
%%endps
|:eaag abag|eaag egdg|egdg egdg|eaaf gedg|
eaag a2ag|eaaf gedB|c2cd e2ed|cABG A2Bd:|

Explanation (optional reading)

abcm2ps outputs a postscript file.
A postscript file is a plain text file
that can be viewed in a text editor.
Near the beginning of the file, in a section
labeled %%BeginSetup , are definitions of
postscript procedures. One of these procedures
has the name /thbar. Ghostscript or the device used
to render the postscript code uses it to draw
the thick bar in repeats. My code redefines
/thbar using an extension to the abc spec
that is recognized by abcm2ps:

%%beginps
( the new postscript code )
%%endps

abcm2ps will "call" thbar with 3 numbers on the stack:
staff height,
x position of left edge of a normal repeat,
and y position of the bottom line of the staff.
These need to be taken into account when redefining /thbar.
Please be aware that going down on a postscript
page is a negative number and going up is a positive number.
To move down the page use a negative y.