One last note: always backup your score frequently when you use the "Make all __BLOCK__s included/inline" feature.
On Mon, Jun 17, 2024 at 7:19 PM Paolo Prete <[email protected]> wrote: > > > On Mon, Jun 17, 2024 at 4:39 PM [email protected] <[email protected]> > wrote: > >> Still monkeying around with Spontini to get familiar with this new (to >> me) tool. When setting parts in different clefs it is handy to be able to >> use tags. When notating a part in bass vs tenor or alto clef (pedagogical >> trombone music) it is often necessary to adjust shapes/positions >> differently for different clefs. Before Spontini I would need to code tags >> for each clef. After a bit of experimentation I found that it worked to >> simply tag the first one. Remove it from the output (i.e. \removeWithTag), >> add a second slur + tag, keep that tag and adjust it. Remove both tags, >> add a third slur, tag, adjust, and finally 'keep' the one I needed. In the >> example below I've set up three different slur shapes and tagged them >> (they're silly for ease of identification). This works. Is there a better >> way? >> >> > Glad to see you used the "add __JSSVG__ bloch mechanism". As you can see, > the code becomes much more compact and shorter. > That said, why do you need to \removeWithTag while adding slurs? Just use > the \jsShape on the symbols tab, this time. Then click on it three > consecutive times) and tag each of them. That's all. > > In addition: It just occurred to me that I implemented a way to have a > smart/auto include of your stuff with definitions, jsShapes etc, in the > past. > > See this example: > > > https://github.com/paopre/Spontini/blob/master/examples/string-quartet-template-example.ly > > And play with this snippet: > > %%%%% > \version "2.24.2" > > \include "../lib/ly/jssvg.ly" > > > %-----------------% > % START __JSSVG__ % > %-----------------% > > %{__BLOCK__includes%} > "j3" = #(define-music-function (parser location sym mus) ((symbol-list? > '()) ly:music?) #{ > \tag #'third \jsShape "3" "cpts" #'((0 . 0) (11.253 . -24.393) (-11.476 . > -24.309) (0 . 0)) $sym $mus > #}) > > "j2" = #(define-music-function (parser location sym mus) ((symbol-list? > '()) ly:music?) #{ > \tag #'second \jsShape "2" "cpts" #'((0 . 0) (41.644 . 5.148) (-22.418 . > -20.692) (0 . 0)) $sym $mus > #}) > > "j1" = #(define-music-function (parser location sym mus) ((symbol-list? > '()) ly:music?) #{ > \tag #'first \jsShape "1" "cpts" #'((0 . 0) (21.58 . -23.991) (-26.632 . > 4.428) (0 . 0)) $sym $mus > #}) > %{%} > > %-----------------% > % END __JSSVG__ % > %-----------------% > > music = \relative c' { > c d e f > \break > g \tag #'first -\jsShape "4" "cpts" #'((0 . 0) (29.753 . -24.22) (0 . 0) > (0 . 0)) ( \tag #'second -\jsShape "5" "cpts" #'((0 . 0) (0 . 0) (-12.35 . > -36.061) (0 . 0)) ( a b c-)-)) > > } > > \score { > \keepWithTag #'second > \music > } > %%%%% > > HTH! > > >
