Giter Club home page Giter Club logo

fingering-diagram's Introduction

Fingering Diagram plugin for MuseScore 3.x

Fingering Diagram Plugin for MuseScore 3.x is a tool to create scores with instrument fingering diagrams.

Introduction

This is a plugin that automatically adds fingering diagram/chart for different musical instruments (initially for windwood) to the score. Note that if the staff instrument is not wind (wind.*) or brass (brass.*) then no fingering will be applied. Those are the instruments currently supported:

  • Flute (wind.flutes.flute)
  • Piccolo (wind.flutes.flute.piccolo)
  • Soprano and Alto Recorder (wind.flutes.recorder)
  • Saxophone (wind.reed.saxophone)
  • Low and Tin Whistles (wind.flutes.whistle)
  • Xaphoon (wind.reed.xaphoon)
  • Tuba (brass.tuba)
  • Clarinet (wind.reed.clarinet)

Installation

  • If using MuseScore version 3 then download the plugin and unzip it.

  • Install using the instructions in the MuseScore 3.x Handbook, which typically involves copying the QML file to the local MuseScore Plugin directory.

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

  • This plugin relies on Fiati font being installed, which can be downloaded here: https://github.com/eduardomourar/fiati/releases. For Windows 10 users: Make sure to install the font for "All Users" or MuseScore (and thus this plugin) won't have access to it.

Known issues

Sometimes the diagrams are placed too close together. In order to improve readability, you can either make the font smaller, or set the minimum note distance to 1.5sp or higher.

Preview

Image exported from the sample MuseScore file included in this project.

Screenshot

Development

To help build the proper fingering diagrams, you should consider:

  1. Spreadsheet contaning most of current diagrams here
  2. Use the online Fiati fingering diagram builder (all credits to Angus Moncrieff): https://fiati-fingerings-builder.netlify.app/

IMPORTANT

NO WARRANTY THE PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW THE AUTHOR WILL BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

fingering-diagram's People

Contributors

eduardomourar avatar github-actions[bot] avatar jeetee avatar jgadsden avatar release-please[bot] avatar schuellerf avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar

fingering-diagram's Issues

Allow alternate fingering

For most instruments we have multiple fingering for the same note. So it would be nice to have a toggle or some other UI element to allow the user to switch between them.

Support for Tin Whistle and Low Whistle fingering

It would be good to add a new tab for the Tin Whistle and Low Whistle. These whistles come in various sizes that are tuned to various keys:

  • "D Low Whistle" tuned to D4
  • "F Low Whistle" tuned to F4
  • "G Low Whistle" tuned to G4
  • "B♭ Tin Whistle" tuned to key B♭
  • "C Tin Whistle" tuned to C5
  • "D Tin Whistle" tuned to D5
  • "E♭ Tin Whistle" tuned to E♭
  • "F Tin Whistle" tuned to F5
  • "G Tin Whistle" tuned to G5
    this is a companion issue to jgadsden/tin-whistle-tablature#28
    This needs the fiati font to be extended for Whistles, and an issue is raised for this :
    eduardomourar/fiati#5

Here are the steps we will take to achieve this:

Tenor sax, bari sax wrong fingerings

Hi there,

It seems the fingerings for tenor and bari are all offset - see screenshot attached: C major should have same fingerings for all the saxes, but tenor and bari are blank for first notes, and then the fingerings that do appear are wrong.

If I'm understanding the code correctly, I think this is the fix:

            if (instrument === 'wind.reed.saxophone.alto') {
                this.transpose = 7;
            } else if (instrument === 'wind.reed.saxophone.tenor') {
                this.transpose = 12;         // was 5 - tenor sounds an octave lower than sop
            } else if (instrument === 'wind.reed.saxophone.baritone') {
                this.transpose = 19;         // was 7
                this.base += '\uE281';
            }

Many thanks for your great plugin. FYI I'm 'borrowing' the logic/codes for a web app I'm building - hope that's ok? Will credit you.

Regards,
Angus

Screenshot 2020-09-16 at 16 18 15

Support for Xaphoon fingering

As discussed in skuntzmann/xaphoon_dev#4 we will be adding Xaphoon fingering to this plugin. We have the following instrument variations (as discussed here):

  • Xaphoon in C
  • Xaphoon in B♭
  • Xaphoon in D
  • Xaphoon in G

Here are the steps we will take to achieve this:

Can't make it work in musescore 3.2.3 (debian bullseye)

Hi,
I'm trying to use this plugin with musescore 3.2.3 provided by debian and it doesn't work:
The following seems ok:

  • I installed the Fiati font and i can see it in my system font navigator.
  • The plugin seems to load correctly, it appear in the plugin menu.

To check if this plugin work, i do the following action:

  • create a new document with only a flute score
  • add some random notes in the score
  • select those notes and click on plugins>fingering diagram

Result: Nothing happen. I even run musescore in a terminal to show some error but i see nothing relevant, i just see this:

qml: Selected staves 0 - 0 - End position: 2400
qml: Staff 0 instrument: wind.flutes.flute
Signal QQmlEngine::quit() emitted, but no receivers connected to handle it.

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.