denemo-devel
[Top][All Lists]
Advanced

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

Re: [Denemo-devel] Paste again


From: Nils Gey
Subject: Re: [Denemo-devel] Paste again
Date: Fri, 28 May 2010 19:32:02 +0200

Paste is now in denemo.scm
The bug is fixed, too. I had a wrong (and [conditions]) order so that a 
cursormovement command got executed before it was allowed to.

One bug and one problem remain:

1) There is a regression in SplitMeasure. The cursormovement after splitting is 
broken suddenly. I briefly reviewed the situation and there is a chance it 
might be a C regression.
2) I allowed myself to not put paste into the menusystem as file with only 
(d-Paste) in it but directly bound (d-Paste), which is defined in denemo.scm 
now, with <scheme></scheme> in Default.cmdset. I find this a very good solution 
because everything what is needed is now in Default.cmdset . I think this a 
possibility that should be used in the future especially if anything from my 
new controlling with midi-modes ("Circumstances") will be implemenented (by me).

The problem now is, that paste is not in the menu-system anymore but it works 
as shortcut. If this way of entering commands that are mainly defined in 
denemo.scm or init.smc(s) is accepted for Denemo then there is need for a new 
xml tag <MenuPosition> (or whatever) that defines the position in Denemos menus 
and eventually overrules the menu-by-path system.

Now that I think about it... wasn't there a possibility for users to rearrange 
the menus? This would mean that <MenuPosition>, in some flavour, must be 
already there. If not: Rearranging the menus through a keymap is a good tool 
for users to customize their Denemo-install.

Nils




On Fri, 28 May 2010 09:50:19 +0100
Richard Shann <address@hidden> wrote:

> Thinking about it, the problem is slightly deeper. We should not do
> Paste as a user-type script (one that can be deleted by the user) as it
> is too fundamental. Instead we should include it from denemo.scm so that
> it is always available.
> Richard
> 
> On Fri, 2010-05-28 at 09:31 +0100, Richard Shann wrote:
> > There is a structural problem with the d-Paste script. It invokes
> > d-GoToMeasureEnd which may not exist. To do this correctly you must
> > define the functionality you want in init.scm in the directory that
> > holds d-Paste.
> > This would be something like
> > (define Paste::GoToMeasureEnd ....)
> > And then invoke that function.
> > 
> > If you think users might find it useful to have a GoToMeasureEnd
> > command, then this would be a short script simply invoking
> > Paste::GoToMeasureEnd.
> > 
> > There would be other possible placements for the components (the most
> > general things go in denemo.scm; and then there is the story about
> > invoking things like Paste::GoToMeasure end from scripts not in the same
> > dir as Paste (ensuring that the init.scm has been run). But the bottom
> > line is that ***you must not invoke other user commands***, as the user
> > is entitled to delete them.
> > 
> > Richard
> > 
> > 
> > 
> > On Tue, 2010-05-25 at 18:44 +0200, Nils Gey wrote:
> > > All the wishes and corrections should be in git now. Please check if 
> > > paste does not behave like you expect it to do.
> > > 
> > > Nils
> > > 
> > > 
> > > On Sat, 22 May 2010 17:39:46 +0200
> > > Nils Gey <address@hidden> wrote:
> > > 
> > > > On Sat, 22 May 2010 15:58:51 +0100
> > > > Richard Shann <address@hidden> wrote:
> > > > 
> > > > > Ok, after a make install step the paste is functional. (Sorry about my
> > > > > confusing messages).
> > > > > I have not tested the new Paste much, but I notice that when pasting a
> > > > > single note or short group into a sequence of empty measures the 
> > > > > cursor
> > > > > goes on to the next measure each time, even though the one being 
> > > > > pasted
> > > > > into is not full. 
> > > > 
> > > > This was an easy fix, already in git.
> > > > Strange: This additional step to the right was needed in the old 
> > > > version (even in the first scripted paste, you may remember that you 
> > > > have added it on my request).
> > > > I don't know what has changed that does the step to the right now, but 
> > > > something has.The cursor now stays exactly one "step" right after the 
> > > > last pasted object, making mass-pasting possible again.
> > > > 
> > > > 
> > > > > Still, I think it would be much better if it allowed repeated pasting
> > > > > into empty measures. A staff full of empty measures is what you get 
> > > > > when
> > > > > you have transcribed one part and are working on a second part.
> > > > > Another - very similar point. Pasting at the end of a measure does not
> > > > > create a new measure, which I would expect it to. I think of Pasting 
> > > > > as
> > > > > the same as typing in the things that are on the clipboard one after 
> > > > > the
> > > > > other into denemo.
> > > > 
> > > > I'm going to integrate this now. There are pros and contras for that, 
> > > > but lets see if I can write something that does exactly what is needed 
> > > > but does not dis-arrange errors in other situations.
> > > > 
> > > > > Oh dear! I hope I don't sound to negative. Paste is such a nightmare.
> > > > > Richard
> > > > 
> > > > Not at all. The cursor-jumping was a silly thing, I have no idea why 
> > > > its suddenly not needed anymore. The remaining issue is a design 
> > > > decision (I have just agreed on with you).
> > > > The nightmare begins once I'm done and begin to send bugreports that 
> > > > can only be solved in C :)
> > > > 
> > > > Nils
> > > > 
> > > > > 
> > > > > On Sat, 2010-05-22 at 15:34 +0100, Richard Shann wrote:
> > > > > > Oh, I see, it is a new file in denemo. That could be a problem as
> > > > > > normally everything can be eclipsed or supplemented locally
> > > > > > (in .denemo/actions). hmmm
> > > > > > But clearly, denemo.scm is getting very big.
> > > > > > Richard
> > > > > > 
> > > > > > On Sat, 2010-05-22 at 15:29 +0100, Richard Shann wrote:
> > > > > > > (load "ans-7.scm")
> > > > > > > barfs on my installation. It is in the new denemo.scm
> > > > > > > the message is
> > > > > > > (open-file ~A: ~S (No such file or directory ans-7.scm) (2))
> > > > > > > this is executing the new denemo.scm in the scheme window - I 
> > > > > > > haven't
> > > > > > > tried installing it yet - that would normally then crash the 
> > > > > > > startup.
> > > > > > > 
> > > > > > > Richard
> > > > > > > 
> > > > > > > 
> > > > > > > On Sat, 2010-05-22 at 14:39 +0200, Nils Gey wrote:
> > > > > > > > Hello, 
> > > > > > > > 
> > > > > > > > I checked in a better Paste variant. 
> > > > > > > > 
> > > > > > > > ; Multistaff-Pasting always adds the complete part AFTER the 
> > > > > > > > current measure. It will never paste into an existing measure, 
> > > > > > > > not even in empty ones.   [<-- this is a possible enhancement, 
> > > > > > > > but it needs a way to check if there is an empty measure in all 
> > > > > > > > staffs. Just thought of that...]
> > > > > > > > 
> > > > > > > > ; Singlestaff-Pasting happens at the cursor position. If there 
> > > > > > > > are still notes in the current measure, after the cursor 
> > > > > > > > position, those will be shoved to the right and placed after 
> > > > > > > > the pasted section, no matter if the result produce underful or 
> > > > > > > > overful measures. No other measure gets modified other than the 
> > > > > > > > current one. Singlestaff-Pasting will fill any empty measure on 
> > > > > > > > its way, until a non-empty one is encountered.
> > > > > > > > 
> > > > > > > > I think this is a candidate that can be used. If you want, try 
> > > > > > > > to create a few absurd usecases and look how Paste reacts to 
> > > > > > > > them.
> > > > > > > > 
> > > > > > > > Also please test if paste now behaves like you would expect it 
> > > > > > > > to do (and what are your expectations? Sibelius, Emacs or Vim, 
> > > > > > > > Other Texteditors, Photoshop?)
> > > > > > > > 
> > > > > > > > Also, there are four scripts that use (d-Paste)
> > > > > > > > ./actions/menus/ObjectMenu/MeasureMenu/AddDuplicateMeasure
> > > > > > > > ./actions/menus/ObjectMenu/MeasureMenu/DeleteBarline
> > > > > > > > ./actions/menus/ObjectMenu/MeasureMenu/SplitMeasure
> > > > > > > > ./actions/menus/ObjectMenu/MeasureMenu/ReBar (OLD VERSION!)
> > > > > > > > 
> > > > > > > > Is (d-Paste) the trigger for the built-in variant or for the 
> > > > > > > > script?  If its for the script:
> > > > > > > > (d-SplitMeasure) makes use of (d-Paste), but paste also uses 
> > > > > > > > (d-SplitMeasure). I don't know what that recursion means, but 
> > > > > > > > it seems to work.
> > > > > > > > 
> > > > > > > > 
> > > > > > > > I hope that improves Denemo,
> > > > > > > > 
> > > > > > > > Nils 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > _______________________________________________
> > > > > > > > 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
> > > > > > 
> > > > > > 
> > > > > > _______________________________________________
> > > > > > 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
> > > > 
> > > 
> > > _______________________________________________
> > > 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]