Re: Intervalic Chord Names

2018-08-29 Thread Aaron Hill

On 2018-08-29 10:25, Tom Swan wrote:

continued reply... Re: accidentals, yes that will be necessary. Do you
have an idea about how to go about that?


Hi Tom,

Building upon the code from scm/chord-name.scm (and related files) as 
well as (LSR #750)[1], here is a more complete version of the 
interval-based chord root namer:


[1]:http://lsr.di.unimi.it/LSR/Item?id=750

```lilypond
\version "2.18.2"

#(define (intervalic-namer pitch lowercase?)
  (let ((handle-case (if lowercase? string-downcase (lambda (x) x)))
(alt (ly:pitch-alteration pitch)))
(make-line-markup (list
  (make-simple-markup (handle-case
(vector-ref #("I" "II" "III" "IV" "V" "VI" "VII")
  (ly:pitch-notename pitch
  (if (= 0 alt) empty-markup
(alteration->text-accidental-markup alt))

#(define (intervalic-namer-custom-alts pitch lowercase?)
  (let ((handle-case (if lowercase? string-downcase (lambda (x) x)))
(alt (ly:pitch-alteration pitch))
(custom-alts `((,FLAT . "b") (,SHARP . "#"
(make-line-markup (list
  (make-simple-markup (handle-case
(vector-ref #("I" "II" "III" "IV" "V" "VI" "VII")
  (ly:pitch-notename pitch
  (if (= 0 alt) empty-markup
(make-small-markup (make-raise-markup 0.7 (make-text-markup
  (ly:assoc-get alt custom-alts "?")

theChords = \chordmode { c8 d/fis e:m7 f:maj7 g:7 a:m bes:sus4 b:dim 
}

\score { << \new ChordNames \chordmode {
  \omit Score.BarNumber
  \override Score.RehearsalMark.self-alignment-X = #-1
  \mark "Default naming"
  \theChords \break
  \mark "Interval-based naming"
  \set chordRootNamer = #intervalic-namer
  \theChords \break
  \mark "Lowercase minor"
  \set chordNameLowercaseMinor = ##t
  \theChords \break
  \mark "Custom alterations"
  \set chordRootNamer = #intervalic-namer-custom-alts
  \theChords
} >> \layout { indent = 0 } }
```

The above namer comes in two flavors, depending on whether you prefer 
the normal glyphs for alterations or if you want to customize the 
symbols.


The one thing this does not handle is ensuring the tonic of the current 
key signature appears as "I".  To do that appears to require more work 
as `chordRootNamer` does not provide access to the context in order to 
query for the current key.  I believe you might need to go down the 
route of a custom engraver.  If you search on this mailing list, there 
has been prior discussion about supporting the Nashville numbering 
system (which admittedly is much more than just interval-based naming).  
But in that thread, there is a lot of potentially relevant material to 
this topic, such as getting the key signature information into the 
ChordNames context.


-- Aaron Hill

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Edition Engraver and \markLengthOn

2018-08-29 Thread Craig Dabelstein
Hi all,

Can the EE be used to add \markLengthOn? Maybe I've got the context wrong
but the following line is having no effect:

\editionMod parts 626 0/4 hallager.partIII.clarinetI.Score \markLengthOn

Craig


-- 
*Craig Dabelstein*
Maxime's Music
craig.dabelst...@gmail.com
*http://maximesmusic.com *
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Intervalic Chord Names

2018-08-29 Thread Tom Swan
continued reply... Re: accidentals, yes that will be necessary. Do you have an 
idea about how to go about that?

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Intervalic Chord Names

2018-08-29 Thread Tom Swan
That worked perfectly! Thank you. I am not very familiar with lilypond 
internals, but now I am also intrigued by your solution. I am determined now to 
learn scheme. :-)

> 
> Do you need lowercase numbers (i to vii) too? And how about accidentals?
> 

I am comfortable with IVm7 or IV-7 but I am curious how you would select 
lowercase ii, vi, etc.? If the chord is c:m7 would that choose lowercase 
somehow? That would be pretty cool. Now I'm thinking of expanding this to 
respect the key (e.g. if the key is changed to F, would the intervalic chords 
remain unchanged in the output?) I don't really need to do that; just wondering 
aloud.

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


call for testing new replace mode in Frescobaldi Midi Input

2018-08-29 Thread Federico Bruni

Hi folks

Dmitriy contributed a new feature for MIDI input in Frescobaldi v2 some 
months ago and I recently rebased his patch on master to make it work 
on Frescobaldi v3 and make sure the review process could start.
As Frescobaldi developers may not have a MIDI instrument to test it (I 
know Urs doesn't have one), I would welcome comments from anyone who 
can.


I've written a simple wiki page to set up a MIDI keyboard in Linux:
https://github.com/wbsoft/frescobaldi/wiki/MIDI-input-on-Linux

Pull request discussion is here:
https://github.com/wbsoft/frescobaldi/pull/1039

You should checkout the following branch:

git pull https://github.com/fedelibre/frescobaldi.git
git checkout midi-replace-mode-rebased

Instructions on how to run Frescobaldi from source is also on github 
wiki.


Remember that replace mode works only when the cursor has at least a 
note at the right.
When you want to enter the first music via MIDI input, Re-pitch mode 
should be unchecked.


Thanks
Federico


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user