Fingerings for Guitar Pro import

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Fingerings for Guitar Pro import

m3guitar
Hi, I am new here, and as a tutorial project I want to add fingerings to the score when importing Guitar Pro tablature. I have got the basic functionality working for gp5, adding code around lines 2680 in importgtp.cpp where the finger number is readily available. My question is, does anyone know how to get the finger number from a gpx file (Guitar Pro 6)? I cannot see a way to extract it as with gp5.

ole
Reply | Threaded
Open this post in threaded view
|

Re: Fingerings for Guitar Pro import

John Pirie
Hello m3guitar,

I have already implemented support for this, it will be merged shortly. I currently have a pull request in for slides (needs a rebase before merging - I'm working on that), and it will be the pull request after that which adds support for this feature, so you will see this functionality appearing in Musescore soon.

I understand from your IRC message that you are using this feature as a way of educating yourself (though which aspect you are aiming to improve I don't know - I assume that it is C++ programming). If that's the case, then you could use my implementation as a sort of solution to that problem I guess (you can see my implementation in my fork of Musescore on Github). You might already be aware that the GPX format is fundamentally different from the previous formats in Guitar Pro. The format is an archive, with is compressed with a proprietary compression algorithm. Inside that is a filesystem, inside which is a file 'score.gpif' which contains everything you need (this file is in XML format). The previous versions of Guitar Pro all had binary files as their input format. The following rough method can be used to add support for fingering in Guitar Pro 6:

-> Get a GPX file decompressed, and rip out the 'score.gpif' file which is inside the resulting filesystem. This contains everything you need to know. (I recommend you take the current implementation for that).
-> Open Guitar Pro 6, make a trivial score with just one bar.
-> Inspect the resulting score.gpif file which describes this score.
-> Go back to Guitar Pro 6 and add fingering to a note.
-> Inspect the new score.gpif file and the difference in this file and the initially created one is the information you are looking for. You can then create as many notes as there are unique fingerings, and then add support for all cases in the implementation.

More specifically, fingerings are attached to the "Note" descriptions inside score.gpif, and not beats (as you would expect, the same beat can have multiple notes each with a specified fingering). The relevant nodes of the XML file are called "LeftFingering" and "RightFingering" for left and right fingerings respectively. The fingering on the left hand is represented as one of the list [O, t, 1, 2, 3, 4] where O is open, t is thumb, and the following numbers indicate the finger digit. On the right hand it is different, and the list is [P, I, M, A, C] ('open' is not represented on the right hand).

Any questions/comments etc feel free to grab me either via this mailing list or on IRC (feel free to also e-mail me directly, but if you think that your comments might be helpful to future developers, the mailing list is best so that such information is accessible to others). Cheers!

John




On 27 July 2014 14:36, m3guitar <[hidden email]> wrote:
Hi, I am new here, and as a tutorial project I want to add fingerings to the
score when importing Guitar Pro tablature. I have got the basic
functionality working for gp5, adding code around lines 2680 in
importgtp.cpp where the finger number is readily available. My question is,
does anyone know how to get the finger number from a gpx file (Guitar Pro
6)? I cannot see a way to extract it as with gp5.

ole



--
View this message in context: http://dev-list.musescore.org/Fingerings-for-Guitar-Pro-import-tp7578877.html
Sent from the MuseScore Developer mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer


------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
Reply | Threaded
Open this post in threaded view
|

Re: Fingerings for Guitar Pro import

m3guitar
I was merely trying to make myself familiar with the structure of Musescore. Last weekend was the first time I had a look at the code. Having a go at support for fingerings in guitar pro tablatures was a random choice. I just happened to notice it wasn't working, and since I have of the order of 500 examples on my website in gpx it seemed a worthwhile thing to spend time on . Somebody on the chat mentioned that you were already on it, so that is why I wrote to you. My main interest is in chromatic notation so that is what I am ultimately going to work on.

Anyway, now that we are on the subject of fingerings and tablature, I miss the ability to include fingerings only in the tablature. Both Guitar Pro and TablEdit can do that. As it is it will appear in both staffs. I also prefer to have the fingering below the stems. Have you considered adding any of those two features?

An example from my website illustrates what I am aiming for. The top line should eventually show the chromatic notation.

ole
Reply | Threaded
Open this post in threaded view
|

Re: Fingerings for Guitar Pro import

John Pirie

On 28 July 2014 18:26, m3guitar <[hidden email]> wrote:
>
> I was merely trying to make myself familiar with the structure of Musescore.

Great!
 
>
> Last weekend was the first time I had a look at the code. Having a go at
> support for fingerings in guitar pro tablatures was a random choice. I just
> happened to notice it wasn't working, and since I have of the order of 500
> examples on my website in gpx it seemed a worthwhile thing to spend time on
> . Somebody on the chat mentioned that you were already on it, so that is why
> I wrote to you. My main interest is in chromatic notation so that is what I
> am ultimately going to work on.

> Anyway, now that we are on the subject of fingerings and tablature, I miss
> the ability to include fingerings only in the tablature. Both Guitar Pro and
> TablEdit can do that. As it is it will appear in both staffs. I also prefer
> to have the fingering below the stems. Have you considered adding any of
> those two features?

I don't believe there are currently options for either of those features. That said, I don't think this would be hard to implement and it might be nice to do what you describe in Musescore (probably as a user option rather than by default).

Which version(s) of Guitar Pro do you have that can have fingering only on the tablature staff? I can't reproduce this in Guitar Pro 6 (in fact, I can't see any way to add left/right fingerings to the tablature staff at all - only the standard notation staff, perhaps there is some option somewhere I'm not seeing...).

Feel free to add a feature request for this in the issue tracker so it doesn't get lost and you can be notified of progress (or assign it to yourself if it's something you want to implement), as it sounds like a feature that others might also appreciate. Having the fingerings in the tablature staff only should almost certainly be a user option though, I would certainly want to see fingerings on the standard notation staff if I were reading it.

Cheers,

John

> An example from my website
> <http://v3p0.m3guitar.com/examples/singlenote/hexatonic/ht0/ht0_m02.png>
> illustrates what I am aiming for. The top line should eventually show the
> chromatic notation.
>
> ole
>
>
>
> --
> View this message in context: http://dev-list.musescore.org/Fingerings-for-Guitar-Pro-import-tp7578877p7578879.html
> Sent from the MuseScore Developer mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
> Infragistics Professional
> Build stunning WinForms apps today!
> Reboot your WinForms applications with our WinForms controls.
> Build a bridge from your legacy apps to the future.
> http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
> _______________________________________________
> Mscore-developer mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/mscore-developer

I was merely trying to make myself familiar with the structure of Musescore.
Last weekend was the first time I had a look at the code. Having a go at
support for fingerings in guitar pro tablatures was a random choice. I just
happened to notice it wasn't working, and since I have of the order of 500
examples on my website in gpx it seemed a worthwhile thing to spend time on
. Somebody on the chat mentioned that you were already on it, so that is why
I wrote to you. My main interest is in chromatic notation so that is what I
am ultimately going to work on.

Anyway, now that we are on the subject of fingerings and tablature, I miss
the ability to include fingerings only in the tablature. Both Guitar Pro and
TablEdit can do that. As it is it will appear in both staffs. I also prefer
to have the fingering below the stems. Have you considered adding any of
those two features?

An example from my website
<http://v3p0.m3guitar.com/examples/singlenote/hexatonic/ht0/ht0_m02.png>
illustrates what I am aiming for. The top line should eventually show the
chromatic notation.

ole



--
View this message in context: http://dev-list.musescore.org/Fingerings-for-Guitar-Pro-import-tp7578877p7578879.html
Sent from the MuseScore Developer mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls.
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer

------------------------------------------------------------------------------
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls.
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
Reply | Threaded
Open this post in threaded view
|

Re: Fingerings for Guitar Pro import

m3guitar
You are right, left-hand fingering is all or nothing in Guitar Pro. My mistake, sorry. TablEdit can do it though, it has much better options for display of fingerings.

The reason for keeping fingerings out of the notation is somewhat philosophical, and it is the sort of thing that is regularly being discussed at musicnotation.org. I believe that instrument-specific notation, such as tablature with fingerings, should be kept separate from abstract notation that can tell the neutral observer what the shape of a line is, or the basis of the harmony. Otherwise, I don't see the point of having two staffs for one piece of music. They should be kind of orthogonal in terms of presentation. For guitarists in particular, I guarantee that the vast majority relies on tablature only. There are very few amateurs who can read music.

ole
Reply | Threaded
Open this post in threaded view
|

Re: Fingerings for Guitar Pro import

John Pirie
On 31 July 2014 18:56, m3guitar <[hidden email]> wrote:
You are right, left-hand fingering is all or nothing in Guitar Pro. My
mistake, sorry. TablEdit can do it though, it has much better options for
display of fingerings
<http://www.tabledit.com/help/english/pickstrokesfingerings.shtml>  .

No worries! Thanks for checking that. Indeed, TablEdit has more customization of this feature than Musescore has currently. 
 
The reason for keeping fingerings out of the notation is somewhat
philosophical, and it is the sort of thing that is regularly being discussed
at musicnotation.org. I believe that instrument-specific notation, such as
tablature with fingerings, should be kept separate from abstract notation
that can tell the neutral observer what the shape of a line is, or the basis
of the harmony. Otherwise, I don't see the point of having two staffs for
one piece of music. They should be kind of orthogonal in terms of
presentation. For guitarists in particular, I guarantee that the vast
majority relies on tablature only. There are very few amateurs who can read
music.

Probably the best solution in that case is to have this as a user option in that case so that we can please everyone (similar what they do in TablEdit).

John
 
ole



--
View this message in context: http://dev-list.musescore.org/Fingerings-for-Guitar-Pro-import-tp7578877p7578882.html
Sent from the MuseScore Developer mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls.
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer


------------------------------------------------------------------------------
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls.
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
Reply | Threaded
Open this post in threaded view
|

Re: Fingerings for Guitar Pro import

m3guitar
So where are we now, with MuseScore 2.0? If I import a gpx file, I see the fingering in the music notation but not in the tablature which is the opposite of what I want. If there is a setting to revert that I apologise for not being able to find it. What if I just want to get rid of the fingering in the music notation?
Reply | Threaded
Open this post in threaded view
|

Re: Fingerings for Guitar Pro import

Marc Sabatella
See the (long) discussion here: https://musescore.org/en/node/32966.  Seems everyone else was pretty unanimous in wanting fingering on standard but *not* tab, so that is how it was implemented.  You might want to start a discussion in the Technology Preview forum to discuss your reasons for wanting it the other way around and what the best way to go about presenting that option to the user might be.

On Tue, Jun 9, 2015 at 1:27 PM m3guitar <[hidden email]> wrote:
So where are we now, with MuseScore 2.0? If I import a gpx file, I see the
fingering in the music notation but not in the tablature which is the
opposite of what I want. If there is a setting to revert that I apologise
for not being able to find it. What if I just want to get rid of the
fingering in the music notation?



--
View this message in context: http://dev-list.musescore.org/Fingerings-for-Guitar-Pro-import-tp7578877p7579441.html
Sent from the MuseScore Developer mailing list archive at Nabble.com.

------------------------------------------------------------------------------
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer

------------------------------------------------------------------------------

_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer