/notedonor

Donations platform for symphonic music groups

Primary LanguageJavaScript

Notedonor

Description

Notedonor is platform though which symphonic music programs can ask for donatations. Multi-instrument scores transcribed into vextab

A live version of Notedonor is used by Sinfonía por la vida

Dependencies

Make sure you have npm and php installed.

Usage

Clone the repo, and cd into it.

git clone https://github.com/spencerhitch/notedonor.git
cd notedonor/vexflow

Install the necessary node package dependencies, make sure that node recognizes THIS vexflow as the one it should use, and build.

npm install
npm link
npm start

Move to Vextab, install the necessary node package dependencies, make sure vextab is looking to the Vexflow we linked above, build the project (specifically playground.js), and start a local php server on port 8000.

cd ../vextab
cp tests/score_orig.txt tests/score.txt
npm install
npm link vexflow
npm start; grunt playground
php -S localhost:8000

In your browser of choice go to localhost:8000/tests/playground.html

Troubleshooting

  • Careful of unicode characters in notedonor/vextab/tests/score.txt ** Consider replacing "[A-Z][a-z]+)+[A-Z][a-z]" with "[A-Z][a-z]+)+[A-Z][a-z]" in notedonor/vextab/src/vextab.jison

Technologies

Notedonor is built using npm and the existing npm packages Vextab and Vexflow. Player functionality is provided through MIDI.js and soundfonts from github user gleitz.

Vextab has been modified to have default enabled note playback and to support multiple instruments. An extra heirarchical layer called a stavegroup acts as the parent to staves. Each stave can be used to represent a different intstrument.

Vexflow has been modified so that stavenotes have a donor_name attribute. When this attribute is non-blank, notes can be hovered to reveal the name. NOTE: This only works because our instance of Vextab has chosesn SVG as its context. Rafael and HTMLCanvas are no longer supported.

MIDI.js remains unmodified.

Notedonor is to be used in tandem with some payment system. We chose Paypal for the Sinfonía project because of Paypal's recognizability in Latin America and its acceptance of Diners Club International Cards (Discover).