-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RFC: Add support for exporting in text format #35
base: master
Are you sure you want to change the base?
Conversation
Very nice! I am interested in the feature, but due to the availability of free alternatives to Guitar Pro, it has never reached a high enough priority for me to actually implement it. So thanks for contributing :) If it's alright with you, I'll leave it open for a while until I have the time to actually work on RocksmithToTab again, but I'm very interested to merge this eventually :) |
Fixed width and formatting issues
Sounds like a plan, glad it's appreciated! |
Ok, I feel a lot better about this code. Let me know if there's anything else I should be supporting! |
I had a quick look now. Code looks fine to me, using yield generator functions is a nice touch :) I found two bugs you might want to look into, other than that I'll happily accept the pull request targeted at some future version 2.0. As for the bugs:
One thing I notice that your program doesn't do is take note lengths into account. I totally understand why you don't, because it is a very non-trivial problem to do that correctly, but ultimately I would want to see proper rhythm in the output. Perhaps you are interested in working on that, but it's also fine if you aren't - I may investigate this myself :) Either way, it's an improvement for the future, after this pull request. |
Thanks for the feedback! Let me see what I can do about those. I noticed the lack of rhythm too, but not quite sure what to do about it. I'll play with a few ideas though. |
I looked at how Guitar Pro 5 is generating ASCII tabs, and though I didn't look at all possible edge cases, I think the basics work like this:
I think the first one could be a good place to start and should be relatively straight-forward to add with the code you've already written. Getting the spacing "right" is then just visual sugar, but not absolutely required :) |
I don't have Guitar Pro, but I do have notepad! For anyone else in the same boat as me, this will export songs in good ol' text format, similar to the following.
Not sure if you're interested in the feature, but I thought I'd offer it up anyway. It supports displaying hammer ons, pull offs, bends, slides, and palm muting; others embelishments should be pretty easy to add support for in the
TxtExporter.ToText
method. Still working on cleaning a few things up, but wanted to at least start the discussion.Thanks building this in the first place!