bugDenemo - Bugs: bug #31238, Tested the 0.8.20 candidate for...

 
 

bug #31238: Tested the 0.8.20 candidate for windows, crash

Submitted by:  None
Submitted on:  Sun 03 Oct 2010 10:45:16 PM UTC  
 
Category: NoneSeverity: 3 - Normal
Item Group: NoneStatus: Fixed
Privacy: PublicAssigned to: None
Open/Closed: Closed

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Mon 01 Nov 2010 06:13:54 PM UTC, comment #5:

in git.

Richard Shann <rshann>
Project Administrator
Mon 01 Nov 2010 05:36:16 PM UTC, comment #4:

This designate voice script lacks one thing. It should cursor right as the last thing it does so that you can go on entering notes in your new voice setting without having to move past it first.
Just add the line (d-MoveCursorRight) right after
(d-DirectivePut-standalone-minpixels "Voice" 10 )
so the new script will be as follows. -DW

;;DesignateVoice
(let ((choice #f)(label #f)
(OneVoice "OneVoice: Default-For a single voice on a staff") (VoiceOne "VoiceOne: Designate as upper voice")
(VoiceTwo "VoiceTwo: Designate as lower voice")(VoiceThree "VoiceThree: Horizontally offset upper voice")
(VoiceFour "VoiceFour: Horizontally offset lower voice")
)
(set! choice (d-GetOption (string-append OneVoice stop VoiceOne stop VoiceTwo stop VoiceThree stop VoiceFour stop) ) )
(cond
( (equal? choice VoiceOne ) (begin (set! choice "voiceOne") (set! label "Voice1") ))
( (equal? choice VoiceTwo ) (begin (set! choice "voiceTwo") (set! label "Voice2") ))
( (equal? choice VoiceThree ) (begin (set! choice "voiceThree") (set! label "Voice3") ))
( (equal? choice VoiceFour ) (begin (set! choice "voiceFour") (set! label "Voice4") ))
( (equal? choice OneVoice ) (begin (set! choice "oneVoice") (set! label "1Voice") ) )
)
(if choice
(begin
(d-DirectivePut-standalone "Voice" )
(d-DirectivePut-standalone-display "Voice" label )
(d-DirectivePut-standalone-ty "Voice" 60 )
(d-DirectivePut-standalone-postfix "Voice" (string-append "\\" choice ) )
(d-DirectivePut-standalone-minpixels "Voice" 10 )
(d-MoveCursorRight)
)
)
)

Anonymous
Mon 25 Oct 2010 12:07:38 AM UTC, comment #3:

This is an improvement of the DesignateVoice script.
It now cancels when you hit Cancel, rather than insert a useless blob, and gives more information when run.
The documentation is better too, but does it need to be put somewhere else as well, in a commands file?
-Dan W.

<tooltip>These commands are used when entering several voices per staff.
VoiceOne is for the upper voice-it sets the direction of slurs, beams, etc. up to avoid clashes.
VoiceTwo is for the lower voice, and it sets the directions down.
Additional voices beyond two are offset slightly to the right.</tooltip>

;;;DesignateVoice
(let ((choice #f)(label #f)
(OneVoice "OneVoice: Default-For a single voice on a staff") (VoiceOne "VoiceOne: Designate as upper voice")
(VoiceTwo "VoiceTwo: Designate as lower voice")(VoiceThree "VoiceThree: Horizontally offset upper voice")
(VoiceFour "VoiceFour: Horizontally offset lower voice")
)
(set! choice (d-GetOption (string-append OneVoice stop VoiceOne stop VoiceTwo stop VoiceThree stop VoiceFour stop) ) )
(cond
( (equal? choice VoiceOne ) (begin (set! choice "voiceOne") (set! label "Voice1") ))
( (equal? choice VoiceTwo ) (begin (set! choice "voiceTwo") (set! label "Voice2") ))
( (equal? choice VoiceThree ) (begin (set! choice "voiceThree") (set! label "Voice3") ))
( (equal? choice VoiceFour ) (begin (set! choice "voiceFour") (set! label "Voice4") ))
( (equal? choice OneVoice ) (begin (set! choice "oneVoice") (set! label "1Voice") ) )
)
(if choice
(begin
(d-DirectivePut-standalone "Voice" )
(d-DirectivePut-standalone-display "Voice" label )
(d-DirectivePut-standalone-ty "Voice" 60 )
(d-DirectivePut-standalone-postfix "Voice" (string-append "\\" choice ) )
(d-DirectivePut-standalone-minpixels "Voice" 10 )
)
)
)

(file #21798)

Anonymous
Mon 04 Oct 2010 08:31:09 PM UTC, comment #2:

Concerning 2 (that there should be a command to zoom in/out besides ZoomDialog)--I can't find these commands, and the obvious guesses d-ZoomIn don't work. (Sure it's best if you have a mouse, but some folks won't.)

#7&10 are definitely similar. I didn't realize how hard it must have been to get the cursor working well until I looked hard at how it changes position depending on how close the notes are to each other, etc. It looks like the way denemo draws the bars doesn't leave a lot of room for a cursor towards the end of each bar, full or not.
My proposal: All bars (underfull, full or overfull) get an amount of extra whitespace at the end. It would be just the right amount so that the red/blue block cursor and the blinker would be cleanly to the right of everything in the bar. So, about half the width of the block cursor plus the width of the blinker. Unfortunately I have no idea how feasible this would be and whether it would make the visual appeal less convincing, but I think it would give enough room for the cursor to do its thing without too many special gymnastics. If this is done for all bars (regardless of full status) it should resolve these issues well enough, and whatever remains should be able to be eventually polished up just by tweaking the cursor's "AI" regarding its place in the bar.

I really do like the new cursor but I see how it's not as simple as a word processing cursor due to variable width for notes, barlines, etc. Hope my suggestion is helpful.
-Dan

Anonymous
Mon 04 Oct 2010 02:16:30 PM UTC, comment #1:

0) is now fixed
1) I would go for export not save as
2) I think there is already a command, just needs a shortcut, but serious use of Denemo without a good mouse seems problematic to me.
3) this might be quite a thorny one to resolve - look at the current output of denemo reading the elite.mxml example
4) yes, I think they should be there - I think you get them from enter rest then intelligent delete...
5) Not so sure. It would make scripting difficult (Time sigs are an object which would have to be stepped over). A version of AddVoice that did this would be ok though.
6) I haven't done further investigations here.
7) yes, there is still a positioning problem at end of bar I think
8) better still it could sort out what you mean
9) yes
10) I think this is (7) again...
Thanks for your work.

Richard Shann <rshann>
Project Administrator
Sun 03 Oct 2010 10:45:16 PM UTC, original submission:

Entering a substantial score on the candidate for Windows (on XP) I had a few comments not necessarily pertaining to just this release.

0.Crash: Checked "Use last settings on startup" in Change pref's, then unselected Lyrics from view menu. This crashed denemo.

1. Not sure about the "Save As Midi" concept (which is by no means new, of course). Some other programs use Export to make a file in another format that the program can't import (e.g. Inkscape and probably a lot of others), but some use Save As. It's a little disconcerting that to make a midi file you have to save as and turn your file into a midi file, i.e. the filename in the title bar is now .midi, and the dialog "I advise you to [save as .denemo]" is unusual--not used to a program refer to an "I". But on the other hand it's handy to be able to just hit save and get an updated midi and save the denemo, since I use another program to play the midi due to fluidsynth's very irregular performances. Have you considered switching to an Export-based way of doing this?

2. Laptops don't have a mousewheel, at least not the one I tried this on, so please...make the zoom in/out a command that can be run from the keyboard. The only other option is zoom dialog which is more cumbersome.

3.The Rebar/Adjust measure lengths trashes the score if you have a staff that's got a lot of empty measures. It needs to be aware that this is a potential situation and perhaps prompt the user to fill in with blank rests. I hope to get to this eventually.

4. The commands to insert a blank rest were not in the menus of the commandset I started with--I think I went with classic. These are really important for polyphonic piano music. I propose ctrl+shift+0,1,2.... for these or something similar. I think there should be a Toggle Blank command to convert regular rests to blanks also.

5. If you add a voice to an existing staff that has TimeSig changes, that voice should get all those changes upon creation. But this is not the case (I'll have to give more detail on this when I get to it if it's not clear).

6. The accidentals not being persistent is a significant annoyance which I'm pretty certain was working better before. In fact, if you add a note to a chord, it DOES use accidentals from earlier in the bar; it's just insertion that forgets about the earlier accidentals.

7. When cursor is at end of staff, the blinking part is right on top of the previous note; it should be to the right of the last note. [I'll have to give more details later probably]

8. I recommend renaming join voices to join with previous staff--so you know which way it joins.

9. The help on Designate Voice is pretty uninformative (written by me). Also, I think it should be in voice menu, but that's just my opinion. Adding "Use OneVoice when there is a single voice on a staff. With multiple voices, use VoiceOne for the upper voice, VoiceTwo for the lower voice; VoiceThree is a horizontally offset upper voice, and VoiceFour is a horizontally offset lower voice." would be helpful.

10. It's not possible to put the cursor at the end of an underfull measure with an existing next measure. You can insert notes there but the cursor has to be in the NEXT bar.

Hope this is helpful.
-Dan W.

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

Attached Files
file #21798:  DesignateVoice added by None (2KiB - application/octet-stream - Improved DesignateVoice )

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by steele (Updated the item)
  • -unavailable- added by rshann (Posted a comment)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sat 04 Dec 2010 12:14:20 PM UTCsteeleOpen/ClosedOpen=>Closed
    Tue 26 Oct 2010 08:39:17 PM UTCrshannStatusNone=>Fixed
    Mon 25 Oct 2010 12:07:38 AM UTCNoneAttached File-=>Added DesignateVoice, #21798

    Back to the top


    Powered by Savane 3.1-cleanup1