Hi Richard,

I have attached the current version of my EbSax generating programme, for which I have a couple of questions. :-)

It has 5 staves working adequately.

The first 2 are for entering the music as written at concert pitch, with Chords.

The second staff is then copied to the third, when any notes that are below Eb are highlighted in red, until edited by hand into playable range (and harmony usually, rather than just up an octave)
This staff is a non-printing staff

The fourth borrows from 3 and prints staff 3 transposed down a minor third, and the fifth prints the note name (the target audience is a beginner)

Questions:

Where could I put some operating notes if giving it to someone to remind them what each one does?

Is it possible to go through a staff and find all the E# or B# notes (which appear on staffs 4&5 if music in A or E is transposed to F# or C# respectively) and either
add a /F or /C as a reminder to the note names on staff 5, or
move the notes creating the E# or B# when converted and change them, i.e. find all theĀ  G# notes and change them to Ab so that they transpose neatly to F?

I can manage without either of these; just thought it might be helpful, but I can't get my head round Scheme at the present. I used to write in Lisp, but a long time ago. I have more recent experience of Java and other OO languages.

Thanks for reading even if these are pie-in-the-sky!

Joe



<?xml version="1.0" encoding="UTF-8"?>
<score xmlns="http://denemo.org/xmlns/Denemo"; version="8">
  <scoreheader-directives>
    <directive>
      <tag>ScoreTitles</tag>
      <postfix>     dedication = ##f
     title = ##f
     subtitle = ##f
     subsubtitle = ##f
     instrument = ##f
     poet = ##f
     composer = ##f
     meter = ##f
     arranger = ##f
     tagline = ##f
     copyright = ##f
     piece = ##f
     opus = ##f
</postfix>
      <display>Score Titles</display>
      <data>(list (cons 'dedication #f)(cons 'title #f)(cons 'subtitle #f)(cons 'subsubtitle #f)(cons 'instrument #f)(cons 'poet #f)(cons 'composer #f)(cons 'meter #f)(cons 'arranger #f)(cons 'tagline #f)(cons 'copyright #f)(cons 'piece #f)(cons 'opus #f) '())</data>
      <override>4</override>
    </directive>
  </scoreheader-directives>
  <paper-directives>
    <directive>
      <tag>PrintAllHeaders</tag>
      <postfix>
print-all-headers = ##t
</postfix>
    </directive>
  </paper-directives>
  <thumbnail>
    <first-staff>1</first-staff>
    <last-staff>3</last-staff>
    <first-measure>1</first-measure>
    <last-measure>3</last-measure>
    <first-obj>0</first-obj>
    <last-obj>2147483647</last-obj>
  </thumbnail>
  <lilycontrol>
    <papersize>a4</papersize>
    <fontsize>18</fontsize>
    <orientation>1</orientation>
    <total-edit-time>0</total-edit-time>
    <score-directives>
      <directive>
        <tag>ScoreIndent</tag>
        <prefix>\layout {indent = 14.4}
</prefix>
        <display>indent=14.4</display>
        <data>14.4</data>
        <override>4</override>
      </directive>
    </score-directives>
  </lilycontrol>
  <movement-number>1</movement-number>
  <movement>
    <edit-info>
      <staffno>1</staffno>
      <measureno>1</measureno>
      <cursorposition>0</cursorposition>
      <tonalcenter>-1</tonalcenter>
      <zoom>100</zoom>
      <system-height>100</system-height>
      <page-zoom>100</page-zoom>
      <page-system-height>100</page-system-height>
      <measure-width>480</measure-width>
    </edit-info>
    <score-info>
      <tempo>
        <duration>
          <numerator>1</numerator>
          <denominator>4</denominator>
        </duration>
        <bpm>120</bpm>
      </tempo>
    </score-info>
    <staves>
      <staff id="id0"></staff>
      <staff id="id1"></staff>
      <staff id="id2"></staff>
      <staff id="id3"></staff>
      <staff id="id4"></staff>
    </staves>
    <voices>
      <voice id="id5">
        <voice-info>
          <voice-name>Chords</voice-name>
          <first-measure-number>1</first-measure-number>
        </voice-info>
        <initial-voice-params>
          <staff-ref staff="id0"></staff-ref>
          <clef name="treble">
            <directives>
              <directive>
                <tag>ChordStaff</tag>
                <postfix>
</postfix>
                <override>1</override>
              </directive>
            </directives>
          </clef>
          <key-signature>
            <modal-key-signature note-name="C" mode="major"></modal-key-signature>
            <directives>
              <directive>
                <tag>ChordStaff</tag>
                <postfix>
</postfix>
                <override>17</override>
              </directive>
            </directives>
          </key-signature>
          <time-signature>
            <simple-time-signature>
              <numerator>4</numerator>
              <denominator>4</denominator>
            </simple-time-signature>
            <directives>
              <directive>
                <tag>ChordStaff</tag>
                <postfix>
</postfix>
                <display>ChordStaff</display>
                <override>1</override>
              </directive>
            </directives>
          </time-signature>
        </initial-voice-params>
        <voice-props>
          <number-of-lines>5</number-of-lines>
          <voice-control>1</voice-control>
          <transpose>0</transpose>
          <instrument></instrument>
          <device-port>NONE</device-port>
          <volume>127</volume>
          <override_volume>0</override_volume>
          <mute>0</mute>
          <midi_prognum>0</midi_prognum>
          <midi_channel>1</midi_channel>
          <hasfigures>0</hasfigures>
          <hasfakechords>0</hasfakechords>
          <staff-directives>
            <directive>
              <tag>ChordStaff</tag>
              <display>ChordStaff</display>
              <override>21</override>
            </directive>
          </staff-directives>
          <voice-directives>
            <directive>
              <tag>ChordStaff</tag>
              <prefix>\new ChordNames 
</prefix>
              <display>ChordStaff</display>
              <override>5</override>
            </directive>
          </voice-directives>
          <clef-directives>
            <directive>
              <tag>ChordStaff</tag>
              <postfix>
</postfix>
              <override>1</override>
            </directive>
          </clef-directives>
        </voice-props>
        <measures>
          <measure>
            <lily-directive>
              <tag>88c2e076f462ad24ce0e7c293a40c9f0</tag>
              <postfix>\override ChordName.font-size = #-2  </postfix>
              <display>\override ChordName.font-size = #-2  </display>
              <minpixels>30</minpixels>
            </lily-directive>
          </measure>
        </measures>
      </voice>
      <voice id="id6">
        <voice-info>
          <voice-name>OriginalNP</voice-name>
          <first-measure-number>1</first-measure-number>
        </voice-info>
        <initial-voice-params>
          <staff-ref staff="id1"></staff-ref>
          <clef name="treble"></clef>
          <key-signature>
            <modal-key-signature note-name="C" mode="major"></modal-key-signature>
          </key-signature>
          <time-signature>
            <simple-time-signature>
              <numerator>4</numerator>
              <denominator>4</denominator>
            </simple-time-signature>
          </time-signature>
        </initial-voice-params>
        <voice-props>
          <number-of-lines>5</number-of-lines>
          <voice-control>1</voice-control>
          <transpose>0</transpose>
          <instrument></instrument>
          <device-port>NONE</device-port>
          <volume>127</volume>
          <override_volume>0</override_volume>
          <mute>0</mute>
          <midi_prognum>0</midi_prognum>
          <midi_channel>4</midi_channel>
          <hasfigures>0</hasfigures>
          <hasfakechords>0</hasfakechords>
          <verses>
            <verse>\override LyricText #'font-size = #-3
</verse>
          </verses>
          <staff-directives>
            <directive>
              <tag>InstrumentName</tag>
              <prefix>instrumentName = \markup {  \with-url #'"scheme:(d-GoToPosition 1 1 1 1)(let ((choice (d-PopupMenu (list (cons (_ \"Change Name\") d-InstrumentName)   (cons (_ \"Change Indent\") d-ScoreIndent)))))
                            (if choice (choice)))    " "Original" }</prefix>
              <display>Original</display>
              <override>22</override>
            </directive>
            <directive>
              <tag>StaffSize</tag>
              <prefix>
     		   fontSize = #-3

     		   \override StaffSymbol #'staff-space = #(magstep -3)
 </prefix>
              <display>StaffSize</display>
              <override>22</override>
            </directive>
          </staff-directives>
        </voice-props>
        <measures>
          <measure>
            <lily-directive>
              <tag>88c2e076f462ad24ce0e7c293a40c9f0</tag>
              <postfix>\override LyricText #'font-size = #-3</postfix>
              <display>\override LyricText #'font-size = #-3</display>
              <minpixels>30</minpixels>
            </lily-directive>
          </measure>
        </measures>
      </voice>
      <voice id="id7">
        <voice-info>
          <voice-name>EbSaxConcertHidden</voice-name>
          <subpart></subpart>
          <first-measure-number>1</first-measure-number>
        </voice-info>
        <initial-voice-params>
          <staff-ref staff="id2"></staff-ref>
          <clef name="treble"></clef>
          <key-signature>
            <modal-key-signature note-name="C" mode="major"></modal-key-signature>
          </key-signature>
          <time-signature>
            <simple-time-signature>
              <numerator>4</numerator>
              <denominator>4</denominator>
            </simple-time-signature>
          </time-signature>
        </initial-voice-params>
        <voice-props>
          <number-of-lines>5</number-of-lines>
          <staff-range-lo>2</staff-range-lo>
          <staff-range-hi>18</staff-range-hi>
          <staff-range>1</staff-range>
          <voice-control>1</voice-control>
          <transpose>-12</transpose>
          <instrument>Alto Sax</instrument>
          <device-port>NONE</device-port>
          <volume>127</volume>
          <override_volume>0</override_volume>
          <mute>0</mute>
          <midi_prognum>65</midi_prognum>
          <midi_channel>3</midi_channel>
          <hasfigures>0</hasfigures>
          <hasfakechords>0</hasfakechords>
          <staff-directives>
            <directive>
              <tag>InstrumentName</tag>
              <postfix>\set Staff.instrumentName = \markup {  \with-url #'"scheme:(d-GoToPosition 1 1 1 1)(let ((choice (d-PopupMenu (list (cons (_ \"Change Name\") d-InstrumentName)   (cons (_ \"Change Indent\") d-ScoreIndent)))))
                    (if choice (choice)))    " "EbSax" }</postfix>
              <display>AltoSax</display>
              <override>4</override>
            </directive>
            <directive>
              <tag>MidiInstrumentName</tag>
              <prefix> midiInstrument = #"Alto Sax" </prefix>
              <postfix>\set Staff.midiInstrument = #"alto sax" </postfix>
              <display>Alto Sax</display>
              <override>22</override>
            </directive>
            <directive>
              <tag>NonPrintingStaff</tag>
              <prefix> \void { </prefix>
              <postfix> }
 </postfix>
              <display>Hidden Staff</display>
              <override>6</override>
            </directive>
          </staff-directives>
        </voice-props>
        <measures>
          <measure>
            <lily-directive>
              <tag>88c2e076f462ad24ce0e7c293a40c9f0</tag>
              <postfix>\override ChordName.font-size = #-2  </postfix>
              <display>\override ChordName.font-size = #-2  </display>
              <minpixels>30</minpixels>
            </lily-directive>
          </measure>
        </measures>
      </voice>
      <voice id="id8">
        <voice-info>
          <voice-name>Part 4</voice-name>
          <subpart></subpart>
          <first-measure-number>1</first-measure-number>
        </voice-info>
        <initial-voice-params>
          <staff-ref staff="id3"></staff-ref>
          <clef name="treble">
            <directives>
              <directive>
                <tag>SubstituteMusic</tag>
                <graphic_name>
S
Denemo
48</graphic_name>
                <gy>36</gy>
                <override>5</override>
              </directive>
            </directives>
          </clef>
          <key-signature>
            <modal-key-signature note-name="C" mode="major"></modal-key-signature>
            <directives>
              <directive>
                <tag>SubstituteMusic</tag>
                <override>5</override>
              </directive>
            </directives>
          </key-signature>
          <time-signature>
            <simple-time-signature>
              <numerator>4</numerator>
              <denominator>4</denominator>
            </simple-time-signature>
            <directives>
              <directive>
                <tag>SubstituteMusic</tag>
                <override>5</override>
              </directive>
            </directives>
          </time-signature>
        </initial-voice-params>
        <voice-props>
          <number-of-lines>5</number-of-lines>
          <staff-color>-266330112</staff-color>
          <voice-control>1</voice-control>
          <transpose>0</transpose>
          <instrument></instrument>
          <device-port>NONE</device-port>
          <volume>127</volume>
          <override_volume>0</override_volume>
          <mute>0</mute>
          <midi_prognum>0</midi_prognum>
          <midi_channel>3</midi_channel>
          <hasfigures>0</hasfigures>
          <hasfakechords>0</hasfakechords>
          <staff-directives>
            <directive>
              <tag>TransposeStaffPrint</tag>
              <postfix>\transpose ees c </postfix>
              <display>Print transposed:  ees c </display>
              <override>4</override>
            </directive>
          </staff-directives>
          <voice-directives>
            <directive>
              <tag>SubstituteMusic</tag>
              <prefix>{ \clef treble    \time 4/4    \key c \major  \MvmntIVoiceIII } \void </prefix>
              <display>Eb-Sax on Staff 3</display>
              <override>6</override>
            </directive>
          </voice-directives>
          <clef-directives>
            <directive>
              <tag>SubstituteMusic</tag>
              <graphic_name>
S
Denemo
48</graphic_name>
              <gy>36</gy>
              <override>5</override>
            </directive>
          </clef-directives>
        </voice-props>
        <measures>
          <measure>
            <lily-directive>
              <tag>SubstituteMusic</tag>
              <postfix> </postfix>
              <display>Right click to update clef/time/key</display>
              <graphic_name>
Music here is mirrored from Eb-Sax on Staff 3
Denemo
20</graphic_name>
              <minpixels>50</minpixels>
              <override>268435456</override>
            </lily-directive>
          </measure>
        </measures>
      </voice>
      <voice id="id9">
        <voice-info>
          <voice-name>Part 4</voice-name>
          <first-measure-number>1</first-measure-number>
        </voice-info>
        <initial-voice-params>
          <staff-ref staff="id4"></staff-ref>
          <clef name="treble">
            <directives>
              <directive>
                <tag>SubstituteMusic</tag>
                <graphic_name>
S
Denemo
48</graphic_name>
                <gy>36</gy>
                <override>5</override>
              </directive>
              <directive>
                <tag>ChordStaff</tag>
                <postfix>
</postfix>
                <override>1</override>
              </directive>
            </directives>
          </clef>
          <key-signature>
            <modal-key-signature note-name="C" mode="major"></modal-key-signature>
            <directives>
              <directive>
                <tag>SubstituteMusic</tag>
                <override>5</override>
              </directive>
              <directive>
                <tag>ChordStaff</tag>
                <postfix>
</postfix>
                <override>17</override>
              </directive>
            </directives>
          </key-signature>
          <time-signature>
            <simple-time-signature>
              <numerator>4</numerator>
              <denominator>4</denominator>
            </simple-time-signature>
            <directives>
              <directive>
                <tag>SubstituteMusic</tag>
                <override>5</override>
              </directive>
              <directive>
                <tag>ChordStaff</tag>
                <postfix>
</postfix>
                <display>ChordStaff</display>
                <override>1</override>
              </directive>
            </directives>
          </time-signature>
        </initial-voice-params>
        <voice-props>
          <number-of-lines>5</number-of-lines>
          <staff-color>-266330112</staff-color>
          <voice-control>1</voice-control>
          <transpose>0</transpose>
          <instrument></instrument>
          <device-port>NONE</device-port>
          <volume>127</volume>
          <override_volume>0</override_volume>
          <mute>0</mute>
          <midi_prognum>0</midi_prognum>
          <midi_channel>4</midi_channel>
          <hasfigures>0</hasfigures>
          <hasfakechords>0</hasfakechords>
          <staff-directives>
            <directive>
              <tag>TransposeStaffPrint</tag>
              <postfix>\transpose ees c </postfix>
              <display>Print transposed:  ees c </display>
              <override>4</override>
            </directive>
            <directive>
              <tag>ChordStaff</tag>
              <display>ChordStaff</display>
              <override>21</override>
            </directive>
          </staff-directives>
          <voice-directives>
            <directive>
              <tag>SubstituteMusic</tag>
              <prefix>{ \clef treble    \time 4/4    \key c \major  \MvmntIVoiceIII } \void </prefix>
              <display>Eb-Sax on Staff 3</display>
              <override>6</override>
            </directive>
            <directive>
              <tag>ChordStaff</tag>
              <prefix>\new ChordNames 
</prefix>
              <display>ChordStaff</display>
              <override>5</override>
            </directive>
          </voice-directives>
          <clef-directives>
            <directive>
              <tag>SubstituteMusic</tag>
              <graphic_name>
S
Denemo
48</graphic_name>
              <gy>36</gy>
              <override>5</override>
            </directive>
            <directive>
              <tag>ChordStaff</tag>
              <postfix>
</postfix>
              <override>1</override>
            </directive>
          </clef-directives>
        </voice-props>
        <measures>
          <measure>
            <lily-directive>
              <tag>SubstituteMusic</tag>
              <postfix> </postfix>
              <display>Right click to update clef/time/key</display>
              <graphic_name>
Music here is mirrored from Eb-Sax on Staff 3
Denemo
20</graphic_name>
              <minpixels>50</minpixels>
              <override>268435456</override>
            </lily-directive>
          </measure>
        </measures>
      </voice>
    </voices>
  </movement>
</score>
_______________________________________________
Denemo-devel mailing list
Denemo-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/denemo-devel

Reply via email to