On Wed, 2011-07-13 at 22:52 -0500, Jeremiah Benham wrote:
On 07/05/2011 08:37 AM, Richard Shann wrote:
On Tue, 2011-07-05 at 10:34 +0100, Richard Shann wrote:
Looking at your example, I wonder if a somewhat different approach to
storing the melody might be good. It could be stored as a normal
denemo
score, but with each note having a directive that alters its display
so
it doesn't show the pitch or accidental.
I have just been playing around with this:
If you execute this:
(d-C)
(d-DirectivePut-chord-graphic "test" "CrossSign")
(d-DirectivePut-chord-override "test" DENEMO_OVERRIDE_GRAPHIC)
(d-D)
(d-DirectivePut-chord-graphic "test" "CrossSign")
(d-DirectivePut-chord-override "test" DENEMO_OVERRIDE_GRAPHIC)
(d-E)
(d-DirectivePut-chord-graphic "test" "CrossSign")
(d-DirectivePut-chord-override "test" DENEMO_OVERRIDE_GRAPHIC)
You get hidden notes C, D, E which still play but cannot be seen.
Perhaps then I should create another script to generate the above based
on a denemo score?
That is easy - load the score then move the cursor to each CHORD and
execute the directive put commands - I think Nils may have a one-liner
to apply a given procedure to every chord in a movement. My recent
scripts (e.g. fix slurs called by CheckScore) do this sort of traversal
of a score.
How would this approach deal with accidentals. Sure
the key signature would accommodate changes in name (like value (d-C)
really meaning cis,,) I haven't tested that.
accidentals are ok, it just hides the chord.
If you put the cursor on the first note and hold down the Control key
while playing in on a MIDI keyboard the cursor will advance only when
you play the right note. (This is the Checking mode for MIDI in)
I like that idea. I am attaching an implementation of your idea above. I
can see writing in the (c-D)(c-D) would get tedious. Should I write a
script to export this list from a denemo score? Could I possibly do
something like (d-Open "filename") go through the file and
yes - see above - you would create a procedure to be executed on each
CHORD, as I say Nils probably has one, perhaps also with a test
procedure (ie for-each-object-in-score test dothunk) which does dothunk
if test is true until there are no more objects, and then returns to the
original position.
put this on
each note:
(d-DirectivePut-chord-graphic "test" "CrossSign")
(d-DirectivePut-chord-override "test" DENEMO_OVERRIDE_GRAPHIC)
Richard
Jeremiah
Richard