Giter Club home page Giter Club logo

Comments (2)

kastdeur avatar kastdeur commented on May 29, 2024

Using a PhrasingSlur and modifying the shape might be an idea to implement this.

https://lilypond.org/doc/v2.23/Documentation/notation/modifying-shapes

from lilydrum.

kastdeur avatar kastdeur commented on May 29, 2024

Using TextSpanEvent:

scoop preview

\version "2.22.2"

\include "../lib/lilydrum/lilydrum.ly"

#(define (text-spanner-start-stop mus spanid)
    (let ((elts (ly:music-property mus 'elements)))
    (make-music 'SequentialMusic 'elements
       (append
          (list (make-music 'TextSpanEvent 'span-direction -1 'spanner-id spanid ))
          (reverse (cdr (reverse elts)))
          (list (make-music 'TextSpanEvent 'span-direction 1 'spanner-id spanid))
          (list (last elts))))))

scoop = #(define-music-function (music) (ly:music?)
    "Add a TextSpanner over music representing a scoop.
    This is notated with a bent arrow."
    #{
        \temporary \override TextSpanner.style = #'line
        \temporary \override TextSpanner.bound-details.right.arrow = ##t
        \temporary \override TextSpanner.bound-details.left.text = \markup {
            \fontsize #5
            \override #'(thickness . 2)
                \draw-line #'(-3 . -2) % draw stick
            }
        \temporary \override TextSpanner.bound-details.left.Y = #2
        \temporary \override TextSpanner.bound-details.right.Y = #-1
        \temporary \override TextSpanner.bound-details.left.padding = #3.5
        \temporary \override TextSpanner.bound-details.right.padding = #-0.5

        $(text-spanner-start-stop music scoop)
    #})

\new PipeBandDrumStaff {
    \displayMusic \drummode {
        \scoop { d8 g d4 }
    }
}

from lilydrum.

Related Issues (18)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.