From: Han-Wen Nienhuys Date: Wed, 12 Jun 2002 08:54:40 +0000 (+0000) Subject: '' X-Git-Tag: release/1.5.61~10 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=a57026bfb09e64d4c1e9efd844952da9348a9542;p=lilypond.git '' --- diff --git a/ChangeLog b/ChangeLog index 8dc0c187b6..81e29a305b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2002-06-12 Han-Wen + + * scm/grob-description.scm (all-grob-descriptions): add + font-family to RehearsalMark + + * scm/drums.scm: move over definitions from drum-pitch-init.ly + + * lily/volta-bracket.cc (brew_molecule): bugfix, don't do anything + if glyph not set. + 2002-06-12 Heikki Junes * lilypond-mode.el: Propose saving before applying a command: diff --git a/Documentation/regression-test.tely b/Documentation/regression-test.tely index 4154bbaa3b..28717c25ae 100644 --- a/Documentation/regression-test.tely +++ b/Documentation/regression-test.tely @@ -31,6 +31,8 @@ documenting bugfixes. @lilypondfile[printfilename]{easy-notation.ly} +@lilypondfile[printfilename]{drums.ly} + @section Rests @lilypondfile[printfilename]{rest-ledger.ly} diff --git a/input/regression/drums.ly b/input/regression/drums.ly new file mode 100644 index 0000000000..68f2015bf2 --- /dev/null +++ b/input/regression/drums.ly @@ -0,0 +1,63 @@ +% tests drum notation and midi-drums. +% see ly/drumpitch.ly for list of instruments and paper-kits. +% scm/midi.scm for list of midi-drumkits. + +\header { +texidoc = "Drum notation, although kludgy, should work. " +} + +\include "drumpitch-init.ly" + +\version "1.5.1" + +drh = \notes { cymc4.^"crash" hhc16^"h.h." hh \repeat "unfold" 5 {hhc8 hho hhc8 hh16 hh} hhc4 r4 r2 } +drl = \notes {\repeat "unfold" 3 {bd4 sn8 bd bd4 } bd8 tommh tommh bd toml toml bd tomfh16 tomfh } +timb = \notes \repeat "unfold" 2 {timh4 ssh timl8 ssh r timh r4 ssh8 timl r4 cb8 cb} + +\score { \repeat "volta" 2 + < + \context TwoLineStaff=timbst \notes < + \property Staff.instrument="timbales" + \clef "percussion" + \apply #(drums->paper 'timbales) \timb + > + \context Staff=drumst \notes < + \property Staff.instrument="drums" + \clef "percussion" + \apply #(drums->paper 'drums) < + \context Voice=voa {\stemUp \drh } + \context Voice=vob {\stemDown \drl } + > + > + > + \paper { + \translator { + \StaffContext + \consists Instrument_name_engraver + Script \override #'padding = #0.5 + } + \translator { + \StaffContext + \name TwoLineStaff + \alias Staff + \consists Instrument_name_engraver + StaffSymbol \override #'line-count = #2 + BarLine \override #'bar-size = #2 + } + \translator { + \ScoreContext + \accepts TwoLineStaff + } + } +} + +\score { \repeat "unfold" 2 + \context Staff \notes < + \property Staff.instrument="drums" + \timb + \drh + \drl + > + \midi{ \tempo 4=120 } +} + diff --git a/input/test/drums.ly b/input/test/drums.ly deleted file mode 100644 index f329913966..0000000000 --- a/input/test/drums.ly +++ /dev/null @@ -1,59 +0,0 @@ -% tests drum notation and midi-drums. -% see ly/drumpitch.ly for list of instruments and paper-kits. -% scm/midi.scm for list of midi-drumkits. - -\include "drumpitch-init.ly" - -\version "1.5.1" - -drh = \notes { cymc4.^"crash" hhc16^"h.h." hh \repeat "unfold" 5 {hhc8 hho hhc8 hh16 hh} hhc4 r4 r2 } -drl = \notes {\repeat "unfold" 3 {bd4 sn8 bd bd4 } bd8 tommh tommh bd toml toml bd tomfh16 tomfh } -timb = \notes \repeat "unfold" 2 {timh4 ssh timl8 ssh r timh r4 ssh8 timl r4 cb8 cb} - -\score { \repeat "volta" 2 - < - \context TwoLineStaff=timbst \notes < - \property Staff.instrument="timbales" - \clef "percussion" - \apply #(drums->paper 'timbales) \timb - > - \context Staff=drumst \notes < - \property Staff.instrument="drums" - \clef "percussion" - \apply #(drums->paper 'drums) < - \context Voice=voa {\stemUp \drh } - \context Voice=vob {\stemDown \drl } - > - > - > - \paper { - \translator { - \StaffContext - \consists Instrument_name_engraver - Script \override #'padding = #0.5 - } - \translator { - \StaffContext - \name TwoLineStaff - \alias Staff - \consists Instrument_name_engraver - StaffSymbol \override #'line-count = #2 - BarLine \override #'bar-size = #2 - } - \translator { - \ScoreContext - \accepts TwoLineStaff - } - } -} - -\score { \repeat "unfold" 2 - \context Staff \notes < - \property Staff.instrument="drums" - \timb - \drh - \drl - > - \midi{ \tempo 4=120 } -} - diff --git a/lily/volta-bracket.cc b/lily/volta-bracket.cc index db0db18853..d0af30da3e 100644 --- a/lily/volta-bracket.cc +++ b/lily/volta-bracket.cc @@ -53,7 +53,13 @@ Volta_bracket_interface::brew_molecule (SCM smob) SCM bars = me->get_grob_property ("bars"); Grob * endbar = unsmob_grob (ly_car (bars)); SCM glyph = endbar->get_grob_property("glyph"); - String str = ly_scm2string(glyph); + + String str; + if (gh_string_p (glyph)) + str = ly_scm2string(glyph); + else + return SCM_EOL; + const char* cs = str.ch_C(); no_vertical_end |= (strcmp(cs,":|")!=0 && strcmp(cs,"|:")!=0 && strcmp(cs,"|.")!=0 diff --git a/ly/drumpitch-init.ly b/ly/drumpitch-init.ly index 9b61fda615..d090fcde67 100644 --- a/ly/drumpitch-init.ly +++ b/ly/drumpitch-init.ly @@ -1,158 +1,3 @@ -% GM drum pitches. -% I use different accidentals to distinguish drums at the same GM pitch. -% Always accidental 0 (white keys) or 1 (black keys) to get the "correct" gm name. -% i.e. fis, for closed highat ges, for highat. - -% 2001/03/25 Rune Zedeler - - -%% TODO: don't pollute global namespace in this way . - - -#(define drum-pitch-names `( - (acousticbassdrum bda ,(make-pitch -3 6 0 )) - (bassdrum bd ,(make-pitch -2 0 0 )) - (hisidestick ssh ,(make-pitch -3 6 2)) - (sidestick ss ,(make-pitch -2 0 1)) - (losidestick ssl ,(make-pitch -2 1 -1)) - (acousticsnare sna ,(make-pitch -2 1 0)) - (snare sn ,(make-pitch -2 2 -2)) - (handclap hc ,(make-pitch -2 1 1)) - (electricsnare sne ,(make-pitch -2 2 0)) - (lowfloortom tomfl ,(make-pitch -2 3 0)) - (closedhihat hhc ,(make-pitch -2 3 1)) - (hihat hh ,(make-pitch -2 4 -1)) - (highfloortom tomfh ,(make-pitch -2 4 0)) - (pedalhihat hhp ,(make-pitch -2 4 1)) - (lowtom toml ,(make-pitch -2 5 0)) - (openhihat hho ,(make-pitch -2 5 1)) - (halfopenhihat hhho ,(make-pitch -2 5 1)) - (lowmidtom tomml ,(make-pitch -2 6 0)) - (himidtom tommh ,(make-pitch -1 0 0)) - (crashcymbala cymca ,(make-pitch -1 0 1)) - (crashcymbal cymc ,(make-pitch -1 1 -1)) - (hightom tomh ,(make-pitch -1 1 0)) - (ridecymbala cymra ,(make-pitch -1 1 1)) - (ridecymbal cymr ,(make-pitch -1 2 -1)) - (chinesecymbal cymch ,(make-pitch -1 2 0)) - (ridebell rb ,(make-pitch -1 3 0)) - (tambourine tamb ,(make-pitch -1 3 1)) - (splashcymbal cyms ,(make-pitch -1 4 0)) - (cowbell cb ,(make-pitch -1 4 1)) - (crashcymbalb cymcb ,(make-pitch -1 5 0)) - (vibraslap vibs ,(make-pitch -1 5 1)) - (ridecymbalb cymrb ,(make-pitch -1 6 0)) - (hibongo boh ,(make-pitch 0 0 0)) - (lobongo bol ,(make-pitch 0 0 1)) - (mutehiconga cghm ,(make-pitch 0 1 0)) - (openhiconga cgho ,(make-pitch 0 1 1)) - (hiconga cgh ,(make-pitch 0 2 -1)) - (openloconga cglo ,(make-pitch 0 1 2)) - (loconga cgl ,(make-pitch 0 2 0)) - (hitimbale timh ,(make-pitch 0 3 0)) - (lotimbale timl ,(make-pitch 0 3 1)) - (hiagogo agh ,(make-pitch 0 4 0)) - (loagogo agl ,(make-pitch 0 4 1)) - (cabasa cab ,(make-pitch 0 5 0)) - (maracas mar ,(make-pitch 0 5 1)) - (shortwhistle whs ,(make-pitch 0 6 0)) - (longwhistle whl ,(make-pitch 1 0 0)) - (shortguiro guis ,(make-pitch 1 0 1)) - (longguiro guil ,(make-pitch 1 1 0)) - (guiro gui ,(make-pitch 1 0 2)) - (claves cl ,(make-pitch 1 1 1)) - (hiwoodblock wbh ,(make-pitch 1 2 0)) - (lowoodblock wbl ,(make-pitch 1 3 0)) - (mutecuica cuim ,(make-pitch 1 3 1)) - (opencuica cuio ,(make-pitch 1 4 0)) - (mutetriangle trim ,(make-pitch 1 4 1)) - (triangle tri ,(make-pitch 1 4 2)) - (opentriangle trio ,(make-pitch 1 5 0)) - ;; "transposing" pitches: - (oneup ua ,(make-pitch 0 1 0)) - (twoup ub ,(make-pitch 0 2 0)) - (threeup uc ,(make-pitch 0 3 0)) - (fourup ud ,(make-pitch 0 4 0)) - (fiveup ue ,(make-pitch 0 5 0)) - (onedown da ,(make-pitch -1 6 0)) - (twodown db ,(make-pitch -1 5 0)) - (threedown dc ,(make-pitch -1 4 0)) - (fourdown dd ,(make-pitch -1 3 0)) - (fivedown de ,(make-pitch -1 2 0)) -)) - -#(define drums `( - (acousticbassdrum default ,#f ,(make-pitch -1 4 0)) - (bassdrum default ,#f ,(make-pitch -1 4 0)) - (sidestick cross ,#f ,(make-pitch 0 1 0)) - (acousticsnare default ,#f ,(make-pitch 0 1 0)) - (snare default ,#f ,(make-pitch 0 1 0)) - (handclap triangle ,#f ,(make-pitch 0 1 0)) - (electricsnare default ,#f ,(make-pitch 0 1 0)) - (lowfloortom default ,#f ,(make-pitch -1 3 0)) - (closedhihat cross "stopped" ,(make-pitch 0 3 0)) - (hihat cross ,#f ,(make-pitch 0 3 0)) - (highfloortom default ,#f ,(make-pitch -1 5 0)) - (pedalhihat cross ,#f ,(make-pitch -1 2 0)) - (lowtom default ,#f ,(make-pitch 0 0 0)) - (openhihat cross "open" ,(make-pitch 0 3 0)) - (halfopenhihat xcircle ,#f ,(make-pitch 0 3 0)) - (lowmidtom default ,#f ,(make-pitch 0 1 0)) - (himidtom default ,#f ,(make-pitch 0 2 0)) - (crashcymbala xcircle ,#f ,(make-pitch 0 5 0)) - (crashcymbal xcircle ,#f ,(make-pitch 0 5 0)) - (hightom default ,#f ,(make-pitch 0 4 0)) - (ridecymbala cross ,#f ,(make-pitch 0 5 0)) - (ridecymbal cross ,#f ,(make-pitch 0 5 0)) - (chinesecymbal mensural ,#f ,(make-pitch 0 5 0)) - (ridebell default ,#f ,(make-pitch 0 5 0)) - (splashcymbal diamond ,#f ,(make-pitch 0 5 0)) - (cowbell triangle ,#f ,(make-pitch 0 5 0)) - (crashcymbalb cross ,#f ,(make-pitch 0 5 0)) - (vibraslap diamond ,#f ,(make-pitch 0 4 0)) - (ridecymbalb cross ,#f ,(make-pitch 0 5 0)) - )) - -#(define timbales `( - (losidestick cross ,#f ,(make-pitch -1 6 0)) - (lotimbale default ,#f ,(make-pitch -1 6 0)) - (cowbell triangle ,#f ,(make-pitch 0 2 0)) - (hisidestick cross ,#f ,(make-pitch 0 1 0)) - (hitimbale default ,#f ,(make-pitch 0 1 0)) - )) - -#(define congas `( - (losidestick cross ,#f ,(make-pitch -1 6 0)) - (loconga default ,#f ,(make-pitch -1 6 0)) - (openloconga default ,"open" ,(make-pitch -1 6 0)) - (hisidestick cross ,#f ,(make-pitch 0 1 0)) - (hiconga default ,#f ,(make-pitch 0 1 0)) - (openhiconga default "open" ,(make-pitch 0 1 0)) - (mutehiconga default "stopped" ,(make-pitch 0 1 0)) - - )) - -#(define bongos `( - (lobongo default ,#f ,(make-pitch -1 6 0)) - (hibongo default ,#f ,(make-pitch 0 1 0)) - )) - - -#(define percussion `( - (opentriangle cross "open" ,(make-pitch 0 0 0)) - (mutetriangle cross "stopped" ,(make-pitch 0 0 0)) - (triangle cross ,#f ,(make-pitch 0 0 0)) - (shortguiro default "staccato",(make-pitch 0 0 0)) - (longguiro default "tenuto" ,(make-pitch 0 0 0)) - (guiro default ,#f ,(make-pitch 0 0 0)) - (cowbell triangle ,#f ,(make-pitch 0 0 0)) - (claves default ,#f ,(make-pitch 0 0 0)) - (tambourine default ,#f ,(make-pitch 0 0 0)) - (cabasa cross ,#f ,(make-pitch 0 0 0)) - (maracas default ,#f ,(make-pitch 0 0 0)) - (handclap default ,#f ,(make-pitch 0 0 0)) - )) - \pitchnames #(append (map (lambda (x) (cons (car x) (caddr x))) drum-pitch-names) diff --git a/scm/drums.scm b/scm/drums.scm index e3862259f1..3e88da7196 100644 --- a/scm/drums.scm +++ b/scm/drums.scm @@ -3,6 +3,154 @@ ;;;; changed eval to primitive-eval for guile 1.4/1.4.1 compatibility --jcn + +(define drum-pitch-names `( + (acousticbassdrum bda ,(make-pitch -3 6 0 )) + (bassdrum bd ,(make-pitch -2 0 0 )) + (hisidestick ssh ,(make-pitch -3 6 2)) + (sidestick ss ,(make-pitch -2 0 1)) + (losidestick ssl ,(make-pitch -2 1 -1)) + (acousticsnare sna ,(make-pitch -2 1 0)) + (snare sn ,(make-pitch -2 2 -2)) + (handclap hc ,(make-pitch -2 1 1)) + (electricsnare sne ,(make-pitch -2 2 0)) + (lowfloortom tomfl ,(make-pitch -2 3 0)) + (closedhihat hhc ,(make-pitch -2 3 1)) + (hihat hh ,(make-pitch -2 4 -1)) + (highfloortom tomfh ,(make-pitch -2 4 0)) + (pedalhihat hhp ,(make-pitch -2 4 1)) + (lowtom toml ,(make-pitch -2 5 0)) + (openhihat hho ,(make-pitch -2 5 1)) + (halfopenhihat hhho ,(make-pitch -2 5 1)) + (lowmidtom tomml ,(make-pitch -2 6 0)) + (himidtom tommh ,(make-pitch -1 0 0)) + (crashcymbala cymca ,(make-pitch -1 0 1)) + (crashcymbal cymc ,(make-pitch -1 1 -1)) + (hightom tomh ,(make-pitch -1 1 0)) + (ridecymbala cymra ,(make-pitch -1 1 1)) + (ridecymbal cymr ,(make-pitch -1 2 -1)) + (chinesecymbal cymch ,(make-pitch -1 2 0)) + (ridebell rb ,(make-pitch -1 3 0)) + (tambourine tamb ,(make-pitch -1 3 1)) + (splashcymbal cyms ,(make-pitch -1 4 0)) + (cowbell cb ,(make-pitch -1 4 1)) + (crashcymbalb cymcb ,(make-pitch -1 5 0)) + (vibraslap vibs ,(make-pitch -1 5 1)) + (ridecymbalb cymrb ,(make-pitch -1 6 0)) + (hibongo boh ,(make-pitch 0 0 0)) + (lobongo bol ,(make-pitch 0 0 1)) + (mutehiconga cghm ,(make-pitch 0 1 0)) + (openhiconga cgho ,(make-pitch 0 1 1)) + (hiconga cgh ,(make-pitch 0 2 -1)) + (openloconga cglo ,(make-pitch 0 1 2)) + (loconga cgl ,(make-pitch 0 2 0)) + (hitimbale timh ,(make-pitch 0 3 0)) + (lotimbale timl ,(make-pitch 0 3 1)) + (hiagogo agh ,(make-pitch 0 4 0)) + (loagogo agl ,(make-pitch 0 4 1)) + (cabasa cab ,(make-pitch 0 5 0)) + (maracas mar ,(make-pitch 0 5 1)) + (shortwhistle whs ,(make-pitch 0 6 0)) + (longwhistle whl ,(make-pitch 1 0 0)) + (shortguiro guis ,(make-pitch 1 0 1)) + (longguiro guil ,(make-pitch 1 1 0)) + (guiro gui ,(make-pitch 1 0 2)) + (claves cl ,(make-pitch 1 1 1)) + (hiwoodblock wbh ,(make-pitch 1 2 0)) + (lowoodblock wbl ,(make-pitch 1 3 0)) + (mutecuica cuim ,(make-pitch 1 3 1)) + (opencuica cuio ,(make-pitch 1 4 0)) + (mutetriangle trim ,(make-pitch 1 4 1)) + (triangle tri ,(make-pitch 1 4 2)) + (opentriangle trio ,(make-pitch 1 5 0)) + ;; "transposing" pitches: + (oneup ua ,(make-pitch 0 1 0)) + (twoup ub ,(make-pitch 0 2 0)) + (threeup uc ,(make-pitch 0 3 0)) + (fourup ud ,(make-pitch 0 4 0)) + (fiveup ue ,(make-pitch 0 5 0)) + (onedown da ,(make-pitch -1 6 0)) + (twodown db ,(make-pitch -1 5 0)) + (threedown dc ,(make-pitch -1 4 0)) + (fourdown dd ,(make-pitch -1 3 0)) + (fivedown de ,(make-pitch -1 2 0)) +)) + +(define drums `( + (acousticbassdrum default #f ,(make-pitch -1 4 0)) + (bassdrum default #f ,(make-pitch -1 4 0)) + (sidestick cross #f ,(make-pitch 0 1 0)) + (acousticsnare default #f ,(make-pitch 0 1 0)) + (snare default #f ,(make-pitch 0 1 0)) + (handclap triangle #f ,(make-pitch 0 1 0)) + (electricsnare default #f ,(make-pitch 0 1 0)) + (lowfloortom default #f ,(make-pitch -1 3 0)) + (closedhihat cross "stopped" ,(make-pitch 0 3 0)) + (hihat cross #f ,(make-pitch 0 3 0)) + (highfloortom default #f ,(make-pitch -1 5 0)) + (pedalhihat cross #f ,(make-pitch -1 2 0)) + (lowtom default #f ,(make-pitch 0 0 0)) + (openhihat cross "open" ,(make-pitch 0 3 0)) + (halfopenhihat xcircle #f ,(make-pitch 0 3 0)) + (lowmidtom default #f ,(make-pitch 0 1 0)) + (himidtom default #f ,(make-pitch 0 2 0)) + (crashcymbala xcircle #f ,(make-pitch 0 5 0)) + (crashcymbal xcircle #f ,(make-pitch 0 5 0)) + (hightom default #f ,(make-pitch 0 4 0)) + (ridecymbala cross #f ,(make-pitch 0 5 0)) + (ridecymbal cross #f ,(make-pitch 0 5 0)) + (chinesecymbal mensural #f ,(make-pitch 0 5 0)) + (ridebell default #f ,(make-pitch 0 5 0)) + (splashcymbal diamond #f ,(make-pitch 0 5 0)) + (cowbell triangle #f ,(make-pitch 0 5 0)) + (crashcymbalb cross #f ,(make-pitch 0 5 0)) + (vibraslap diamond #f ,(make-pitch 0 4 0)) + (ridecymbalb cross #f ,(make-pitch 0 5 0)) + )) + +(define timbales `( + (losidestick cross #f ,(make-pitch -1 6 0)) + (lotimbale default #f ,(make-pitch -1 6 0)) + (cowbell triangle #f ,(make-pitch 0 2 0)) + (hisidestick cross #f ,(make-pitch 0 1 0)) + (hitimbale default #f ,(make-pitch 0 1 0)) + )) + +(define congas `( + (losidestick cross #f ,(make-pitch -1 6 0)) + (loconga default #f ,(make-pitch -1 6 0)) + (openloconga default ,"open" ,(make-pitch -1 6 0)) + (hisidestick cross #f ,(make-pitch 0 1 0)) + (hiconga default #f ,(make-pitch 0 1 0)) + (openhiconga default "open" ,(make-pitch 0 1 0)) + (mutehiconga default "stopped" ,(make-pitch 0 1 0)) + + )) + +(define bongos `( + (lobongo default #f ,(make-pitch -1 6 0)) + (hibongo default #f ,(make-pitch 0 1 0)) + )) + + +(define percussion `( + (opentriangle cross "open" ,(make-pitch 0 0 0)) + (mutetriangle cross "stopped" ,(make-pitch 0 0 0)) + (triangle cross #f ,(make-pitch 0 0 0)) + (shortguiro default "staccato",(make-pitch 0 0 0)) + (longguiro default "tenuto" ,(make-pitch 0 0 0)) + (guiro default #f ,(make-pitch 0 0 0)) + (cowbell triangle #f ,(make-pitch 0 0 0)) + (claves default #f ,(make-pitch 0 0 0)) + (tambourine default #f ,(make-pitch 0 0 0)) + (cabasa cross #f ,(make-pitch 0 0 0)) + (maracas default #f ,(make-pitch 0 0 0)) + (handclap default #f ,(make-pitch 0 0 0)) + )) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;; + (define (make-articulation-script x) (let* ( (m (ly-make-music "Articulation_req")) ) diff --git a/scm/grob-description.scm b/scm/grob-description.scm index cc8423584a..b67dc07021 100644 --- a/scm/grob-description.scm +++ b/scm/grob-description.scm @@ -461,6 +461,7 @@ (direction . 1) (breakable . #t) + (font-family . roman) (visibility-lambda . ,end-of-line-invisible) (padding . 0.8) (meta . ((interfaces . (text-interface side-position-interface font-interface mark-interface self-alignment-interface))))