Gillymore, as far as I can remember, abcmp2s had 2 modes of tab operation and I think one of them invloved defining some symbols and writing your own instructions in the abc - I've not tried this mode. The mode that mandolintab uses is pretty basic. It just responds to something like an "on draw note" event. As such, it's fine for simple things like a whistle or say my single note open position playing on mandolin but I don't think it would be usable for much else even if you could (and I can't...) work out how to do the sort of things Jack mentions. Having said it's basic, it involves some (to me very weird and I never properly got my head round it - a lot of trial and error...) postscript work. I don't know if Simon has altered it since but this is the mandolin tab postcript as I left it: beginps /m_head{/Helvetica 10 selectfont 0 -5 M 90 rotate(Mandolin)show -90 rotate pop m_lines newpath }! /m_lines{ 0 10 30 { dup 10 exch moveto 660 exch lineto }for stroke }! /m_fret{ /Helvetica 20 selectfont jf_fret 9 gt {-15}{-8}ifelse jf_string 10 mul moveto %jf_fret 2 string cvs show jf_fret[(0)(1)(2)(3)(4)(5)(6)(7)(8)(9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (22) (23) (24) (25)]exch get show }! /m_nofret{ /Helvetica 20 selectfont -5 15 moveto (X) show }! /m_note{gsave -6 T /jf_note exch def /jf_oct exch def jf_oct 0 ge { jf_note 7 lt { /jf_string 0 def /jf_fret jf_note def }{ jf_note 14 lt { /jf_string 1 def /jf_fret jf_note 7 sub def }{ jf_note 21 lt { /jf_string 2 def /jf_fret jf_note 14 sub def }{ /jf_string 3 def /jf_fret jf_note 21 sub def jf_oct 0 gt {/jf_fret jf_note 9 sub def}if %not sure why! }ifelse }ifelse }ifelse m_fret }{ m_nofret }ifelse %oct grestore }! endps[/pre]
|