Prologue
Two weeks ago on Habré
announced the online player GuitarPro-tabs.
By this time,
my implementation with the ability to download my own tabs and open source was almost ready for it not to be very embarrassing to show it.
Functionality
Guitar files viewer allows you to download any tabs in the formats of Guitar Pro versions 1, 2 and 4 (support for others will appear soon).
It is possible to view each track separately.
Implemented drawing:
- pauses
- section titles
- chord names
- slides
')
Here's what it looks like:

.
Implementation
Actually, I wrote all this not for the sake of a startup, but just to learn some new technologies.
Therefore, I tried to use open technologies to the maximum:
- The source code for the layout and backend is available as a git repository.
- In the process of writing the gp * files parser, I used the tuxguitar and dguitar sources , so all code is open under the GPL license (although not a single line of code was copied, because dguitar and tuxguitar are written in java, and my backend is in perl).
- Tablature rendering is implemented as a result of XSLT transformation from the internal xml representation of the parsed file to SVG . On the client side, by the way.
From the last point there is one important consequence: the site does not work in
IE . Well, figs with him, to be honest.
In addition, MIDI with javascript is not integrated, so there is no sound yet and is not planned.
For developers only
Some mixed impressions about the process.
- git is very convenient, although it has a large entry threshold;
- svg is also cool, at least for static vector images, but all implementations are damp and it will be bent if MS does not support it;
- and finally, writing such things on XSLT is a real pleasure, although ... I still haven't figured out how to calculate the dynamic width of ticks, for example.
Most of all, it's a shame for SVG: I haven't found a single decent application on it all over the web. Yes, and where it is used somehow, it is usually proposed to install Adobe SVG Viewer, the support of which Adobe is going to stop starting January 1, because they now have Flash.
Help!
Very welcome:
- suggestions on how to name the project;
- reviews that the most important (in gp-www / private / TODO you can read a very rough roadmap for the future);
- tips on writing a license agreement;
- opinions, as far as legal in general - reverse engineering of closed formats (dadad, I know about dguitar, but I still don’t know the exact answer);
- Well, I'm not counting on patches, of course :)