denemo-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Denemo-devel] Gregorian Chant in Denemo


From: Richard Shann
Subject: Re: [Denemo-devel] Gregorian Chant in Denemo
Date: Mon, 19 Dec 2016 19:57:43 +0000

On Mon, 2016-12-19 at 16:58 +0100, Andreas Schneider wrote:
> As you suggested, I have started from the TabStaff script. (By the way,
> searching for Tab or Tabulature 

It's a spelling problem - Tablature. But Tab should be found - not sure
why it is not.

> in the command center did not work, I
> had to search Denemo's files on the shell with the find utility to
> locate the command.) My current code is this:
> 
> ;;;VaticanaStaff
> (let ((tag "VaticanaStaff"))
>       (ToggleDirective "staff" "postfix" tag " \\new VaticanaVoice <<\n"
> DENEMO_OVERRIDE_LILYPOND)
>       (ToggleDirective "voice" "postfix" tag "\n" (logior
> DENEMO_OVERRIDE_GRAPHIC DENEMO_OVERRIDE_LILYPOND))
>       (ToggleDirective "clef" "postfix" tag "{} \n"  (logior
> DENEMO_OVERRIDE_GRAPHIC DENEMO_OVERRIDE_LILYPOND)))
> 
> The problem is that the context is not named so that the lyrics cannot
> be assigned. How do I get the name of the context, i.e. produce
>  \new VaticanaVoice = "cantus" <<
> instead of
>  \new VaticanaVoice <<
> ?

Well, the connection between lyrics and voice is by a fixed naming
convention in Denemo's output so you need this:

(let ((tag "VaticanaStaff"))
        (ToggleDirective "staff" "postfix" tag " \\new VaticanaVoice =
\"VoiceIMvmntI\"<<\n"
DENEMO_OVERRIDE_LILYPOND)
        (ToggleDirective "voice" "postfix" tag "\n" (logior
DENEMO_OVERRIDE_GRAPHIC DENEMO_OVERRIDE_LILYPOND)))


Here I have hardwired that this as movement 1 and voice 1, the proper
script will have to compute the right name (from commands like
d-GetMovement d-GetStaff or some such).

Also, note I have dropped the line which is omitting the clef - there is
none in the Tab staff I think.

Richard


>  Moreover, the \lyricsto command is not issued when I apply the script
> above. How do I change that?
> 
> Andreas
> 
> 
> Am 18.12.2016 um 15:55 schrieb Richard Shann:
> > On Sun, 2016-12-18 at 14:10 +0100, Andreas Schneider wrote:
> >> I have attached a Lilypond file of what I would like to obtain.
> > 
> > Ok - I'm rather deep into a re-structuring of the code for creating the
> > menu system and loading/saving commands, so I won't get to this very
> > quickly, but I've made some notes below which will jog my memory when I
> > get to it. Meanwhile, you can play with the script for TabStaff and
> > Mordent to see how far you get - post up any attempts and I can comment.
> > Here are my notes:
> > 
> >> \include "gregorian.ly"
> >>
> > There is a command to put in an include file. Once you have created it
> > you can then make a button to clone it for insertion in a new score (or
> > use the score you create as a template)
> >>
> >> \score {
> >>
> >> <<
> >>
> >> \new VaticanaVoice = "cantus" {
> >>
> > This would be similar to commands that create \new TabStaff or \new
> > DynamicsStaff
> > there are two layers of context emitted by Denemo \new Staff and \new
> > Voice, here you only have one so one of them will need to be blanked out
> > which TabStaff does too - the script is
> > 
> > ;;;TabStaff
> > (let ((tag "TabStaff"))
> >     (ToggleDirective "staff" "postfix" tag " \\new TabStaff <<\n"  
> > DENEMO_OVERRIDE_LILYPOND)
> >     (ToggleDirective "voice" "postfix" tag "\n" (logior 
> > DENEMO_OVERRIDE_GRAPHIC DENEMO_OVERRIDE_LILYPOND))
> >     (ToggleDirective "clef" "postfix" tag "{} \n"  (logior 
> > DENEMO_OVERRIDE_GRAPHIC DENEMO_OVERRIDE_LILYPOND)))
> > 
> > 
> > where the "voice" context is being set to "\n" ie a blank line. The
> > "staff" context you could replace like this:
> > (ToggleDirective "staff" "postfix" tag " \\new VaticanaVoice <<\n"  
> > DENEMO_OVERRIDE_LILYPOND)
> > 
> >>
> >> \override Staff.StaffSymbol.color = #(x11-color 'black) % override
> >>  default red color of staff
> >>
> > This you can do with Insert LilyPond
> > 
> >> \clef "vaticana-fa2"
> >>
> >>
> > There is a menu for inserting any clef, just type in this name
> >>
> >> \[ d\melisma d \melismaEnd \] c\ictus d f\ictus g \augmentum f
> >> \divisioMinima
> >>
> >>
> > These are the interesting ones. They are like ornaments in their syntax
> > - so you could start by cloning the code that creates \trill to create
> > these. By stages I think you would want then to go on to creating
> > compound commands that would insert a note at the cursor height and
> > apply these "ornaments", and you would want at a minimum to display
> > something on the note so you could see what sort of "ornament" was
> > applied (you could eventually draw the actual glyphs in place of the
> > notes, so you get a better display).
> >>
> >> e\ictus f g \[ f\flexa\melisma e \melismaEnd \] \augmentum d
> >> \augmentum d \divisioMaior
> >>
> >> f f \[ f\flexa\melisma e \] \melismaEnd d e f \[ g\melisma a g a bes
> >> \augmentum a\melismaEnd \] \divisioMinima
> >>
> >> a a g f \[ f\melisma \pes g \melismaEnd \] \augmentum f \divisioMinima
> >>
> >> f f \[ e\episemInitium\melisma \pes f \episemFinis \melismaEnd \] g
> >> \[ f\flexa\melisma e\melismaEnd \] \augmentum d \augmentum d \finalis
> >>
> >> }
> >>
> > 
> >> \new Lyrics \lyricsto "cantus" {
> >>
> >> Da pa -- cem Do -- mi -- ne in di -- e -- bus no -- stris:
> >>
> >> qui -- a non est a -- li -- us
> >>
> >> qui pu -- gnet pro no -- bis,
> >>
> >> ni -- si tu De -- us no -- ster.
> >>
> >> }
> >>
> >>>>
> >>
> >> }
> >>
> > 
> > The lyrics don't require any new work I think.
> > 
> > 
> > Richard
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]