Jump to content

ABC Transcription Tools


Michael Eskin

Recommended Posts

 

4 hours ago, David Barnert said:

you could “comment out” the unwanted voices

 

Commenting out a section would make it disappear from the staff notation, and I want to play the bass line, say, while seeing how that relates to the melody line above it. The transpose trick works nicely (I've built an alpha version of an addon) but I need to be sure I'm not hitting the server too hard. AFAICS I'm not - it seems to fetch each note once and then remember it doesn't exist. But it still generates a console log warning for each note 'played'.

 

Sorry for hi-jacking your thread Michael.

Edited by DaveRo
Link to comment
Share on other sites

So, a few things today...
 
Turns out the code was redrawing everything on every key up, including shift key, control key, etc. so pretty much anytime you put a capital letter in the ABC you were getting double full tuneset renders.
 
Now the code is watching for changes on the text area, not individual key strokes. No more redundant redraws.
Also, Chuck Boody had some feedback about the behavior of the tool when dealing with really large tunebooks.

I've been able to render 400 page PDFs on my M1 Mac, but there's no way it could edit them without taking several seconds per change.

To at least provide some feedback to the user on when things are starting to get dodgy and set expectations properly, I'm now detecting when a render of the notation (which happens on every change to the input area) takes over 1.5 seconds and putting up an advisor banner.

Since the rendering time depends on the power of the system, the specific browser implementation, the complexity and number of tunes, there's no "you can render X tunes" number I can provide. So, what I say in the banner is:

"Editing all these tunes at once may be slow on your system. Consider working with few tunes at one time."

The screenshot was for a tunebook with 104 complex tunes.

I found cases where, on my M1 Mac running Firefox, I could edit 120 simple jigs and reels at with no chords or text markings at one time with no issue, but it would be slow to do 70 or so considerably more complex tunes with both chords and text markings.

The threshold was different between Firefox, Chrome, and Safari, and different for desktop Safari vs. iOS Safari.
 
I considered putting the tune count in the banner, but that would give the impression that it's only the tune count that matters.

So, I just say "Consider working with fewer tunes."

Really, the new text input handling is the real news here, can't believe it was even usable before, should feel more responsive on larger tune sets.
 
The text input behavior change is pretty major, please let me know if you run into any issues.

No photo description available.
Edited by eskin
Link to comment
Share on other sites

14 hours ago, eskin said:

Also added a basic feature that should have been there from day 1. The status display (now above the buttons) shows you the source filename (or share link name) and the number tunes currently in the editor.

You also added a useful warning banner which I don't think you mentioned before?

Editing all these tunes at once may be slow on your system.  Consider working with fewer tunes at one time.

My mistake! I now see you already mentioned it!!!

Edited by lachenal74693
I blew it!
Link to comment
Share on other sites

Yes, that's new.

I wanted to set user expectations properly when I start noticing that the render times are getting over 1.5 seconds.  

I think if you're hitting a key and having to wait a couple of seconds before seeing a change, I politely suggest that you're not going to have a positive experience with the tool.

You can still probably generate PDFs (I've exported 500 page PDFs on my M1 Mac, but the initial render took several minutes), but note by note editing may be slow.

I actually modified the banner just now so, at least on desktop systems, it says that the Export PDF may still function OK:
 

image.png.a89cbf264bc907b4ddcd96d448cf8f1f.png

On iOS and Android, that banner was a bit wide for the screen in portrait mode, so it has the same text minus the Export PDF wording.

 

Edited by eskin
Link to comment
Share on other sites

1 hour ago, eskin said:

...I think if you're hitting a key and having to wait a couple of seconds before seeing a change, I politely suggest that you're not going to have a positive experience with the tool...

You may well be right, but I'm a 'worst-case-scenario'' merchant, and I'd far rather wait a couple of seconds, and then have something 'right' happen, than have something 'wrong' happen immediately I hit a key - which has been my experience 'elsewhere'...😊

Link to comment
Share on other sites

I've added a 280ms debouncer to the ABC text area handler, so now you can type multiple characters and it won't re-render until after it sees no additional input for 280ms.

Previously, it was re-rendering the entire tune set on every character typed.

Feels really good. I upped the warning banner threshold to 1750 ms, the debouncer makes things a bit more usable in the large tunebook cases.

Link to comment
Share on other sites

ABC Share URLs and QR Codes in my ABC Transcription Tools are a quick and easy way to share your ABC tunes with friends or to post tunes on social media sites.

 

Anyone with the ABC Share URL or QR Code can view, edit, save, and share their own copy of the tunes.

 

The QR Code is a visual representation of an ABC Share URL that you can scan with the Camera app on your iOS or Android device.

 

Scanning the QR Code will open the ABC Share URL encoded in the QR Code on the phone's browser.

 

QR Codes are a .PNG image and can be posted on social media, used on websites, or even printed.

 

This video shows how to create and use them.

 

https://youtu.be/I8KcG4swmUQ

Link to comment
Share on other sites

Added a new option to hide/show the instrument name and capo setting on the tablature.
 
Turning off the tab instrument names reduces the height of the staff, combined with setting the lowest staff spacing value, allows, in many cases, for some pretty tight layout of notation with tab that wasn't possible before.
 
Additionally, the show/hide tab names and staff spacing is now part of Share URLs, so those values will match in the tool when going to a Share URL (or QR Code).
Screen shot attached of a PDF generated with the latest code, with the tab names suppressed, and minimum line spacing.
 
I decided also to have the line spacing UI now go from 0 to 200, with 10 as the default. The old default value of 50 that showed up in the spinner was an odd way to present the information. Now the minimum spacing is set when you set the spinner to zero, and bigger values make more space.

My ABC Transcription Tool is at:

image.thumb.png.400c671c690092f5e26ca8aa28ef7874.png

ug8.jpg

Link to comment
Share on other sites

Added the ability to set the page number position for PDF output.

Options are:


None, Top Left, Top Center, Top Right, Bottom Left, Bottom Center, and Bottom Right.

Default is "None".

Share URLs and QR Codes also include the instrument selected, display size, line spacing, PDF tunes/page setting, and page number position settings.

For Mandolin, Bouzouki, Mandola, and Guitar tablature, the link also includes the capo setting and whether or not to show the tablature name.


 

image.png

Edited by eskin
Link to comment
Share on other sites

OK, for double sided printing, added alternating top left/right, top right/left, bottom left/right, and bottom right/left as additional options (suggested by Chuck Boody):

Power User Tip: If you hold down the Shift key when clicking "Export PDF", the page number will be hidden on the first page.

image.png.696890a9888b0e3b7f96b540c37e8621.png

Edited by eskin
Link to comment
Share on other sites

In my ABC Tool, you may now add custom page headers and footers to your exported PDF files by including the following ABC comment-based annotations anywhere in your ABC:
 

%pageheader (your header text goes here...)

%pagefooter (your footer text goes here...)


There are also several useful user macros you can include in your page header or footer text that will be expanded in the PDF:


$PDFNAME - Matches the saved PDF filename

$PAGENUMBER - Current page number

$DATEMDY - Current date in M-D-Y format

$DATEYMD - Current date in Y-M-D format

$TIME - Current time in HH:MM format

$TUNECOUNT - Number of tunes in the ABC

$TUNENAMES - All of the tune names in the ABC separated by /


Example ABC with page header and page footer annotations that include user macros:


%pageheader "The Tarbolton" from the Michael Coleman set - Saved on $DATEMDY at $TIME
%pagefooter $PDFNAME - Page $PAGENUMBER
X:1
T:The Tarbolton
M:4/4
K:Edor
Beed e2BA|GBAF GFEF|Dddc d2AG|FAGE FEDF|
Eeed efge|fedf e2BA|GABG FGAF|BGAF GEE2:|
|:gfef gebe|gebe gfec|d2fd Adfd|cdAG FDEF|
GABG FGAF|E2ef gfed|BcdB A2FA|BGAF GEE2:|


Results in a PDF that looks like:

http://michaeleskin.com/abctools/img/ug11.jpg


Note: Only the first instance of the %pageheader or %pagefooter annotation is processed, any additional instances are ignored.


Page numbers can be added along with page headers and footers.


If you add a page header and you have selected top-centered page numbers, the page number will be hidden.


If you add a page footer and you have selected bottom-centered page numbers, the page number will be hidden.


Since these annotations are ABC comment-based, they will just appear to be normal comments in other ABC software.

Learn more about it at:
http://michaeleskin.com/abctools/userguide.html#pdf_page_headers_and_footers


ABC Transcription Tools:

http://michaeleskin.com/abc


 

Edited by eskin
Link to comment
Share on other sites

New ABC comment-based annotations allow you to easily and quickly add Page Headers, Page Footers, and QR codes when exporting your tune sets to PDF.

 

Demo video:

https://youtu.be/p8xWxOsqQ6A

 

The full documentation on adding PDF page headers and footers is at:

http://michaeleskin.com/abctools/userguide.html#pdf_page_headers_and_footers

The full documentation on adding QR codes to your PDF documents is at:

http://michaeleskin.com/abctools/userguide.html#adding_a_qr_code_to_the_pdf_export

 

ABC Transcription Tools:

 

http://michaeleskin.com/abc

 

Link to comment
Share on other sites

10 hours ago, eskin said:

In my ABC Tool, you may now add custom page headers and footers to your exported PDF files by including the following ABC comment-based annotations anywhere in your ABC, etc...

Nice! I'm a 'fan' of headers and footers - they can be used to include useful reference information, as you demonstrate, (and I can't get some of the features described in GG's manual to work...☹️).

 

Is adding $FILENAME to the list of 'fields' which can be included in headers/footers an option? This might be useful in those instances where the user has loaded a pre-existing ABC file into the tool?

 

I do have a question though: Is there any reason why you didn't build your header/footer facilities on top of the existing %%header/%%footer directives (I think I may know the answer...😊)? Thanks.

 

Oh! I see you just posted another message while I'm composing this one - I'll let it stand...

Edited by lachenal74693
Link to comment
Share on other sites

So, this happened... It was so easy to do, I had to add one last feature.
 

You can now play your ABC tunes when working with my ABC Transcription tool!


Clicking the new "Play" button will copy the ABC you are working on and open it in Paul Rosen's "ABC Quick Editor", which can play the tunes.

If you just want to transfer one tune for playback, select it first in the ABC before clicking "Play".


You can edit the tunes in the "ABC Quick Editor", and when you are happy with them, copy and paste them back in my tool for additional editing.


It is very simple and quick to go back and forth between the two tools!


Have fun!


Demo video:
https://youtu.be/40VPLxvCL9s


ABC Transcription Tool website:
http://michaeleskin.com/abc


User Guide:
http://michaeleskin.com/abctools/userguide.html

Edited by eskin
Link to comment
Share on other sites

By default, if there is no selection in the ABC editor, all of the tunes are copied and transferred for playback.

 

To play a specific tune, select the ABC in the editor for the one tune and then click "Play".

 

The "ABC Quick Editor" only plays the first tune in it's own ABC editor.

 

If you select more than one tune in the ABC editor (or send all of the tunes if there is no selection present), and click "Play", you will need to edit the ABC in the "ABC Quick Editor" editor to bring the tune you're interested in playing to the top.

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...