From: M. D. <ztr...@ad...> - 2007-07-21 04:04:45
Attachments:
rg-tab.diff.tar.bz2
|
Hi all, Woke up the other day with a less than elegant, but workable, solution to the tablature problem. Create a separate TablatureView instead of trying to integrate with std notation. I've attached a diff file (and a highly artistic toolbar button). Not sure if I did it correctly, but it appears to work on my machine. TODOs: Staff lines missing when TablatureView first opened. They appear on subsequent openings. Tab noteads are nearly unreadable. Are they being overwritten? Why? Beaming messed up. Stem lengths sometimes wrong. Is stem length property local to the view? It needs to be for this to work. No effect on screen when a note is edited. This happens in NotationView as well once a TablatureView has been opened. Is it a problem in the toolbox, the commands, or neither? Can this be because of initialization of NotationView::m_properties? Tablature "clef" should only appear at start of Track (or of Segment). Dialog for changing tablature tuning. Button to toggle stems. Need editing interface more friendly for tablature. Virtual fretboard like KGuitar. Lots more ad nausium. |
From: Guillaume L. <gla...@te...> - 2007-07-21 12:15:51
|
On Saturday 21 July 2007, M. Donalies wrote: > I've attached a diff file (and a highly artistic toolbar button). Not sure > if I did it correctly, but it appears to work on my machine. It doesn't seem to apply cleanly on current svn. It looks like the recent menu-related changes are part of the problem. Are you sure your tree is up to date ? -- Guillaume. http://telegraph-road.org |
From: Guillaume L. <gla...@te...> - 2007-07-21 12:25:24
|
On Saturday 21 July 2007, Guillaume Laurent wrote: > On Saturday 21 July 2007, M. Donalies wrote: > > I've attached a diff file (and a highly artistic toolbar button). Not > > sure if I did it correctly, but it appears to work on my machine. > > It doesn't seem to apply cleanly on current svn. Actually it does, with good old 'patch' command and the right options (namely ignoring whitespace changes, which Eclipse patch applying feature doesn't seem to know how to). -- Guillaume. http://telegraph-road.org |
From: Guillaume L. <gla...@te...> - 2007-07-21 12:29:32
|
On Saturday 21 July 2007, Guillaume Laurent wrote: > On Saturday 21 July 2007, Guillaume Laurent wrote: > > On Saturday 21 July 2007, M. Donalies wrote: > > > I've attached a diff file (and a highly artistic toolbar button). Not > > > sure if I did it correctly, but it appears to work on my machine. > > > > It doesn't seem to apply cleanly on current svn. > > Actually it does, with good old 'patch' command and the right options > (namely ignoring whitespace changes, which Eclipse patch applying feature > doesn't seem to know how to). Applies, but doesn't compile : /home/glaurent/rgworkspace/rosegarden-tablature-patch/src/base/Track.h: In member function ‘const Rosegarden::TablatureTuning& Rosegarden::Track::getTablatureTuning() const’: /home/glaurent/rgworkspace/rosegarden-tablature-patch/src/base/Track.h:123: error: ‘m_tabTuning’ was not declared in this scope/home/glaurent/rgworkspace/rosegarden-tablature-patch/src/base/Track.h: In member function ‘const Rosegarden::TablatureTuning& Rosegarden::Track::getTablatureTuning() const’: /home/glaurent/rgworkspace/rosegarden-tablature-patch/src/base/Track.h:123: error: ‘m_tabTuning’ was not declared in this scope /home/glaurent/rgworkspace/rosegarden-tablature-patch/src/base/Track.h: In member function ‘Rosegarden::TablatureTuning& Rosegarden::Track::getTablatureTuning()’: /home/glaurent/rgworkspace/rosegarden-tablature-patch/src/base/Track.h:128: error: ‘m_tabTuning’ was not declared in this scope /home/glaurent/rgworkspace/rosegarden-tablature-patch/src/base/Track.h: In member function ‘Rosegarden::TablatureTuning& Rosegarden::Track::getTablatureTuning()’: /home/glaurent/rgworkspace/rosegarden-tablature-patch/src/base/Track.h:128: error: ‘m_tabTuning’ was not declared in this scope make[2]: *** [RGbuild/CMakeFiles/RosegardenCommon.dir/misc/Debug.o] Error 1 -- Guillaume. http://telegraph-road.org |
From: M. D. <ztr...@ad...> - 2007-07-21 13:55:26
Attachments:
rg-tab2.diff.tar.bz2
|
On Saturday 21 July 2007 12:29, Guillaume Laurent wrote: > Applies, but doesn't compile : Sorry. I stripped out too much when making the diff. I attached a new patch. These are the commands I used: cp rg-tab2.diff rosegarden cp tablature.png rosegarden/data/pixmaps/toolbar cd rosegarden patch --strip 1 -li rg-tab2.diff |
From: M. D. <ztr...@ad...> - 2007-07-21 14:11:59
|
Once it's up and running, opening the TablatureView the first time will display things crappy. Close and re-open in TablatureView. It's still got problems, but it's better. Something doesn't get initialized the first go round. |
From: Guillaume L. <gla...@te...> - 2007-07-21 15:01:47
|
On Saturday 21 July 2007, M. Donalies wrote: > Once it's up and running, opening the TablatureView the first time will > display things crappy. Close and re-open in TablatureView. It's still got > problems, but it's better. Something doesn't get initialized the first go > round. It seems more complicated than this, I had to close/re-open it twice before getting staff lines. Anyway, as it is I'm kinda doubtful. If I understand correctly, you've made an altered notation view which displays notes like a tablature, but still lets you enter them like the normal notation, and this is quite awkward. You have to guess as to how a new note will be "interpreted" when you input it, I don't see how this is a convenient way to enter a tablature. I'll commit your patch in a seperate branch so others can have a look, but as it is I wouldn't integrate it to trunk, sorry. -- Guillaume. http://telegraph-road.org |
From: M. D. <ztr...@ad...> - 2007-07-21 15:41:48
|
On Saturday 21 July 2007 15:01, Guillaume Laurent wrote: > It seems more complicated than this, I had to close/re-open it twice before > getting staff lines. Anyway, as it is I'm kinda doubtful. If I understand > correctly, you've made an altered notation view which displays notes like a > tablature, but still lets you enter them like the normal notation, and this > is quite awkward. You have to guess as to how a new note will > be "interpreted" when you input it, I don't see how this is a convenient > way to enter a tablature. > > I'll commit your patch in a seperate branch so others can have a look, but > as it is I wouldn't integrate it to trunk, sorry. A separate branch would be very good. It's not ready for prime time. I think you misunderstand my intentions. Don't think about editing yet. I haven't done anything with the user interface for editing. It's more like: "I thought of a way to get tablature working. The trade-off is that it appears in a view by itself, like notation or matrix. Is this a reasonable idea?" There are several ways to deal with editing tablature. The easiest to implement (and most awkward to use) is to make the note inserter pop up a dialog asking for string and fret. I have a prototype around somewhere that does this. Combined with a virtual fretboard similar to tuxguitar or kguitar, this might be all that's required. |
From: Guillaume L. <gla...@te...> - 2007-07-21 16:55:03
|
On Saturday 21 July 2007, M. Donalies wrote: > On Saturday 21 July 2007 15:01, Guillaume Laurent wrote: > > It seems more complicated than this, I had to close/re-open it twice > > before getting staff lines. Anyway, as it is I'm kinda doubtful. If I > > understand correctly, you've made an altered notation view which displays > > notes like a tablature, but still lets you enter them like the normal > > notation, and this is quite awkward. You have to guess as to how a new > > note will > > be "interpreted" when you input it, I don't see how this is a convenient > > way to enter a tablature. > > > > I'll commit your patch in a seperate branch so others can have a look, > > but as it is I wouldn't integrate it to trunk, sorry. > > A separate branch would be very good. It's not ready for prime time. OK. If you want we can give you svn access and you can work into the branch I've just set up. > I think you misunderstand my intentions. Don't think about editing yet. I > haven't done anything with the user interface for editing. It's more like: > "I thought of a way to get tablature working. The trade-off is that it > appears in a view by itself, like notation or matrix. Is this a reasonable > idea?" Oh, then I misunderstood you indeed. As far as I'm concerned, yes, I think it's a reasonable idea. However, at this point, the problem we have is that any further development regarding music edition (be it notation, matrix or tablature) is subjected to the upcoming Qt3->Qt4 migration. Notation and Matrix both rely on Qt3's QCanvas which is replaced by the much improved QGraphicsView in Qt4. So, ideally, we'd get a "good enough" tablature editor which would let itself to be easily "updated" when we migrate to Qt4. > There are several ways to deal with editing tablature. The easiest to > implement (and most awkward to use) is to make the note inserter pop up a > dialog asking for string and fret. I have a prototype around somewhere that > does this. Combined with a virtual fretboard similar to tuxguitar or > kguitar, this might be all that's required. I doubt this would be very convenient for entering long tabs. What you could try is popping up a menu when the mouse button is pressed on a string, and show a relevant set of fret numbers (i.e. being close to the surrounding fret positions, and with the choices belonging to the current key listed first). -- Guillaume. http://telegraph-road.org |
From: M. D. <ztr...@ad...> - 2007-07-21 19:16:14
|
On Saturday 21 July 2007 16:54, Guillaume Laurent wrote: > Oh, then I misunderstood you indeed. As far as I'm concerned, yes, I think > it's a reasonable idea. However, at this point, the problem we have is that > any further development regarding music edition (be it notation, matrix or > tablature) is subjected to the upcoming Qt3->Qt4 migration. Notation and > Matrix both rely on Qt3's QCanvas which is replaced by the much improved > QGraphicsView in Qt4. So, ideally, we'd get a "good enough" tablature > editor which would let itself to be easily "updated" when we migrate to > Qt4. Any notation code been written for Qt4 yet? I don't see much need to directly access the underlying canvas mechanism to get tablature working. I've been building on the notation code. So whatever it takes to migrate the notation, tablature should follow without too much trouble. > > There are several ways to deal with editing tablature. The easiest to > > implement (and most awkward to use) is to make the note inserter pop up a > > dialog asking for string and fret. I have a prototype around somewhere > > I doubt this would be very convenient for entering long tabs. What you > could try is popping up a menu when the mouse button is pressed on a > string, and show a relevant set of fret numbers (i.e. being close to the > surrounding fret positions, and with the choices belonging to the current > key listed first). Anything involving the mouse will get tedious very quickly with long tabs. Ideally, you'd select a staff with the mouse and then be able to move around the staff with arrow keys and using the number keys to input frets., keyboard shortcuts to add hammer-ons, muting, bring up a dialog for bends, etc. That's a lot of work, though. As a first cut, I'd like to go for something really simple: add string and fret edit boxes to a tool derived from the EventEditDialog. The string clicked on with the mouse could be set automatically. Your suggestion (I think) would amount to adding some numbered buttons for frets to the dialog. Hitting return saves the data and closes the dialog. So it would go something like: 1. Select a note from the toolbar (activating the TabInserter tool). 2. Click on a staff line. Edit dialog pops up showing midi pitch, string, fret, etc. Dialog includes a few buttons for "likely" fret numbers. Clicked on string and a guessed fret are pre-selected. Keyboard focus shifted to dialog. 3. Hit return to accept the dialog. Otherwise, edit the dialog. |
From: D. M. M. <mic...@ro...> - 2007-07-21 19:11:15
|
On Saturday 21 July 2007, M. Donalies wrote: > A separate branch would be very good. It's not ready for prime time. Welcome back Michelle! It's encouraging to see you back taking another crack at this. I was afraid we had run you off for good, after such a long silence. -- D. Michael McIntyre |
From: M. D. <ztr...@ad...> - 2007-07-21 19:33:40
|
On Saturday 21 July 2007 19:08, D. Michael McIntyre wrote: > It's encouraging to see you back taking another crack at this. I was > afraid we had run you off for good, after such a long silence. Oh no, I kind of ran myself off. So I suppose this is like return of the prodigal or something. ...or you can think of me as that annoying blackberry bush that keeps popping up in your rosegarden. :) |
From: D. M. M. <mic...@ro...> - 2007-07-21 19:48:52
|
On Saturday 21 July 2007, M. Donalies wrote: > ...or you can think of me as that annoying blackberry bush that keeps > popping up in your rosegarden. :) Don't jinx me. I don't, in fact, have a blackberry in the rose garden. Yet. I have them coming up almost everywhere else though. Wicked thorns, tenacious roots, and I don't think the fruit tastes that wonderful either. I prefer raspberries and wineberries, although the Japanese beetles usually beat me to the raspberries, and the birds beat me to the wineberries, and the blueberries, and the strawberries, and the sunflower seeds. Gardening is tough when the birds think you're growing this stuff just for them. Uh, anyway, carry on, nothing to see here... :) -- D. Michael McIntyre |
From: Guillaume L. <gla...@te...> - 2007-07-21 23:08:04
|
I've added Michelle to the project members on sforge so she can keep on working on her tablature feature directly in svn. -- Guillaume. http://telegraph-road.org |
From: M. D. <ztr...@ad...> - 2007-07-26 22:06:32
|
On Wednesday 25 July 2007 15:30, Chris Cannam wrote: > I'm going to be wary of saying "this is how I intend to proceed and this is > how I'd like to see things done" this time around, because I'm aware that party pooper. > All that said, it's hard to overstate how big a piece of work switching to > Qt4 is going to be, particularly if we don't want to use the Qt3 > compatibility layer. Especially in our custom dialogs we have huge amounts > of layout code that depends on widget and layout constructor syntax, and > layout semantics, that have changed substantially in Qt4. But on the up-side, it's a good time to weed out some of the constructs that were designed without consideration of tablature or percussion. And we might even get that elusive grand staff. :) Are you thinking of going with a unicode font? Supposedly, you can get to the musical characters in Qt4. Do we have a version or codename for the Qt4 version? Logically, it would be RG 2.0 (as opposed to the much older 2.1). We could always just call it RG4 (to go along with KDE4 and Qt4). Complete obfuscation. :) |
From: Chris C. <ca...@al...> - 2007-07-30 13:56:58
|
On Thursday 26 July 2007 22:42, M. Donalies wrote: > But on the up-side, it's a good time to weed out some of the > constructs that were designed without consideration of tablature or > percussion. And we might even get that elusive grand staff. :) Yes, exactly. > Are you thinking of going with a unicode font? Supposedly, you can > get to the musical characters in Qt4. Yes, I think you probably can, although I haven't tested it properly yet. But at least to start with I think we should leave the low-level rendering code alone, as it's about the only bit that does actually work as well as we need it to. And there aren't any Unicode music fonts anyway. We've already had to provide extensions to the Unicode codepoint names in our own mapping files to accommodate the characters we need that aren't in Unicode. > Do we have a version or codename for the Qt4 version? I'm working with codename "Kiftsgate", which is a rather marvellous old English rose. My parents-in-law have one in their garden. It's tangly and gnarly and a big old mess, so perhaps not the perfect role model, but I like the word. I don't even want to think about thinking about version numbers at the moment! Chris |