denemo-devel
[Top][All Lists]
Advanced

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

Re: [Denemo-devel] Anacrusis script needed


From: Richard Shann
Subject: Re: [Denemo-devel] Anacrusis script needed
Date: Fri, 09 Oct 2009 12:46:38 +0100

On Fri, 2009-10-09 at 11:06 +0200, Nils wrote:
> I tried the script.
> 
> I like the new way. Choosing the value automatically is much better than the 
> previous, manual version. 

??  I am not sure you realize that if you change your mind about the
length of the upbeat you have to re-issue the anacrusis command.
It would be much nicer if we could have dynamic objects that were linked
to other objects and registered callbacks for certain changes that those
objects received, that is, if Denemo had been written with its objects
derived from GObject.
But I have been thinking about what would be possible without starting
again with Denemo from scratch. My idea for this was that commands could
have "RefreshScripts" and these could be run as suited the user (e.g. on
a timer, before print etc, on demand ...) This would be quite simple -
in the case of Anacrusis it would just repeat the command, but other
things would have to do some work, e.g. going through the score looking
for bar number adjustments, so that if you added measures in a 1st Time
Bar the bar numbers of the following section would follow suit, updating
the graphics in Rehearsal Marks to cope with insertion of rehearsal
marks.
I intended to put this in the [[category::designs]] on the website.

Richard


> 
> This is typical example where a script that works like "get values in the 
> moment where the object is used/played/printed" is better than "create static 
> values when creating the denemo-object".
> 
> This way the anacrusis script would be right all the time, even if you delete 
> or add notes in the anacrusis measure.
> 
> Nils
> 
> 
> On Fri, 09 Oct 2009 09:22:41 +0100
> Richard Shann <address@hidden> wrote:
> 
> 
> 
> > I have checked in a general Anacrusis (upbeat, auftakt) script. The only
> > things it doesn't do is tell Denemo that the first measure is actually
> > complete and adjust Denemo's numbering. The first would require multiple
> > denemo objects (in general), which would be unpleasant. I have in mind a
> > longer term solution to this (also solves whole measure rests in 9/8
> > etc) which involves defining a new duration value -1 with meaning
> > "derive duration from basic_durinticks which would allow us to represent
> > arbitrary durations. The bar numbering problem also affects 1st/2nd time
> > bars (BTW is "bars" acceptable in American English here?), it would
> > bring in all the same issues as chaning timesigs and  clefs, that is,
> > there would be a requirement to cache the value, and as usual we hit the
> > problem of having no measure object to store values in (hence fields to
> > store the leftmost value, and updates during the draw routine and so
> > on...).
> > 
> > NOTE! I have created d-GetDurationInTicks to support this: I couldn't
> > find previous discussion around this topic, so I hope it is all in line
> > with what we thought then... The ticks in question are 384 to the
> > quarter note, which is IIRC the ppqn of the MIDI, but I am not sure they
> > are all linked properly. *AND* I notice lilypond is supporting 1/256th
> > notes and smaller, which we can't do with this value.
> > Also: d-NextObjectInMeasure exists now.
> > 
> > Richard
> > 
> > 
> > 
> > On Sun, 2009-09-06 at 10:13 -0500, Jeremiah Benham wrote:
> > > I could tale this on but not right away.
> > > 
> > > Jeremiah
> > > 
> > > On Sep 6, 2009, at 8:52 AM, Richard Shann <address@hidden>  
> > > wrote:
> > > 
> > > > We need an anacrusis script that is more than the current (which is
> > > > really just a sample of how it is done - it does a 1/8th note upbeat).
> > > >
> > > > It could work as follows. You put in an incomplete first measure and
> > > > then hit Anacrusis.
> > > > The script iterates over the first measure adding the durations then  
> > > > it
> > > > creates the needed lilypond as in the current script
> > > > i.e. something like
> > > >
> > > > \partial 8*2
> > > >
> > > > for two 1/8th  notes (i.e. 1/4 note) - I am not clear about the exact
> > > > syntax.
> > > > then it can proceed as in the current anacrusis script placing the
> > > > directive at the start and when finished it should create a new  
> > > > measure
> > > > after the current one and move the cursor there.
> > > >
> > > > Future development would add something to the directive to tell Denemo
> > > > that the measure is complete, and also not to count it as measure 1 -
> > > > this is part of a topic that is bubbling away in my head.
> > > >
> > > > I would like this script. But I would be very happy if someone else
> > > > actually wrote it...
> > > >
> > > > I'll put this in the TODO list.
> > > >
> > > > Richard
> > > >
> > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > Denemo-devel mailing list
> > > > address@hidden
> > > > http://lists.gnu.org/mailman/listinfo/denemo-devel
> > 
> > 
> > 
> > _______________________________________________
> > Denemo-devel mailing list
> > address@hidden
> > http://lists.gnu.org/mailman/listinfo/denemo-devel
> > 
> 
> 





reply via email to

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