]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/drums.scm
* VERSION (MY_PATCH_LEVEL): make 1.7.0
[lilypond.git] / scm / drums.scm
index e3862259f1f3d078b84454e2cbc5b3c2acb48071..b3151aa99415b01b2e82ce56d67376a169851356 100644 (file)
 
 ;;;; 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))
+       (mutehibongo      bohm  ,(make-pitch -1 6 1))
+       (hibongo          boh   ,(make-pitch 0 0 0))
+       (openhibongo      boho  ,(make-pitch 0 1 -2))
+       (mutelobongo      bolm  ,(make-pitch -1 6 2))
+       (lobongo          bol   ,(make-pitch 0 0 1))
+       (openlobongo      bolo  ,(make-pitch 0 1 -1))
+       (mutehiconga      cghm  ,(make-pitch 0 1 0))
+       (muteloconga      cglm  ,(make-pitch 0 2 -2))
+       (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 -1 6 0))
+       (openhihat        cross         "open"    ,(make-pitch 0 3 0))
+       (halfopenhihat    xcircle       #f        ,(make-pitch 0 3 0))
+       (lowmidtom        default       #f        ,(make-pitch 0 0 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))
+       (muteloconga      default       "stopped" ,(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 `(
+       (losidestick      cross         #f        ,(make-pitch -1 6 0))
+       (lobongo          default       #f        ,(make-pitch -1 6 0))
+       (openlobongo      default       "open"    ,(make-pitch -1 6 0))
+       (mutelobongo      default       "stopped" ,(make-pitch -1 6 0))
+       (hisidestick      cross         #f        ,(make-pitch 0 1 0))
+       (hibongo          default       #f        ,(make-pitch 0 1 0))
+       (openhibongo      default       "open"    ,(make-pitch 0 1 0))
+       (mutehibongo      default       "stopped" ,(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"))
            )
-     (ly-set-mus-property m 'articulation-type x)
+     (ly-set-mus-property! m 'articulation-type x)
      m
      )
  )
 (define (add-articulation-script m x)
   (if x
    (if (and x (equal? (ly-music-name m) "Request_chord"))
-     (ly-set-mus-property m 'elements
+     (ly-set-mus-property! m 'elements
        (cons (make-articulation-script x) (ly-get-mus-property m 'elements))
      )
      (let* ( (es (ly-get-mus-property m 'elements))
 (define (make-head-type-elem t)
    (let* ( (m (ly-make-music "Music"))
          )
-     (ly-set-mus-property m 'iterator-ctor Push_property_iterator::constructor)
-     (ly-set-mus-property m 'symbol 'NoteHead)
-     (ly-set-mus-property m 'grob-property 'style)
-     (ly-set-mus-property m 'grob-value t)
+     (ly-set-mus-property! m 'iterator-ctor Push_property_iterator::constructor)
+     (ly-set-mus-property! m 'symbol 'NoteHead)
+     (ly-set-mus-property! m 'grob-property 'style)
+     (ly-set-mus-property! m 'grob-value t)
+     (ly-set-mus-property! m 'pop-first #t)
      m
    )
  )
    (let* ( (m (ly-make-music "Context_specced_music"))
            (e (make-head-type-elem t))
          )
-     (ly-set-mus-property m 'element e)
-     (ly-set-mus-property m 'context-type "Thread")
+     (ly-set-mus-property! m 'element e)
+     (ly-set-mus-property! m 'context-type "Thread")
      m
    )
  )
 
 (define (make-thread-context thread-name element)
    (let* ( (m (ly-make-music "Context_specced_music")))
-     (ly-set-mus-property m 'element element)
-     (ly-set-mus-property m 'context-type "Thread")
-     (ly-set-mus-property m 'context-id (symbol->string thread-name))
+     (ly-set-mus-property! m 'element element)
+     (ly-set-mus-property! m 'context-type "Thread")
+     (ly-set-mus-property! m 'context-id (symbol->string thread-name))
      m
    )
  )
              (seq (make-sequential-music (list ht req-ch)))
              )
          (add-articulation-script req-ch script)
-         (ly-set-mus-property fe 'pitch pitch)
+         (ly-set-mus-property! fe 'pitch pitch)
          (set! req-ch (make-thread-context style seq))
         req-ch
        )
            (alts (ly-get-mus-property music 'alternatives)))
 
       (if (pair? es)
-       (ly-set-mus-property music 'elements (map (drums->paper kit) es) )
+       (ly-set-mus-property! music 'elements (map (drums->paper kit) es) )
       )
 
       (if (music? alts)
-        (ly-set-mus-property
+        (ly-set-mus-property!
          music 'alternatives
          ((drums->paper kit) alts)))
 
       (if (music? body)
-        (ly-set-mus-property
+        (ly-set-mus-property!
          music 'body
          ((drums->paper kit) body)))
 
       (if (music? e)
         (begin
-          (ly-set-mus-property
+          (ly-set-mus-property!
            music 'element
            ((drums->paper kit) e))
         )