Tue 20 Apr 2010 07:25:00 PM UTC, comment #2:
Thanks for the fix; I'm not able to test it now due to being on Windows. I found at least one other case that doesn't involve (d-MoveToBeginning) (or end)(just open the attached .denemo):
Enter 2 4/4 bars of quarter notes,
In bar 3 change to 3/4 and enter a few notes.
The following cursor movements all cause the problem:
Starting with the cursor at the beginning of bar 3 (on the timesig change):
(d-MoveCursorLeft)
(d-InfoDialog (d-InsertTimeSig "query=timesigname"))
Alternately, this has the same unwanted effect(also starting from the 3/4 timesig in bar 3):
(d-MoveToMeasureLeft)
(d-InfoDialog (d-InsertTimeSig "query=timesigname"))
Both should display 4/4 but show 3/4.
The corresponding movements to the right, however, seem to work fine.
It seems that generally speaking, entering a bar from the right causes the problem (when the measure you're going into has a different timesig)--this can easily be seen visually as denemo changes the spacing in the notes as you move to the left into a bar of different time signature: just put the cursor in the third bar and move your cursor to the left; you'll see the display hiccup as it enters bar 2, unless it's been fixed already. I think that's just a symptom of needing to refresh as you did to the gotohome command.
Attached the denemo file to save having to set it up as I wrote above.
-Dan
(file #20289)
|
Tue 20 Apr 2010 01:13:05 PM UTC, comment #1:
Thank you very much for looking into this. Your script proved invaluable in establishing exactly what to fixed and to test the fix. I have also fixed a crash on deleting a timesig change. Please let me know if you locate other cases, as I don't use timesig changes much myself, so am unlikely to see the problems.
I'll change this to fixed, but re-open if you can find other cases (I fixed the goto end one).
|
Tue 20 Apr 2010 12:55:22 AM UTC, original submission:
Hi Guys,
While trying to update the Rebar script to use the "query=timesigname" stuff, I found that a problem was being caused by what's probably a familiar denemo quirk. Namely, when you move to a measure from a measure with a different time signature, denemo temporarily thinks it's still in the old signature. To see what I'm referring to, try this:
1.Insert 4 quarter notes in a blank score, 4/4 timesig.
2.Insert a timesig change to 3/4, and enter a couple quarters.
3.Now hit the home key or MoveToBeginning. The 4/4 measure will be expanded, until you move the cursor, at which point it shrinks to normal size.
Apparently Denemo still thinks it's in 3/4 time in step 3. This makes for a problem when trying to query the initial time signature since doing so after (d-MoveToBeginning) in a script tells you the time signature from the measure you WERE in before the move. To see what I mean, run this script when you put the cursor in bar 2 from the above example:
(d-MoveToBeginning)
(d-InfoDialog (d-InsertTimeSig "query=timesigname"))
I get "3/4" as the output, but it should be 4/4. Running the script twice in succession, denemo realizes it's in 4/4.
Not sure how to wake denemo out of its trance, so to speak, via script, so it realizes its in a new bar. (d-RefreshDisplay) doesn't do it.
-Dan W.
|