+2002-06-12 Han-Wen <hanwen@cs.uu.nl>
+
+ * 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 <heikki.junes@hut.fi>
* lilypond-mode.el: Propose saving before applying a command:
@lilypondfile[printfilename]{easy-notation.ly}
+@lilypondfile[printfilename]{drums.ly}
+
@section Rests
@lilypondfile[printfilename]{rest-ledger.ly}
--- /dev/null
+% 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 <bd ss>} 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 }
+}
+
+++ /dev/null
-% 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 <bd ss>} 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 }
-}
-
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
-% 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 <rune@zedeler.dk>
-
-
-%% 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)
;;;; 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"))
)
(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))))