denemo-devel
[Top][All Lists]
Advanced

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

Re: [Denemo-devel] A possible scheme script


From: Richard Shann
Subject: Re: [Denemo-devel] A possible scheme script
Date: Tue, 29 Jan 2019 11:37:12 +0000

On Mon, 2019-01-28 at 15:13 -0800, rain wrote:
> Hello Richard (and or whomever gets this email, I'm not sure who the
> recipients 
your email will be useful to more than just the recipients (that is
those subscribed to the denemo-devel mailing list) - it will be seen by
people trawling for information about how to do things in Denemo.
> are),
> 
>     Something that you may, or may not be interested in adding,
> eventually: If someone was writing with counterpoint in mind, adding
> intervals easily (good for beginners like me who are learning music
> theory alongside using Denemo) to the staff above (or below) the
> Cantus Firmus could be achieved with something like (with cursor on a
> note on lower staff and staff above blank, in this case):
I'm not quite sure I understand what you are doing - it can help to add
a few lines of script first to set up the initial condition that your
script is to work with, so for example:
(d-New)
(d-AddAfter)
(d-C)
(d-MoveCursorLeft)
;(exit)
(d-AddLowestUpMajor3)
(d-CursorDown)
(d-CursorDown)
(d-CursorDown)
(d-RemoveNoteFromChord)
;(exit)
(d-SetMark)
(d-Cut)
(d-MoveToStaffUp)
(d-MoveCursorRight)
(d-Paste)
(d-MoveCursorLeft)
(d-SetMark)
(d-Copy)
(d-MoveToStaffDown)
(d-MoveCursorRight)
(d-Paste)
(d-MoveCursorLeft)
(d-AddHighestDownMajor3)
(d-CursorUp)
(d-CursorUp)
(d-CursorUp)
(d-RemoveNoteFromChord)

This starts a new score adds a staff below puts the note C into it,
moves the cursor to that note and then executes your sequence of
operations. The result is that the staff above gets a single-note chord
a major third above the C and so does the lower staff. It will do
something more confusing if you are not on the first note of a measure
(perhaps not applicable if you are adding to a Cantus Firmus with one
note per measure). And as you say it could get upset by the presence of
non-music in the bar (for this problem there is this:

(while (and (not (Music?)) (d-MoveCursorRight)))

which will move the cursor rightwards while it is not on a note or rest
("Music").)

Having said that, I'm not sure what you are trying to do - do you
intend to leave the Cantus Firmus unchanged and put a note or sequence
of notes in the staff above? There's something remotely like that for
entry from MIDI keyboard at Input->MIDI->Chords For Bar and I did
something even more elaborate myself https://vimeo.com/62426412 which
shows a script letting you add chords to a bass line (the script is in
Educational->MIDI->Handel's... I think).

It will be great if you can add to the facilities for aiding composers
using Denemo - most work has been done for transcribing. And, indeed,
most composers still use paper and pencil and only turn to a computer
to transcribe their work.

HTH

Richard

> 
> (d-AddLowestUpMajor3)
> (d-CursorDown)
> (d-CursorDown)
> (d-CursorDown)
> (d-RemoveNoteFromChord)
> (d-SetMark)
> (d-Cut)
> (d-MoveToStaffUp)
> (d-MoveCursorRight)
> (d-Paste)
> (d-MoveCursorLeft)
> (d-SetMark)
> (d-Copy)
> (d-MoveToStaffDown)
> (d-MoveCursorRight)
> (d-Paste)
> (d-MoveCursorLeft)
> (d-AddHighestDownMajor3)
> (d-CursorUp)
> (d-CursorUp)
> (d-CursorUp)
> (d-RemoveNoteFromChord)
> 
> Thanks to Denemo's ability to set the cursor to same not position on
> the staff when moving cursor up and down staffs.
> 
>   Rain
> 
> 
> _______________________________________________
> Denemo-devel mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/denemo-devel



reply via email to

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