Jump to content

ABC Transcription Tools


Michael Eskin

Recommended Posts

Minor but hopefully useful change to the touch screen decrement/increment option.

 

Now works with the tempo area at the right side of all the player control strips to allow decrementing/incrementing the tempo with a touch on either side of the tempo area.

 

On touch screens, the up/down arrows that appear on desktop browsers aren't present so this makes it easier to adjust the tempo.

 

New description in the User Guide:

 

Player/Tune Trainer uses label L/R side click to decrement/increment values (for touch devices) - Check this if you want to decrement or increment values in the Tune Trainer number entry fields by clicking on the left or right side of  their labels.

 

Touching to the left or right of the tempo field in any  of the Players (Player, MIDI Instrument Explorer, Swing Explorer, Grace  Explorer, Tune Trainer) decrements or increments the tempo by 5%.

 

This makes it easier to set tempos and increments on touch screen devices.

Defaults to enabled for Android and iPhone devices.

 

touch_tempo_12nov2023.jpg

settings_12nov2023.png

Edited by Michael Eskin
  • Like 1
Link to comment
Share on other sites

I've finally made it possible to hide or strip chords or injected tab independently.

Also, if do you do multiple tab injections, it now does the right thing to strip out any previous injected tab and replace it with the new tab.


 

advanced_controls_23.jpg

Edited by Michael Eskin
Link to comment
Share on other sites

10 hours ago, Michael Eskin said:

I've finally made it possible to hide or strip chords or injected tab independently.

Neat! That happens to be the way around which I prefer (chords above, tab below), but is it possible  to reverse the relative positions of the chords and the tab? I couldn't see that option, but it's something I sometimes wish to do. If it's not there, it's not there, and I'm not suggesting that it be implemented, just satisfying my curiosity...

 

Thanks.

Link to comment
Share on other sites

I don't think there is a way in ABC and certainly not in abcjs to have actual playable chords below the notation. One could use the text annotation variants do it visually, but from my code's standpoint and abcjs, they'd both be just text annotations.

 

You certainly seem to love making my life challenging. 🙂

Link to comment
Share on other sites

39 minutes ago, Michael Eskin said:

1) ...certainly not in abcjs to have actual playable chords below the notation...

 

2) You certainly seem to love making my life challenging. 🙂

1) I suspected this was the answer. It's no big deal - I was just curious...

 

2)Not reely - that's why I said not to be implemented...🙂

 

Thanks!

Edited by Roger Hare
Link to comment
Share on other sites

Now when you click the "Open" button, if you have any unsaved changes, you will get an alert warning that you have unsaved changes and allowing you cancel the open operation.

This
change basically touches every single feature in the tool, so please let me know if you run into any weirdness. If you just open a file, play it, generate a PDF of it, you should not see this dialog if you click "Open" again.

If you do anything to it, type a single character, add anything, transpose, any operation on the ABC, that will trigger this dialog the next time you click "Open".

Using the "Clear" button, which has it's own verification alert, will clear the flag that signals the code to put up the unsaved changes alert.

Saving the file clears the flag as well.

Link to comment
Share on other sites

22 hours ago, Roger Hare said:

... is it possible  to reverse the relative positions of the chords and the tab?...it's something I sometimes wish to do...

 

14 hours ago, Michael Eskin said:

Well I'll be darned:
  .

%%gchord below

 

is how he implemented it.

Spot on!

 

I tried it first with %%pos gchord below which didn't work, which was what prompted my question in the first place. %%gchord below does work!  I guess this is because abcjs hasn't implemented the most recent form of this functionality using %%pos? (In any case, it's a moot point - all of this stuff seems to be based on 'unratified' extensions to the language spec'). It's a bit of a rat's nest - fun though...🙂

 

 

Edited by Roger Hare
Link to comment
Share on other sites

I've upgraded my version of abcjs to have all the features of the latest 6.2.3 version.
 

This is the first major upgrade of the renderer itself since I started the tool in January.


One huge improvement in the new version is that it pretty much gets rid of any "ragged right staff edge" issues and will auto-format the tune width when required so that you always get a clean right edge.


This also virtually eliminates the need to do any manual reformatting of imported MusicXML files. They would often end up with ragged right edges in the previous version.


I found that I could pretty much not have to use the ABC %%barsperstaff override for pretty any tunes. I used to have to that pretty regularly for my tunebooks.

 

To be clear this is not just for MusicXML formatting, it should provide much more consistent adaptive scaling across the board.


Now, with great benefit often comes great risks...


The base version of abcjs itself is over 26,500 lines of code.


My version of abcjs builds on top of the base version making changes all over the library for my custom soundfonts, swing and custom ornamentation solutions features.


It was a huge effort to manually integrate line-by my features and improvements on top of the base 6.2.3 version and not break anything.


I've run thousands of tunes through this new version and it's been very stable both in terms of ABC rendering, but also playback.  Existing tunebooks should still function just fine, the notation might just look very slightly different when launched into the player than before if it was a tune that abcjs can format more nicely than before.


While I don't anticipate any showstopper issues, as always, with a major change like this, please let me know if you run into any crashes or odd behavior.  If a specific tune is problematic, use the Sharing features to send me a share URL for the tune so I can diagnose it.

Link to comment
Share on other sites

I've fixed the centered text and in-ABC centered subtitle expandtowidest layout issue bug I found in abcjs 6.2.3!
 
You can still opt-out of the new layout system on any specific tune by adding:
 
%%noexpandtowidest
 
 
anywhere in the tune, but there's almost no need for that now.
 
I've sent the bugfix code to Paul Rosen for possible future inclusion in abcjs.


 
Edited by Michael Eskin
Link to comment
Share on other sites

I've added some new automation in the tool that will take care of injecting the right headers for creating "Large Print" versions of tunes instead of using the default size, you then can dial-in the final results:
 

 

 

Edited by Michael Eskin
Link to comment
Share on other sites

I've added a major new feature on the "Advanced Controls" that gives you complete control over your tunebook's staff spacing and rendering:
 

"Notation Spacing Explorer"

 

 

 


Learn more about it here:


https://michaeleskin.com/abctools/userguide.html#advanced_notationspacingexplorer

 

There is also a button for it on the PDF Export dialog.

Edited by Michael Eskin
Link to comment
Share on other sites

If anyone wants to generate Share URLs to my ABC Transcription Tools for tune sets from Google Sheets, I've written up a simple Google App Script function that does the job for you. Just copy and paste the code into your own custom App Script function for your Google Sheet:
 

https://michaeleskin.com/tools/google_sheet_share_url_encode.js


More information on creating custom Google Sheets App Script functions:


https://developers.google.com/apps-script/guides/sheets/functions

Link to comment
Share on other sites

You can now export PDF tunebooks in both Portrait and Landscape mode orientation.  Both full tune and incipit export is supported.
 

Power User Tip:


You'll want to take advantage of the new "Notation Spacing Explorer" to get the most out of the Landscape mode export.  

 

If tunes aren't fitting on a single page when doing Landscape mode export, use the "Notation Spacing Explorer" to reduce the staff spacing and increase the notation width from the default to a higher value, perhaps 700, to decrease the rendered staff height.


Once you dial-in your spacing values, in the "Notation Spacing Explorer" be sure to inject the value into all the tunes in your tunebook by clicking "Inject all tunes" and then click "Inject Spacing into the ABC".


This addition required substantial changes to all of the PDF export code, so please let me know if you see any issues with PDF export in either Portrait and Landscape mode.
 

Demo video:



Also makes this sort of thing easier to do:
 

 

 

Edited by Michael Eskin
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...