* Fixed a very rare crash which could happen when SharpEye loaded a .mro file.
* Added facility to look for lyrics and chords either above or below staves.
* Added facility to save and load options as a text file.
* Improved lyric recognition in cases where dots on i's were previously sometimes missed.
* Lyrics containing hyphens are now split better into syllables.
* Some improvements in methods that looks for text in image.
* Improved recognition of staves where lines are obscured by very long horizontal beams.
* In MusicXML 1.1 export, textual names of chords are now included. This enables the importing program to distinguish Gm7 from Gmin7, etc.
* Fixed bug in MusicXML export. A clef or key signature at the end of a measure containing a multi-measure rest was not exported.
* Fixed bug in registration process. You got a misleading message if you dragged more than one file to the About SharpEye2... dialog when registering.
* Fixed very obscure bug in recognition engine. [bitstrea_orr()]
* Fixed problem in MusicXML export. Lyric syllables consisting of a single hyphen were sometimes exported.
* Fixed bug which prevented grace notes at the end of measures being exported.
* Added option to assign lyrics to up-stem voice. (In staves with two voices SharpEye used to assign lyrics preferentially to the down-stem voice; now you can choose.)
* Fixed bug in recognition engine. Failed on large scale image, about 50 pixels between stave lines. (Error message mentioned "edgefeat.c104")
* Recognition engine now refuses to process very large scale images.
* PDF version of manual updated.
* Support for MusicXML 1.1 added. This means more layout information is exported, including page size and margins, vertical system and staff spacing, staff sizes, and measure widths.
* Various fixes and improvements in MusicXML export:
If the upper stave of a two-stave part had empty measures (without even rests) SharpEye generated incorrect MusicXML - this is now fixed.
Wedges (hairpins) now get a number-level in MusicXML export (easier for importing programs in cases where wedges overlap).
Barlines at the ends of systems which are `invented' by SharpEye (when measures are split across systems) are now exported with a bar-style of "none".
* The invented barlines just mentioned are shown in grey in the editor.
* The green arrows linking staves across systems are now numbered to aid working with complex scores.
* Fixed a redraw problem, where parts of the green arrows were not displayed when a system was much deeper then the previous one.
* Page numbers are now displayed in editor.
* Fixed bug. If staves were deleted from a score, then another score was appended to this, SharpEye sometimes crashed later.
* When an image file is automatically loaded in response to a click in the music window, SharpEye now looks in the same folder as the currently loaded music file for the image file if it cannot load the image file from its original place.
* Fixed minor problem: The `Copy key/clef to' tool had counter-intuitive behaviour if a key or clef in mid-system was selected. Can now only use this tool when a key or clef at start of system is selected.
* Bug fixed. It was possible to create a score by deleting a stave or staves which would not export as MusicXML [Error message mentioned "mscrutil.c806". The problem occurred when there was an invented stave in the first system and staves were swapped later on by green arrows.]
* Bug fixed. The editor could crash if you deleted a system, then selected a symbol beyond the deletion, then used Undo to restore the system.
* Bug fixed. With some settings of MIDI tempo, the `play one measure' and `play from current measure' sometimes started playing too late in the score. [Typically it happened towards the end of a score, apparently a rounding error in MCI.]
* Bug fixed. Using the Simple editing dialog, it was possible to join a stave to the one above and the one below, resulting in scores which could not be exported.
* Problem fixed. Splitting a two note chord which belonged to a triplet could create a triplet which contained up and down stem notes. If the stave was then split, this led to nonsensical (though legal) MusicXML export.
* Added facility in editor to mute parts, as an aid to aural checking of music.
* Added facility in editor to delete a stave.
* Added facility to recognise small note heads as normal notes (instead of as grace notes).
* Added an option to reverse the MIDI channel numbering when a stave is split into two parts.
* Fixed bug. The "MIDI - Save and open temp file" command did not honour repeats.
* Fixed bug. Very long error messages passed on from Windows could be truncated.
* Fixed minor bug in the way MIDI channels were assigned if there were more than 9 parts in score.
* Fixed very obscure bug in recognition engine which aborted on dithered image.
* Fixed problem with MusicXML export. Hairpins (wedges) applying to a single note appeared in Finale as vertical lines (actually zero width hairpins).
* Some accelerator keys (key shortcuts) added.
* Allowed LZW TIFFs to be imported.
* [Technical] Updated to Libtiff 3.7.1.
* Installation file is now digitally signed.
* Improved the method that groups staves into systems.
* [Technical] Added NIFF tag with information to link to scan.
* Fixed bug. If a score began with a multi-measure rest, SharpEye would not play the music, and incorrect MIDI was generated.
* Fixed bug. With recognition of lyrics turned off, recognition of other text turned on, it could still interpret some text as lyrics.
* MusicXML export updated. (Header no longer uses a local file path for DTD, and refers to MusicXML version 1.0 not 0.6.)
* Two problems with tuplet recognition fixed. The rhythm analysis was overriding tuplet numerals in some circumstances. Now allow a bigger gap between tuplet numerals and beams.
* More chord suffices recognised and translated into MusicXML.
* Some technical changes related to the SDK version of the recognition engine.
* Fixed bug in recognition engine (introduced in 2.56). On skewed images, ends of staves could be missed.
* Fixed two problems with batch mode. If the output folder had certain attributes set (archived, hidden, etc) SharpEye gave an incorrect warning "Folder does not exist". Also, in some circumstances, SharpEye would attempt to do a batch when it should not.
* Added some more chord suffices ("m7-5" and "7-9" and variants of suffices which use flat sign instead of minus sign).
* Fixed bug. On a very skewed image, recognition engine generated an mro file which the front end failed to load. (Error mscrutil.c 1596.)
* Fixed bug in rhythm analysis. It affected 'partial' measures (ones with double barline etc) containing tuplets and could cause false rhythm warnings.
* Fixed two bugs affecting interpretation of tuplets other than triplets. (These only affected tuplets recognised by the engine, not those entered by user. Notes could be given the correct duration but not grouped, so no numeral appeared. Quintuplets were also given the wrong duration.)
* Fixed occasional problem where clicking near a note could cause it to move instead of being selected. (The problem only seemed to happen on XP, not W9x, and to only affect the first click in the music window, and did not always happen even then.)
* Fixed bug in NIFF and MusicXML export. If text (lyric or other) was deleted in the editor, an empty text string or default guitar chord was written to the NIFF or MusicXML file.
* Fixed a rhythm analysis problem which was occasionally assigning rests to incorrect voice.
* Fixed two rhythm analysis problems related to rests occuring between notes that are beamed together. (One introduced in 2.53, the other long standing, only affecting chords.)
* Fixed bug. When a barline was added in the editor, notes in the two measures either side lost their flags (beamed notes were not affected).
* Improved rhythm analysis in case where two or more voices and rests occur between notes that are beamed together. (Previously could fail to put the rests between the notes.)
* Changed numbering of voices in MusicXML export. (Should have no affect on how they are interpreted, but more 'logical' to a human reader.)
* Fixed bug. The recalculation of triplets sometimes happened when it shouldn't, resulting in over-writing manual edits to triplets.
* Fixed bug. The recognition of unmarked triplets, and the recalculate triplets tool, were not working.
* Fixed bug. Voice assignment was not working correctly, mostly in cases where two staves are joined.
* Changed the way voices are exported in MusicXML, which seems to work better with Dolet for Finale, especially when two staves joined.
* Multi-measure rests can now be added and edited in the editor. (They are not recognised from the scan.)
* More dynamic marks are recognised (ffff, pppp, fp, sf, fz, sfz, sffz, sfp, sfpp have been added to the previous ppp, pp, p, mp, mf, f, ff, fff). These can also be edited in the editor.
* More articulations and ornaments are recognised (marcato, staccatissimo, trill, mordent, inverted mordent, up bow, down bow added to pause, staccato, accent, tenuto). These can also be edited in the editor.
* Stave braces, usually used to indicate a grand staff, are now recognised, so that pairs of staves are now joined at the start of the score.
* More tuplets are recognised. Triplets, duplets, quintuplets, and sextuplets (2,3,5,6) can now be recognised as long as they have a bracket or a beam which indicates which notes belong to them. As previously, unmarked triplets can also be recognised using rhythm analysis in comon situations.
* Grace notes with slash stems can be created in editor. (Recognition of these is planned.)
* The assignment of voices to notes has been improved. This affects the way voices are assigned within a measure (especially dealing with 3 voices) and also makes the way voices are assigned more consistent between measures.
* Batch mode now has an option to automatically join together all files in a batch.
* SharpEye can now import grey scale images (with 256 grey levels) as scans, BMP files and TIFF files.
* There are also numerous improvements in accuracy, including:
Greater variety of font styles for symbols (rests, dynamics, etc) can now be recognised.
Better recognition of key signatures, especially sharps that are 'stuck together'.
Better discrimination between key sigs and accidentals.
Better erasure of stave lines.
Notes beamed across barlines are now automatically split.
Some false recognitions of flags now weeded out.
Better recognition of long nearly straight ties and slurs.
Improvements in contextual analysis.
* Fixed bug in MusicXML export. Guitar chords sometimes placed incorrectly (at wrong time) when two or more voices.
* If you appended two music files where the first had staves joined at the start, and the second had green arrows which separated or swapped the order of a joined pair of staves, you got a confusing error message about "not enough memory" and the score was removed. Now get a more sensible error message and only the joins between staves are removed.
* Fixed problem with barlines at the end of systems in NIFF export. After a warning time or key signature a barline was incorrectly put in the NIFF file. [Note that in some older printed music, measures are split across systems, and SharpEye has to 'invent' a barline since modern notation editors generally do not understand split measures. SharpEye decides automatically if the invented barlines should be exported in NIFF or MusicXML by looking at whether notes or rests are present.]
* Added a link to the Visiv web site on the Help menu.
* Manual updated (instructions for purchasing, reporting bugs).
* Fixed bug. In scores where empty staves are added to make the score rectangular, the "go to next rhythm warning" button took you to such staves as if they were rhythm errors.
* Possible problem with software protection system fixed. (Error message about debuggers using 2.34.)
* Fixed bug in MusicXML export. [Technical] SharpEye sometimes generated incorrect MusicXML (a measure number of -1) when there are two barlines with no notes or rests between.
* Fixed bug in recognition engine. Recognition failed (error message Findbeam.c1172) on a very poor "dithered" image.
* Minor recognition improvement. Copes better when stave lines are broken.
* Fixed bug introduced in 2.32. When exporting guitar chords in MusicXML, v2.32 outputs spurious text in addition to the guitar chords.
* Added button for saving as MusicXML.
* Long chords (eg "F#m7(add4)") could become attached to an earlier note than they should have been. Now less likely.
* Minor improvement in way lyric words are split when a space is inserted.
* Made TIFF not BMP the default format for saving an image.
* [Technical] File version number for .mro files now 3000.
* Fixed bug. The text recognition options were not properly restored when starting a new session. (They appeared to be correct in the dialog, but not all the displayed characters were used in recognition unless you clicked on OK.)
* Fixed problem in MusicXML export with tuplets containing different length notes. (This could result in tuplet signs appearing incorrectly in Finale).
* Improved play facilities. Play from current measure (if there is one), new play single measure facility, and buttons for these functions.
* Improved MusicXML output of uncorrected scores. Short measures are filled with invisible rests.
* Several improvements relating to guitar chords (A7, D#m, etc):
Improved text recognition of chords.
Improved algorithm for distinguishing guitar chords from lyrics.
Now distinguish guitar chords from other non-lyric text, and display chords in green.
Output guitar chords as chords instead of plain text in NIFF and MusicXML. (Not all NIFF importers understand NIFF chords, so this is optional - see the NIFF options dialog.)
* Increased maximum number of notes in a chord from 6 to 10.
* [Technical] Two additions to NIFF export. RIFF information added, to identify NIFF files as coming from SharpEye2. Explicit key signatures added for staves with no key signature (ie C/Am).
* Bug fixed in NIFF export. In scores with staves of different sizes, certain configurations of ties between chords in different systems could cause the NIFF export to fail.
* Bug fixed. When there were ties between upstem and downstem notes in a stave that was split into two voices, confusing export files (especially MIDI) could be generated. Now, if a stave is split, slurs and ties between upstem and downstem notes become grey and are ignored when exporting.
* Problem fixed in MusicXML export. Grace notes were not assigned a voice, which could result in strange layer-assignment when importing into Finale.
* [Technical] Max value for divisions in MusicXML export limited to 16*1024.
* Fixed a cosmetic problem where some editing operations could leave one 'half' of a tie between systems shown in grey.
* Improved recognition of old-style straight flags, particularly errors where a 16th note was seen as an 8th.
* Input and output folders for batch mode are now saved and used to initialise the batch dialog.
* Bug fixed in MusicXML export. Key change to C or Am resulted in incorrect pitch information for subsequent notes. Also a mid-measure clef now resets accidentals.
* Bug fixed in MusicXML export. If two staves were joined in SharpEye, then non-standard barlines appeared twice in the MusicXML file. (This did not seem to affect import into Finale, but might confuse other MusicXML importers.)
* Fixed bug: editor could crash if you tried to add a tie to note right at end of score. (Introduced in 2.27).
* Fixed bug: selecting and inserting notes in editor was not working properly in certain situations. (Introduced in 2.27).
* Improved recognition of sharp and flat signs in chord names.
* Improvement to rhythm analysis. Deal better with case where a whole note chord is simultaneous with a stemmed note that overlaps in pitch. Also adjusted separation parameters introduced in 2.26.
* Simplified text recognition options.
* Key signatures now displayed in blue to help spot errors where accidentals are interpreted as key signatures or vice-versa.
* Better positioning of notes which are unisons or a second apart when they are vertically aligned.
* Improvement to editor. In crowded music with widely spaced notes in chords, adding notes to the correct chord used to be difficult in some cases.
* Added facility to enter registration key via the "About SharpEye" dialog.
* Problem fixed in NIFF/MusicXML export. In a grand staff, where dynamics (ppp...fff and hairpins) appear between staves, the dynamics were lost in NIFF and MusicXML if the top stave was all rests.
* Bug fixed in editor. The "Copy key/clef to later staves" tool did not take account of any re-ordering of staves by green arrows.
* Bug fixed in editor. It was not possible to make a tie across two systems if the second system had a repeat sign before any notes.
* Bug fixed in MusicXML export. When three or more notes were tied together over several measures, with an accidental on the first note, incorrect pitch information was sometimes generated for third and later notes.
* Improvements to rhythm analysis. Some cases where non-simultaneous notes were seen as simultaneous and vice versa fixed. Mostly affects two voice whole note unisons and crowded short notes.
* Fixed bug in MusicXML export. Grace notes affected by accidentals did not get correct pitch information.
* Fixed problem in MIDI export. Where the key changed to C or Am without an explicit key change, the change was not put into MIDI.
* Fixed bug in display. In long scores spurious measure numbers and rhythm warnings could appear. [Technical: 16-bit GDI wrapping.]
* Fixed bug, crash at end of recognition in rare circumstances. [Technical: due to false multi-stave chord found between systems]
* Fixed bug in MusicXML export. A repeat sign at the start of a stave resulted in a spurious empty measure.
* [Technical: Reverted to a local DTD for MusicXML, as the change in 2.24 did not work well with Dolet. This will change again once Dolet's handling of DTDs is improved.]
* Improvements relating to handling of irregular systems. Invented staves are now shown in grey in the display, do not have any rhythm warnings, and you cannot add notes to them. Export of such scores improved, including better ordering of staves in most common cases (see manual for more details). [Technical] In NIFF they now get a sensible stave height (was 0) and an invisible tag. In MusicXML the measures are filled with rests.
* Precise position information for slurs is now put into NIFF.
* Fixed a problem: under Windows XP certain bitmaps (incorrect ones I think) caused a "Failed to load BMP error" when converting. [Technical] Apparently a few scanners put an estimated value for biImageSize in data passed via TWAIN. Bitmaps like this appear to be accepted by the Win 9x version of LoadImage(), but not by the XP version.
* Fixed small bug related to attachment of slurs and ties to notes when stave sizes are different.
* [Technical: no longer attempt to find local DTD for MusicXML output, but expect reading program to find it instead]
* Manual updated (irregular systems).
* Improved recognition of time signatures like 6/8, 9/8 which were sometimes seen as whole note chords.
* Allow more voices in joined staves. (Previously the limit in the rhythm options was applied to the pair of joined staves. Now allow twice this number of voices in the pair.)
* Fixed bug in MusicXML export. Key signature changes were sometimes omitted (though they were correctly applied to the pitches of subsequent notes).
* Various minor changes for MusicXML export. Now use version 0.6. Italic style is exported in text. System breaks are now included by default in MusicXML export (ie when SharpEye is first used).
* Fixed bug: Rare crash of recognition engine during text recognition.
* Fixed bug introduced in 2.20: when staves were joined at the start of the score, the new rhythm analysis could fail.
* Fixed bug: if a barline was inserted which split a beamed group into two, incorrect NIFF was generated (and possibly other problems).
* Several minor recognition improvements. [Technical: Occasional false half-beams due to marks near stem end are now weeded out. Fixed small bug in calculation of contextual probabilities. Fixed small bug in calculation of costs for multistave barlines and changed weight for these. Improved calculation of gaps between objects. Use stem directions when evaluating contextual probability for short full beams. Avoid weeding overlapping stems in two voice, second interval case. Refined calculation of stem cost.]
* Fixed bug introduced in 2.20. It crashed if you tried to set the new rhythm analysis options, or warnings options, with no music file loaded.
* Fixed bug in MusicXML export. Characters <, & in lyrics caused invalid XML to be generated.
* Improved rhythm analysis and added more control over how
It now attempts to guess a time signature if none is present (instead of just assuming 4/4).
It can now be made to assign times to notes that used to be gray. See "Music Editor" - "Controlling Rhythm Analysis" in the manual.
When using the 'two parts per stave' option, the way whole notes are assigned to parts is improved.
* New dialog box providing some simple editing facilities, aimed at visually impaired users and others who don't want to use SharpEye's normal editing facilities. See the "Music Editor" - "Simple editor" in the manual.
* Updated manual.
* Fixed bug. Rare recognition engine crash (fatal error Lnheadpt.c100) where ledger lines were partially cut off at bottom of image.
* Fixed bug in MusicXML export. Occasional crash with error message "Fatal internal error (makexml.c406 No OS error)". Happened when there was a slur or tie starting and ending at the same note.
* Fixed bug in MusicXML export. Where the key changed to C or Am, the change was not put into MusicXML.
* Clefs and keys signatures are now only put in MusicXML at the start of a part and when they change.
* Added page and system breaks to MusicXML output. these are optional, controlled by a new MusicXML dialog box accessed from the Options menu.
* Removed the need to save in SharpEye format before saving as MusicXML.
* [Technical] More changes related to porting recognition engine, should have no effect on Windows version.
* Fixed bug in music editor. If two adjacent measures both had time signatures and the barline between them was deleted, this could cause a crash later.
* Fixed problem where partial measures did not have their time estimated correctly in score where staves are joined.
* Fixed bug which made engine biased in favour of certain time signatures. (Eg it could cause alto clef to be misinterpreted as 2/2 time signature.)
* Fixed bug which caused recognition engine to use more memory than needed. Should improve performance if you are short of RAM.
* Improved attachment of lyric syllables to notes, especially long syllables which are not centered below the note in the original.
* In MIDI output, channel 10 now avoided.
* Graphical NIFF output now includes lyrics and some other symbols attached to grey notes. (Previously they were attached to nearest non-grey note or omitted.)
* Updated manual, mostly in regard to MusicXML.
* Changed messages in status bar.
* Compiled with different optimisation options - recognition should be a bit faster.
* [Technical] Changes related to porting recognition engine, should have no effect on Windows version.
* Fixed a couple of bugs related to recognition and editing of whole note chords with more than 6 notes in chord.
* Fixed bug. Rare recognition engine crash where noise seen as false beam very near top of image.
* Fixed bug. Whole note rests were treated as filling a measure in time signatures like 6/2, 8/2, 10/2, etc.
* Improved rhythm analysis in case where measure has a non-standard barline (double, repeat sign, etc) and contains whole note chord(s) plus other notes with up and down stems.
* Now use bezier curves instead of arcs for slurs and ties. (These usually look better, and are in preparation for adding slur/tie positions to NIFF export.)
* Improved MusicXML export. Non-lyric text was attached to nearest note, now to nearest note-or-rest. Spurious measures were created at the end of a system with a warning time or key signature. Vertical positions for rests have been added. [Technical] Now read registry entry made by Finale plug-in to find DTD location for putting in the MusicXML headers.
* Added MusicXML export. This is beta feature. See manual for more details.
* Improved horizontal position of non-lyric text in NIFF export.
* Better error messages on failure to load BMP files
* Fixed bug. A grace note could erroneously be tied (not slurred) to a normal note of the same pitch. This could could cause a crash when exporting as MIDI.
* Now load Version 5 format bitmaps.
* Added German version of licence.
* [Technical] Fixed problem relating to 'language pack'. (Parsing of tagmsgs.txt).
* Split the text recognition options dialog box into two, so the choice of characters has a separate one. On some systems the old arrangement did not work in 2.11 (the dialog did not display).
* [Technical] Some changes in preparation for adding MusicXML export. (Added lastclef to chord struct, accidshift to note struct, moved MusicalClefType from mscrdata to mscrptio).
* New feature: now recognise text other than lyrics. This means text which appears to be attached to stave, above or below, eg musical directions such as "Andante" or "cresc." and guitar chords ("G", "Am7", etc).
There are new options under Text recognition options to control what kind(s) of text SharpEye looks for. Lyrics are now displayed in a sans serif font (Arial) to distinguish them from other text which uses a serif font (Times New Roman). The size of lyrics as well as other text is now derived from the image instead of using a default size as was previously used. Also recognise whether text is italic or not.
The NIFF export options now allow you to choose Arial or Times New Roman for both kinds of text. NIFF export uses "Times New Roman" - it previously used "Times" which was likely to confuse NIFF importing programs.
A related bug fix: the "Read text" option did not work in 2.10. Text (ie lyrics) was always read.
There are also related changes in the recognition of lyrics. Guitar chords are specifically looked for and interpreted as 'other text' not lyrics. If no lyrics are found before the last stave, text at the bottom of the page is assumed to be 'other text' not lyrics.
* Improvement in 1/16th flag recognition.
* Fixed bug. Crash if you tried to use the "Split two notes chords - In selection" tool when nothing was selected.
* Some changes to make it easier to produce a 'language pack' for SharpEye. [Technical: new Tagmsgs.txt].
* A couple of minor speed improvements. [Technical: key sig contextual tests and 'needs deletion'].
* Fixed bug. Crash if you tried to add more than 100 files to a batch in one file selection. Now get error message.
* Fixed two bugs in editor relating to chords with two heads at the same vertical position on opposite sides of the stem. (If you added such a head, it drew both on top of one another; and it would not allow you to move a head up or down to create this configuration.)
* Fixed bug. Very long ties were not drawn in the editor.
* One person has reported that the status bar sometimes remains at 98% when an image has just been converted. I hope I have fixed this (though I've never seen it so can't be sure).
* One person has reported an problem with the Open File dialog, which I cannot reproduce. I have made some slight changes in the way GetOpenFileName() is called to see if this helps.
* Simultaneous whole notes are now given different parts if you choose to split a stave into parts (ie you set two circles at the start of the stave and split any whole note chords). They then get different part IDs in NIFF and are put on different channels in MIDI. It seems Lime does not yet use this information.
* Better error message in case GetOpenFileName() or GetSaveFileName() fail.
* Some changes to make it easier to produce a 'language pack' for SharpEye.
* Changed key short cuts for "Save and open temp file" so it is Alt-F-F-F for NIFF and Alt-F-D-F for MIDI.