1.2.4.0
- StaffBuider class - Fluent API for adding elements to the staff,
- Beaming issues and refactor (for example new class BeamGroup).
1.2.5.0
- Fix: Redrawing first measure of score loaded from MusicXml changes the order of clef, time signature and key.
- Fix: Measure of XAML NoteViewer control is computed wrong on the first pass (concerns WPF, Universal Apps and Windows Phone Silverlight controls),
- Fix: Beams are always black regardless of note color,
- Fix: Universal Apps control redraws the whole score when dragging notes by mouse instead of redrawing single measures,
- New feature: part groups in MusicXml import,
- New feature: Mensurstrich barlines (barlines that are drawn only between staves - for mensural music transcriptions),
- Fix: Some beams are not rendered properly after mouse dragging,
- Fix: Improper Y location of notes after mouse dragging in systems >1 in Panorama mode,
- New feature: generic DependencyProperty registration. Example:
public static readonly DependencyProperty ZoomFactorProperty = DependencyPropertyEx.Register<NoteViewer, double>(v => v.ZoomFactor, 1d, ZoomFactorChanged);
- Deprecated properties: IsAsync and IsDebugMode of NoteViewer xaml controls.
1.2.6.0
- BeamGroup and Lyrics classes now inherit from MusicalSymbol - they can be selected and dragged,
- Refactor of dragging mechanism. Now every MusicalSymbol can be dragged* if proper IDraggingStrategy is implemented for that symbol. By default following elements can be dragged: notes, rests, beam groups, directions and lyrics. You can implement your own dragging strategies and enable them by adding their assembly to DraggingStrategy.AssembliesToSearchForStrategies collection,
- Units of default-y values imported from MusicXml files are now correctly recognized as tenths of interline space,
- Default staff distance is now correctly imported from MusicXml files and uses correct units (tenths of interline space),
- RebeamToBeats algorithm has been improved. Now rhythmic groups that exceed one beat (for example 8 8. 16 8 in 4/4) are drawn under one beam,
- Default hook direction algorith has been changed (actually there are now 3 algorithms to choose). A programmer can also choose desired hook direction for a Note by setting DesiredHookDirection property,
- Lyrics are now stored in LyricsCollection instead of List<Lyrics>(),
- Score model is now more detailed. StaffFragment class has been added that represents a fragment of staff in a staff system. For example if the score consists of 3 systems and 4 staves it has 12 StaffFragments in total.
* - dragging is only supported in Xaml controls for WPF, Universal Apps, and Silverlight for Windows Phone 8. Legacy Silverlight library still uses a old version of dragging mechanism.
1.2.7.0
- Many layout and dragging issues are now fixed, especially those connected with disappearing elements after dragging and wrong location of systems,
- Minor performance issues,
- Support of parsing, rendering and dragging for directions of type "words",
- Stem location is now correctly changed when note is dragged to the other side of beam,
- Initial support of rendering single pages (work in progress),
- Initial support of async drawing in WPF controls (now it renders a score staff by staff. It's going to be changed to system-by-system rendering in the future),
- IsPanoramaMode property has been replaced by RenderingMode property which can be set to one three values: Panorama, AllPages and SinglePage,
- New property CurrentPage in NoteViewer class which indicates which page is displayed in SinglePage mode,
- A new TaskScorePlayer class which supports playback of the whole score (legacy libraries for Silverlight contain ThreadScorePlayer that still supports playback of only top staff),
- New library Manufaktura.Controls.Desktop which contains components for all supported desktop platforms (WPF and WinForms),
- MidiTaskScorePlater - implementation of TaskScorePlayer which uses MIDI for playback,
- Playback cursor in WPF library - if NoteViewer's CurrentPlaybackPosition is bound to TaskScorePlayer's CurrentPosition a vertical line appears that follows currently played element,
- Legacy libraries for Silverlight have been updated to match capabilities of version 1.2.7.0 of Manufaktura.Controls.
1.2.8.0
- New Radial Chart WPF control with user interaction feature,
- New PolarPoint structure which represents a point in polar coordinates,
- Methods for changing coordinates from polar to cartesian and vice versa,
- Resolved wrong behavior of RhythmicDuration.ToDouble() method for notes and rests with multiple dots,
- Adding elements to staff now properly refreshes the view,
- Changing duration of a note now properly updates the view and performs rebeaming,
- MusicXmlParser can now save Scores to MusicXml files.
1.2.9.0
- Beta version of Manufaktura.Controls for Xamarin Android is available in Demo and Full version,
- Midi playback support in ASP.NET MVC controls (requires external midi library, such as Midi.js),
- Fixed bugs related to tuplet playing in ScorePlayer,
- Support for crossed grace notes,
- Midi playback in Universal Apps. Requires linking to additional library Manufaktura.Controls.UniversalApps.Media which is provided in three different versions: for x86, x64 and ARM processors,
- Quality is now improved by visual unit tests which prevent regression,
- New slur style with variable line width, algorithm for avoiding colisions between slurs and notes,
- Support for many slurs above/below one note,
- Fixed bugs related to slurs appearing in wrong places,
- Fixed some bugs related to MusicXml parsing,
- Support for double barlines,
- Proper sizing of ASP.NET MVC NoteViewer Control rendered as SVG,
- Fixed bugs related to beaming in chords,
- More precise note positioning in measures,
- Support for invisible and dashed barlines,
- Better positioning of mordents,
- Fixed many bugs related to drawing parts containing many staves.