[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Custom tabulature for Shamisen
From: |
Christian Zollner |
Subject: |
Re: Custom tabulature for Shamisen |
Date: |
Thu, 3 Jan 2019 16:38:33 +0100 |
Dear Harm,
I love you. This works exactly like I want it to. I don't fully
understand it (yet) but as I will use LilyPond more in the future I
guess the wisdom of your programming skills shall enlighten my current
ignorance.
Thank you again,
Christian
Am 02.01.19 um 00:32 schrieb Thomas Morley:
> Am Di., 1. Jan. 2019 um 18:04 Uhr schrieb Christian Zollner
> <address@hidden>:
>> Hello list!
>>
>> I need to write tabulatures for me and my girlfriend. I am playing
>> violin and she is playing Shamisen. I am new to Lilypond but generally
>> programming language affine, so I learned everything quickly up until now.
>>
>> The problem with Shamisen tabulatures is that it doesn't just count up
>> from 1 - 12 for every octave but numbers the consecutive tones like
>> this: [0,1,2,3,#,4,5,6,7,8,9,b,10,11,12,13,1#,14,15,16,17,18]. Is there
>> a way to use this list instead of just counting up from 1 - n on a
>> tabulature?
>>
>> Thank you for your help,
>> Christian
> Hi,
>
> not sure I understand.
> Like below?
>
> \version "2.19.82"
>
> \layout {
> \context {
> \Score
> tablatureFormat =
> #(lambda (context string-number fret-number)
> (let* ((my-signs
> '(0 1 2 3 "#" 4 5 6 7 8 9 "b" 10 11 12 13 "1#" 14 15 16 17
> 18))
> (ls-length (length my-signs))
> (my-sign
> (if (> fret-number (1- ls-length))
> fret-number
> (list-ref my-signs fret-number))))
> (if (integer? fret-number)
> (make-vcenter-markup
> (format #f "~a" my-sign ))
> (fret-number-tablature-format context string-number
> fret-number))))
> }
> }
>
> \new TabVoice
> \relative e' {
> e f fis g gis a ais b c cis d dis e f fis g gis a ais b c cis
> }
>
>
> Cheers,
> Harm
>
> _______________________________________________
> lilypond-user mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/lilypond-user