Coder Social home page Coder Social logo

jgadsden / tin-whistle-tablature Goto Github PK

View Code? Open in Web Editor NEW
21.0 6.0 6.0 2.39 MB

MuseScore plugin to add tablature / finger diagrams to a tin whistle staff in a score

Home Page: https://musescore.org/en/project/tin-whistle-tablature

License: GNU General Public License v2.0

QML 100.00%
musescore musescore2 musescore-plugin musescore3 musescore-plugins musescore4

tin-whistle-tablature's Introduction

Tin Whistle Tablature

Source code for the MuseScore plugin which adds tablature / finger diagrams to a tin whistle staff in a score.

  1. Introduction
  2. Installation
  3. Installing Font
  4. Using the plugin
  5. Having problems?
  6. Extra Tin Whistle and Low Whistle Tunings
  7. Install for extra whistles
  8. Examples
  9. Here be Dragons
  10. Other Stuff

Introduction

This provides a plugin to automatically add fingering / tab diagrams to the notes in scores for tin whistles and low whistles. The plugin will adjust for tin whistles tuned to D, C and B♭, according to the instrument defined for each staff. Note that if the staff instrument is not a whistle then no tabs are applied, otherwise the plugin will adjust the tab diagram position for the lowest note for the tuning.

MuseScore instrument files for versions 2.x and 3.x, and version 4.x, can be used to provide extra tuning for tin whistles F, G, E♭ and also for low whistles tuned to D, F, G.

The Here be Dragons section discusses various quirks related to early MuseScore 3 releases that you may bump into.

Installation

  • For MuseScore 4 download the plugin file and copy it to directory Documents/MuseScore4/Plugins/

    • Install using the instructions in the MuseScore 4 Handbook
  • If using MuseScore 3 version 3.4 or later then download this plugin file
    If using MuseScore 3 version 3.3 or earlier then download a different plugin file
    Alternatively if using the older MuseScore version 2 then use this plugin

    • Install using the instructions in the MuseScore 3.x Handbook, which typically involves copying the QML file to the local MuseScore Plugin directory. If you are using MuseScore version 2.x then use this handbook instead.

    • Open MuseScore and navigate to 'Plugins' -> 'Plugin Manager' to enable the plugin. Tick the box against tin_whistle_tablature and apply with 'OK'.

Installing Font

This plugin relies on a tin whistle tablature font being installed from Blayne Chastain's site which can be downloaded from our release area.

If the font isn't installed you will be presented with a message box telling you how to obtain the font. To install the font, it is usually just a case of double-clicking the downloaded .ttf file and agreeing to the install process. If that does not work then on Linux systems try copying the TinWhistleTab.ttf font file to the /usr/share/fonts/truetype/ directory. However, if you are installing the font on a Windows 10 system you will need to ensure you install the font for "all users". You can do this by right clicking on the file and selecting "Install for all users" as illustrated here:

Image of installing font for all users

For more information on this Windows 10 font problem and solutions see issue musescore/MuseScore#6084 and how-to-force-win10-to-install-fonts-in-c-windows-fonts.

Using the plugin

The tabs will be added to the highlighted bars if you have made a selection, otherwise the whole score will have tabs added. Here is an example score before applying the tabs:

Diagram of tin whistle score before applying tabs

When you wish to apply the tabs then navigate to 'Plugins' -> 'Tin Whistle' -> 'Add tablature'. Here is the score with the tabs now applied:

Diagram of tin whistle tabs applied to the score version 3

and the equivalent if using MuseScore 2 :

Diagram of tin whistle tabs applied to the score version 2

You can back out by navigating to 'Edit' -> 'Undo'.

Having problems?

Note that this plugin relies on a font being installed, see the 'Installing font' instructions.

The plugin will skip any staffs that are not for a Tin Whistle, so for example if the staff is for the Irish Flute then it will not apply the tabs. This makes sense as other instrument's fingering will be different.

Extra Tin Whistle and Low Whistle Tunings

The files all-whistles.xml and all-whistles-v4.xml are extra instrument files for adding both High Tin Whistle types and Low Whistle types to MuseScore. MuseScore comes with whistles D, C and B♭ by default but you may want to use other tunings.

The High Tin Whistle, which is a metal 6 hole Flageolet, comes in various tunings. These are listed in order of decreasing physical size:

  • "B♭ Tin Whistle" tuned to key B♭, also used for keys Cm and E♭
  • "C Tin Whistle" tuned to C, also for Dm and F
  • "D Tin Whistle" tuned to D, also for Em and G
  • "E♭ Tin Whistle" tuned to E♭, also for Fm and A♭
  • "F Tin Whistle" tuned to F, also for Gm (F can be played on a C whistle)
  • "G Tin Whistle" tuned to G, also for Am (G can be played on a D whistle)

Tuning to D is by far the most common, so "Tin Whistle" is the same as "D Tin Whistle".

The Low Whistle is larger than the more well-known tin whistle and has a lower pitch. This whistle is commonly available in three tunings:

  • "D Low Whistle" tuned to D4, also used for keys Em and G
  • "F Low Whistle" tuned to F4, also used for Gm and B♭
  • "G Low Whistle" tuned to G4, also used for Am and C

Install for extra whistles

The file all-whistles.xml or all-whistles-v4.xml needs to be installed using the MuseScore menu.

Install for MuseScore 4.x

Download the all-whistles-v4.xml instrument extension file to your operating system.

  1. Start Version 4.x MuseScore
  2. use the drop down menus to navigate 'MuseScore' then 'Preferences...' then 'Score' panel
  3. Use the file icon beside 'Score Order List 2:' to select the downloaded all-whistles.xml file
  4. Accept the changes using the OK button

You can now add a tin/low whistle staff to your score using the 'Instruments' tab and 'Add' button. Note that these whistles appear in the 'World Music' genre, not the 'Common' genre.

Install for MuseScore 2.x and MuseScore 3.x

Download the all-whistles.xml instrument extension file to your operating system. Use the same file for both MuseScore version 2.x and version 3.x :

  1. For MuseScore 2.x: copy file all-whistles.xml to Documents/MuseScore2/Extensions/all-whistles.xml
  2. Or for MuseScore 3.x: copy file all-whistles.xml to Documents/MuseScore3/Extensions/all-whistles.xml
  3. within MuseScore menu, navigate to 'MuseScore' then 'Preferences...' then 'Score' tab
  4. in the Default Files panel, add the file to 'Instrument List 2' extension by:
  5. browsing to Documents/MuseScore3/Extensions/all-whistles.xml and add to 'Instrument List 2'
  6. Accept the changes with the OK button

You may now add a tin whistle staff using MuseScore menu item 'Edit' then 'Instruments...', where MuseScore lists these extra instruments under 'World Music' 'Woodwinds'.

Once a tin whistle staff is added to the score there is no need to keep the instrument file all-whistles.xml in the 'Instrument List 2' extension.

Examples

The score examples/tin_whistle_range_test.mscz is an example showing all the High Tin Whistle staves.

The score examples/low_whistle_range_test.mscz shows all three Low Whistle staves.

Here be Dragons

The version for MuseScore 2 will check that the staff is for a tin whistle and adjust the tab diagram position for the lowest note possible.

Prior to MuseScore 3.2:

  • The instrument type used on a staff can NOT be detected. In this case the plugin will assume that a whistle tuned to D is used - this being the most common whistle.

  • This plugin only supports grace notes that lead the main note. Tabs for trailing grace notes will be rendered as leading notes which is not what you want. In fact the trailing notes will be out of order.

Prior to MuseScore 3.3:

  • You may see some minor issues with grace note tab positioning. The actual physical position of the grace notes was not available before v3.3 so a heuristic approach (aka good 'ole human observation) is used to get a decent overall result even though it's not perfect.

Here is an example of how the fingering tab images are accurately positioned in MuseScore 3.3+:

Image of test cases for grace notes.

Other stuff

MuseScore Plugin API compatibility: 2.x, 3.x, 4.x

tin-whistle-tablature's People

Contributors

aayala4 avatar cbjeukendrup avatar dllarson avatar jgadsden avatar uthidata avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

tin-whistle-tablature's Issues

Notes sometimes don't get tab added

  1. File -> New
  2. Add Tin Whistle D
  3. Done
  4. Add notes: b e d b, b e d b
  5. Add tin whistle tabs

Can see the first note in the second bar didn't get the tab added.

Not sure what notes / scenarios this happens, but this particular bit seems always reproducible.

OS: Fedora Linux 40 (KDE Plasma)
Arch.: x86_64
MuseScore Studio version (64-bit): 4.3.2-241630832
revision: github-musescore-musescore-22b46f2

image

Plugin no longer works with MuseScore 4.1.0

Despite having only a single staff with a "D Tin Whistle" instrument, after upgrading from MuseScore 4.0.2.230651546 to 4.1.0.231921401 the "Tin Whistle Tablature" plugin stops working with the error message:

No selected staff in the current score uses a tin whistle instrument.

Use tab "Instruments -> Add" to select instruments.

Downgrading back to 4.0.2.230651546 restores functionality.

Generated tabs are not corrected if you change a note and regenerate

For the tin whistle in D,
if I have an A note and generate tabs via the plugin, it works as expected:
image

If I change said note to B and regenerate tabs, the new tab is overlaid on the old tab:
image

resulting in wrong-looking tabs.
In the image, the first note actually has 2 tabs, and the "newer" one has one hole covered, but because it is overlaid on the one with 2 holes covered, the second hole is still black.

Is it possible to delete previously generated tabs before creating new ones?

Irish Tab does not appear when I try to choose "Add tablature" options

Hi,

I am try to use your plugin to add a Irish D flute tablature on a music that I am writing but the tablature does not appear in the score.

I opened musescore via console and this options appear when I select plugin and try to choose "add tablature" option:

qml: hello tin whistle tablature
qml: Ms::Score(0x556bb2a6f400)
qml: Sem título
qml: Selected staves 1 - 1 - 46080
qml: Skipped staff 1 for instrument: wind.flutes.flute.irish
Signal QQmlEngine::quit() emitted, but no receivers connected to handle it.

My specs:
OS: Ubuntu 18.04.2
Musescore version: MuseScore2 2.3.2

Plugin no longer works with Musescore 3.4.2

Not sure if this project is abandoned or active, but the plugin does not work with current version of Musescore 3 (3.4.2). Musescore ignores it entirely and does not include it in the plugin manager.

Add support for low tin whistles

It would be great to add support for low tin whistles, as well as the existing support for the high tin whistles. As far as I can see the lowest whistle is tuned to D4, with other whistles tuned to F4 and G4 before reaching the lowest tunings for high tin whistle at B flat.
There is a MuseScore instrument file for the low tin whistles at:
https://github.com/jgadsden/musescore-low-whistle

Do not apply tabs to tied notes in MuseScore 3

MuseScore version 2 plugin checks for tied notes and does not display the tab. Note that this is different from slurs.

Suggest a check in MuseScore 3 is made along the lines of:

                if (notes[i].tieBack != null) {
                    // No tab if the note is tied
                    // Pas de tablature si la note est une note liée
                    tab = ""
                } 

so that tied notes do not have tabs applied to them, as this gets too crowded and is not needed.

Tabs appear over a second staff

If you are working with a score for two instruments such as Scarborough Fair (Arranged for recorder / tin whistle duet) from MuseScore.com the tabs appear over the second staff.

Screen Shot 2024-02-17 at 12 36 40 PM

This is with MuseScore - OS: macOS 12.7, Arch.: x86_64, MuseScore version (64-bit): 4.2.1-240230937, revision: github-musescore-musescore-d757433

And the latest plugin version.

Turn off Automatic Placement of tabs

When using the plugin for MuseScore version 3 the tabs have Automatic Placement by default - which does not seem to be the case for MuseScore 2. This means that the tabs are automatically placed above the notes and not below as expected.

MuseScore 3 plugin no longer executes

When invoking the plugin in the latest MuseScore 3 (version 3.2.3.22971) the plugin fails to run withconsole message:

Running…
Creating component failed
line 63: Expected token ;' line 63: Expected token ;'

When the function dumpObjectEntries() is removed using the builtin 'Plugin Creator' tool the plugin works as expected.

Low whistle not being detected as a whistle + different sound font

  1. File -> new
  2. Add Low whistle instruments
  3. Input notes
  4. Plugin -> Generate tablature
  5. Error message

Musescore/system info: OS: Windows 10 Version 2009 or later, Arch.: x86_64, MuseScore Studio version (64-bit): 4.3.2-241630831, revision: github-musescore-musescore-22b46f2

Downloaded the latest release 4.2 https://github.com/jgadsden/tin-whistle-tablature/releases/tag/v4.2

Hi there,

I've just done a fresh install of the plugin, downloaded the 4.2 qml and all-whistles xml from the page above. Low whistle appears not to be registered as a whistle. Error message "No selected staff in the current score uses a tin whistle instrument. Use tab "Instruments -> Add" to select instruments"

Screen.Recording.2024-07-21.001913.mp4

Also the low whistle uses piano as a sound font rather than the flute! You can hear it in the recording.

Any help is appreciated!

Offset for Y position changed in 3.4.x

With the latest MuseScore 3 version 3.4.2 the tab diagrams now clash with the notes. The Y position offset has changed, see attached image. This is a change introduced in version 3.4 from January 2020
y-offset-wrong

Improved support for MuseScore 3 needed (and provided)

Hi,

The current (circa June 2019) MuseScore version 3 of the tin-whistle-tablature plug-in is missing many great features compared to the MS v2 version.

I've taken this working on and fixed the MuseScore 3.x QML missing scripting feature required to properly select whistle keys and scales (i.e., property 'instrumentId').

In addition, I've modified the plug-in to place the tab images under the staff just like the 2.0 version provided.

Finally, I updated the example scores files and README.md images to reflect these improvements.

This all available in the following pull request:

#11

Thanks for considering these changes!

Dale

First note of new staff should always be tabbed

If the last note of a staff matches the pitch of the first note of the next staff then the first note of the new staff is wrongly regarded as a repeat. The first note of a new staff should always be tabbed, even it is the same pitch as the last note of the previous staff

Add tabs as lyrics not text?

MuseScore 3 places text above the staff. Convention has the tin whistle tabs below the staff where the lyrics are placed. It may be better to add the tabs as lyrics rather than text, and allow MuseScore 3 to place the tab in the appropriate place.

Add releases for Version 3.2 and version 2.3

@DLLarson and @riaanvn I think it would be good to create release snapshots for the current MuseScore 3 (version 3.2.3) and MuseScore 2 (currently version 2.3.2). This is a good time to do it, as we are looking at adding in support for Low Tin Whistles.

What tags should be used? Going by generally used naming conventions for Musescore plugins it should be 'v3.2.x' and 'v2.3.x', if you agree?

Instrument check for MuseScore 3

The version for MuseScore 2 (tested on 2.1 and 2.3) checks that the staff instrument is of a whistle type. This was removed from the version for MuseScore 3 because curScore.parts[staff].instrumentId is no longer available.

It would be nice to check that the staff is for a whistle so that different tunings (such as C and Bb) can be supported, not just D tuning.

Remove repeated tabs

An idea for enhancement.
When notes are repeated at the same pitch, it would be helpful not to have the tabs repeated - jst the first one. Then when the pitch changes the tab can be shown again.

Blayne Chastain's TinWhistleTab.ttf not found by the plugin

Hello,
I'm using Windows 10 and I've installed the Tin Whistle tab plugin on Musecore 3 following the instructions. The plugin is located in C:\Users\svlel\Documents\MuseScore3\Plugins directory.

I've downloaded and installed as well the Blayne Chastain's TinWhistleTab.ttf. The font is now located in C:\Users\svlel\AppData\Local\Microsoft\Windows\Fonts directory but is visible as well in C:\Windows\Fonts.

I've activated the plugin in Musescroe, but unfortunately, when attempting to add the tab I receive an error message saying that I must install the font first.
I've tried to change the code by renaming the font name by "Arial" and then I see the the letters in Musescore.

Please could you help me to find out what I've done wrong with the font in order not to get this error message ?

Thanks in advance.

Vincent
tin whistle_tab-font
tin whistle_tab-error

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.