Thread: [Lily4jedit-devel] QuickLily suggestions - part 1
Brought to you by:
fodber
From: Bertalan F. <fo...@fr...> - 2005-03-16 19:17:51
|
Now I'm trying to work with quicklily. I draft here my first experiences. - It would work in relative mode (or better, enable me to switch between relative and absolute mode) - Have you committed the key recognizer? - I must note that the key has to be settable by hand, because it happens very often that the melody is in a separate key, while the key signature remains the same. - I can't figure out what the difference is between Edit/Insert/Append mode. It should be renamed or/and documented. - The notepad - sharpens on my machine and not flattens. It is for documenting my experiences, if you don't have time, it is possible that I will hack the quicklily code :-) Bert |
From: Joshua K. <jos...@gm...> - 2005-03-17 01:55:44
|
Thanks for the feedback, I'll try to make changes tonight. Maybe I can explain a little here. 1. There are two quicklily "algorithms" that I plan to implement. a) Append Mode b) Smart Insertion (A) is the simpler algorithm because its just concerned about "appending" text to the text area. Hence, notes entry are absolute. I thought "Append mode" sounds confusing, so I placed a lyqi like mode (i thought lyqi only entry absolute notes) for now. If its doesnt fill the bill, free free to change the name too. Its possible to "hack" this method to give relative notes too. But the lily keys have to be type one after another. (B) is the method which will consider relative contexts. I actually did this method eariler, the code i think used for the note previewer entry, but after code changes for the NoteString class, I have yet to modify the code to make it work. What this methods does, is a BackMatcher is searched for "\relative note { " and the note pitches and duration are calculated all the way till where the cursor is, then insert the new note with its "relative pitch and duration". For this it will take some processing on every keystroke, so I'm planning to have a background thread to calcuate. I not sure how perfect will method B turn out to be. If its not doable, maybe B may be abandoned. method A can be used with the convert absolute to relative function, if not, do a relative hack on method A. 2. About insert and edit mode, its actually just a toggle whether you want to "insert" OR "edit" a note at the cursor. (Actually just 1 menu item or shortcut key could be needed to use the 2 modes). Meaning, insert will always insert a new note, and edit will change the note to the pitch when the pitch key is hitted. Actually if you use the shift note key (SHIFT +/- i think) you can modify the pitch too, so you might want to remove the "Edit mode". The reason why I thought of this mode was because of the note previewer which will have the option to drag a note pitch (edit) or double click a note (enter a new note). 3. The key recognizer is just a BackMatch to the preious \key. it will run only when you go into the "Append Mode". And the lily panel would reflect the key (for now). Maybe its not commited? Sometimes the connection to the cvs server disconnects for me. I can imagine the user adjusting the key maybe using a drop down list for a scale, or how would i reuse the dialog in the wizard which select key signature? 4. For the numpad + button, I have that problem too. I'm not sure, but jEdit doesnt seem to want to accept the "NUM +" keybinding. I'll try look into it and resolve it (at the same time change the method for storing the shortcuts). Feel free to make changes if you are eager to make any feature work , I will just the check the cvs always before I work on my part. ;) Joshua On Wed, 16 Mar 2005 20:17:40 +0100, Bertalan Fodor <fo...@fr...> wrote: > Now I'm trying to work with quicklily. I draft here my first experiences. > > - It would work in relative mode (or better, enable me to switch between > relative and absolute mode) > - Have you committed the key recognizer? > - I must note that the key has to be settable by hand, because it > happens very often that the melody is in a separate key, while the key > signature remains the same. > - I can't figure out what the difference is between Edit/Insert/Append > mode. It should be renamed or/and documented. > - The notepad - sharpens on my machine and not flattens. > > It is for documenting my experiences, if you don't have time, it is > possible that I will hack the quicklily code :-) > > Bert > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Lily4jedit-devel mailing list > Lil...@li... > https://lists.sourceforge.net/lists/listinfo/lily4jedit-devel > |
From: Joshua K. <jos...@gm...> - 2005-03-17 05:18:46
|
Arrr... I couldnt be more silly. I shall name them to Relative Mode, and Absolute Mode. :p Joshua On Thu, 17 Mar 2005 09:55:26 +0800, Joshua Koo <jos...@gm...> wrote: > Thanks for the feedback, I'll try to make changes tonight. > > Maybe I can explain a little here. > > 1. > There are two quicklily "algorithms" that I plan to implement. > a) Append Mode > b) Smart Insertion > > (A) is the simpler algorithm because its just concerned about > "appending" text to the text area. Hence, notes entry are absolute. I > thought "Append mode" sounds confusing, so I placed a lyqi like mode > (i thought lyqi only entry absolute notes) for now. If its doesnt fill > the bill, free free to change the name too. Its possible to "hack" > this method to give relative notes too. But the lily keys have to be > type one after another. > > (B) is the method which will consider relative contexts. I actually > did this method eariler, the code i think used for the note previewer > entry, but after code changes for the NoteString class, I have yet to > modify the code to make it work. What this methods does, is a > BackMatcher is searched for "\relative note { " and the note pitches > and duration are calculated all the way till where the cursor is, then > insert the new note with its "relative pitch and duration". For this > it will take some processing on every keystroke, so I'm planning to > have a background thread to calcuate. > > I not sure how perfect will method B turn out to be. If its not > doable, maybe B may be abandoned. method A can be used with the > convert absolute to relative function, if not, do a relative hack on > method A. > > 2. > About insert and edit mode, its actually just a toggle whether you > want to "insert" OR "edit" a note at the cursor. (Actually just 1 menu > item or shortcut key could be needed to use the 2 modes). Meaning, > insert will always insert a new note, and edit will change the note to > the pitch when the pitch key is hitted. Actually if you use the shift > note key (SHIFT +/- i think) you can modify the pitch too, so you > might want to remove the "Edit mode". The reason why I thought of this > mode was because of the note previewer which will have the option to > drag a note pitch (edit) or double click a note (enter a new note). > > 3. > The key recognizer is just a BackMatch to the preious \key. it will > run only when you go into the "Append Mode". And the lily panel would > reflect the key (for now). Maybe its not commited? Sometimes the > connection to the cvs server disconnects for me. > > I can imagine the user adjusting the key maybe using a drop down list > for a scale, or how would i reuse the dialog in the wizard which > select key signature? > > 4. > For the numpad + button, I have that problem too. I'm not sure, but > jEdit doesnt seem to want to accept the "NUM +" keybinding. I'll try > look into it and resolve it (at the same time change the method for > storing the shortcuts). > > Feel free to make changes if you are eager to make any feature work , > I will just the check the cvs always before I work on my part. ;) > > Joshua > > On Wed, 16 Mar 2005 20:17:40 +0100, Bertalan Fodor <fo...@fr...> wrote: > > Now I'm trying to work with quicklily. I draft here my first experiences. > > > > - It would work in relative mode (or better, enable me to switch between > > relative and absolute mode) > > - Have you committed the key recognizer? > > - I must note that the key has to be settable by hand, because it > > happens very often that the melody is in a separate key, while the key > > signature remains the same. > > - I can't figure out what the difference is between Edit/Insert/Append > > mode. It should be renamed or/and documented. > > - The notepad - sharpens on my machine and not flattens. > > > > It is for documenting my experiences, if you don't have time, it is > > possible that I will hack the quicklily code :-) > > > > Bert > > > > ------------------------------------------------------- > > SF email is sponsored by - The IT Product Guide > > Read honest & candid reviews on hundreds of IT Products from real users. > > Discover which products truly live up to the hype. Start reading now. > > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > > _______________________________________________ > > Lily4jedit-devel mailing list > > Lil...@li... > > https://lists.sourceforge.net/lists/listinfo/lily4jedit-devel > > > |
From: Bertalan F. <fo...@fr...> - 2005-03-17 09:37:10
|
Joshua, don't make the relative mode too complicated! It should be very easy to implement, because you don't have to recognize relative blocks! It would be perfectly satisfiable, if I set the first octave manually, (quicklily would use no octave shifting) and all the following pitch is calculated relative to the previous one. We need not not know about the absolute meanings of the pitches, but we can know, that there is one octave shift between pressing the 'c' key and pressing the 'm' key. We don't want to be perfectly smart in all situations, because we just can not, because we are not a lilypond interpreter. The same is true for durations. We can try to guess the duration of the previous note, similarly like in what-beat.bsh, but can keep it as the user's responsibility as well. Actually this is the same conceptual scheme than with the key recognizer. We don't want to recognize the would-be state of the lilypond interpreter at any caret position. We just try something to provide a not too bad default, but the user will be able to change it very easily. For example, when the user turns on quicklily mode, we can show him the guessed key using the MacroUtils.showTimedWindow method (for usage example see macros/what-beat.bsh) and allow him to change the key with a keystroke. I find very important to not fall into the error or TeX: wanting to know everything, and missing to know just anything. Bert |