C++ Music Notation Application For Windows
I need a developer for a Visual C++ simplified music score (engraving) application.
The intention is to integrate the application into a pre-existing Visual Studio C++ application.
Experience with sheet music, MIDI and music fonts is preferred, though not essential.
Below are some links that should be helpful:
I suggest you get them, read and test, and download MuseScore 1.2 if don't have any music
notation software - it's free!
There are already many open source applications.
As such, all the code is probably already available in one form or another. But since this is such a simple
application it's probably easiest to start from scratch! Most important is that if you do find and use an application
intended for a symphony orchestra then you have to strip away all unnecessary detail and complexity from the
The Key features:
* The application should be able to read in a midifile containing a short melody (max 8 bars and max 64 notes)
and display a music score.
* One stave, and one voice (i.e. lead sheat style)
* Pitches: g3 to E6 (i.e. two ledgers below lowest stave line in the staff and three ledgers over higest stave line)
* Note Values: whole notes, quarter notes, half notes, eights, dotted quarter, dotted half, dotted eights, triplets, duplets,
and all tied combinations of the those values.
* Clefs: G
* Key signatures: C major and C minor
* Time signatures: 4/4, 3/4
* Accidentals: flats, sharps.
This is a simplified music score application, so the following is not needed e.g. :
* octave signs
* repeat signs
Final product should be:
* NOT be "held for ransom" for unreasonable payments for minor tweaks or additions
* Bug free or basic warranty offered
* End-user ready.
**REGULAR updates, milestones compliance and deadline maintenance are a MUST
* Decision on which music font to use with rationale.
* Visual C++ classes that can draw an empty, scalable stave in the bottom of an empty SDI application that I provide.
* In addition to above render a G-clef, key signatures and time signures according to key features above.
* In addition to above render a simple eight bar melody in hole notes without ledgers.
* In addition to above render a simple eight bar melody in quarter notes without ledgers.
* In addition to above render a simple eight bar melody in quarter notes WITH ledgers.
* In addition to above render a simple eight bar melody in mixed: hole notes, quarter notes, eight notes, and dotted quarters,
half notes, eights.
* In addition to above render all kind of duplets and triplets, even in mixed note values (e.g. a triplet consisting of two
quarters and two eights).
* In addition to above render all combinations of tied note values of the above values.
* In addition to above handle a MIDI file input and render the music score encoded by it.
*** OBS! The application output must comply to all standards for sheet music, so the application will be tested at each
milestone (except the first) with a random input melody, which also is fed into a professional softare like Sibelius, and
then comparing the results!
Skills required: C Programming, Visual C++ Programming, MFC.