Fast bar numbering in your editor. A white line is filled with a bar. Other lines _ending_ with "|" get numbers. No notice is taken of "|" which does not end line. Begin any number, step any number. b=1 and s=1 is the default.
------------------------------------- To use, make cb.awk executable in path examples: $ cb.awk myfile.ly > (redirect output) $ cat myfile.ly | cb.awk $ cb.awk s=8 myfile.ly $ cat myfile.ly | cb.awk b=1 s=1 $ lynn.sed myfile.ly | rbc.sed | cb.awk in emacs, on selected text: C+u, 0, M+|, "cb.awk", <enter> if you don't like the result, undo. nedit similarly ---------------------- #!/usr/bin/awk -f # cb.awk: count-bars: number bars # arg form: b=startnum s=stepnum BEGIN{i = 0; b = 1; s = 1} # does not end with bar[+w] and is not empty !/\|[ \t]*$,!^[ \t]*$/ {k=$0} # is white /^[ \t]*$/ {k="\t| %" (b + s*i++)} # has bar only in /^[ \t]*\|[ \t]*$/ {k="\t| %" (b + s*i++)} # has text and bar /^.*[^ \t].*\|[ \t]*$[ \t]*/ {k=$0 " %" (b + s*i++)} {print k} ------------------------------ ly-neaten-notes: lynn.sed \\{ and }>> are grouped, for easier reading, etc. ------------------------ #!/bin/sed -f # ly-neaten-notes: lynn.sed # neatens ly notes # spaces around all bars on # lines without double quotes /"/! s/ *| */ | /g # singlespace all: no tabs s/\t/ /g s/ */ /g # space inside curlies for notes s/{ */{ /g s/ *}/ }/g # sequences of curlies, etc., nospaced. s/< /</g s/ >/>/g s/></> </g s/} *\\\\ *{/}\\\\{/g # the same symbol requires evens and odds s/{ {/{{/g s/} }/}}/g s/{ {/{{/g s/} }/}}/g s/} {/}{/g # strip lines s/^ *// s/ *$// # tab before bar at beginning of line s/^|/\t|/ # tab before lone comment s/^%$/\t%/ # two spaces before curly at beginning of line # if not at end of line, and rest of line moved to next. /}$/! s/^}/ }\n/ # lone curly, two spaces s/^}/ }/ ------------------------------ to undo bar numbering for fast renumbering: ---------------------- #!/bin/sed -f # remove-bar-count: rbc.sed # restores file to state before cb.awk # strip end whitespace, which also cleans empties s/[\t ]*$// # strip bar-comment-number, each required, # from end of line, replace bar. s/|[\t ]*%[\t ]*[0-9][0-9]*$/|/ # erase bar from otherwise white line s/^[\t ]*[|][\t ]*$// ----------------------------- found minor bug working with this stuff: \version "2.13.22" \score { \new Staff { \clef "G_8" \time 2/4 \repeat volta 2 { % meas. 1 (and 5): a b | %2 c d | %3 e f } \alternative{{ a b } | % Problem: "|" here. _comment ok_. { a c }} | %4 easy workaround: supply extra barchecks | %5 | %6 a b } } -- For beginners: very easy guitar music, solos, duets, exercises. Early intermediate guitar solos. One best scale set for all guitarists. http://www.openguitar.com/scalescomparison.html ::: plus new and better chord and arpeggio exercises. http://www.openguitar.com _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user