Lomse Versions Save

A C++ library for rendering, editing and playing back music scores.

0.30.0

1 year ago

Notable changes

  • Project license changed to MIT license.
  • New strategy for undo/redo, faster, much less memory consumption and valid for all music formats.
  • Add MusicXML exporter. Now all music can be exported in MusicXML.
  • Support for more music notation

For more details see changelog

Installation

0.29.0

2 years ago

Notable changes

  • Changing version number before proceeding to change project license to MIT.
  • Many improvements since last release.

For more details see changelog

Installation

0.28.0

3 years ago

Notable changes

Version number changed due to backward incompatible changes:

  • RenderingBuffer is no longer an object that the user app. should know about. Therefore, methods Interactor::set_rendering_buffer() and Interactor::set_print_buffer() accepting a ptr. to the RenderingBuffer have been deprecated and replaced by two new methods that receive the necessary data (unsigned char* buf, unsigned width, unsigned height). Deprecated methods can still be used but will be removed in the future. Please update your code.

Other important changes:

  • Improvements in MusicXML support:

    • Compressed MusicXML files are now supported (thanks, Dmitri Ovodok).
    • MusicXML importer now processes <transpose> elements and this information is now taken into account for playback
    • Cue notes are now imported, although for now they are displayed as normal notes.
    • Clefs 'TAB' and 'none' are now supported
    • MusicXML importer now properly deals with <clef-octave-change>
  • Other changes:

    • Three new Views have been implemented: HalfPage, FreeFlow and SinglePage Views.
    • Transposing instruments are now correctly taken into account for playback.
    • Auto-scaling has been implemented. Now, when the paper height is too small to render just one system, instead of rendering an error message, the scale is automatically adjusted so that the score can fit on the available space.
    • Pitch computation when clefs with octave numbers has been fixed.
    • The quality of scores renderization has been greatly improved in several areas: full support for grace notes, layout of slurs, beams, correct engraving of wedges and volta-brackets when at start and end of system, intermediate shapes in volta-brackets, octave shifts, slur, and other spanners are now rendered, clef change is now correctly laid out, and some other minor fixes.

For more details see changelog

Installation

0.27.0

4 years ago

Notable changes

Version number changed due to possible impact on user applications this change:

  • Font management and substitutions: Lomse now uses system installed fonts in Linux and Windows. For Windows, Bravura music font is still required in the path specified in configuration macro LOMSE_FONTS_PATH. For other platforms, the old approach (fonts provided by user application) is applied.

Other important changes:

  • More music notation supported:

    • Added octave-shift lines.
    • Added crescendo/diminuendo wedges (hairpins).
    • The MusicXML importer now also imports these notations.
  • Improvements in music layout:

    • Full-measure rests are now centered in the measure.
    • The space between systems and staves is now dynamically increased to avoid collisions between notation symbols.
    • Some engravers have been modified to avoid collisions between stacked notations.
    • Slurs layout has been slightly improved.
  • Other changes:

    • The log file is now created at user home folder.
    • The height for single system view is is now the real height of the system plus page margins instead of being a fixed height.
    • New methods to display brackets and vertical lines on any score, e.g.: to define the start and end points of a score section or fragment.
    • Some bug fixes.

For more details see changelog

Installation and binary packages

0.26.0

5 years ago

Notable changes

This new release includes a lot of changes. The most important are, perhaps, the following:

  • Pitch representation in Lomse internal model was not the best representation for supporting transposition or other pitch changes. So, it was necessary to review and change all this in the internal model.
  • Added new edition commands for transposition.
  • Measure numbers can now be rendered. Options for controlling measures numbering have been added. MusicXML importer modified for importing measure numbering options.
  • Added new class FIntval for managing intervals.
  • Many bug fixes.

For more details see changelog

Installation and binary packages

0.25.0

5 years ago

Notable changes

  • Lomse now supports more visual tracking effects and, for coherence and to use more descriptive names, all references to score highlight effects have been changed, when appropriate, to 'visual tracking' effects. But this creates backwards incompatibilities. In particular, the more important changes that will affect your code are:

    • Class EventScoreHighlight changed to EventVisualTracking.
    • Type SpEventcoreHighlight changed to SpEventVisualTracking.
    • Enum item k_highlight_event changed to k_tracking_event.
    • Method Interactor::on_visual_highlight changed to Interactor::on_visual_tracking.
    • Enum item k_end_of_higlight changed to k_end_of_visual_tracking.
    • Enum item k_advance_tempo_line changed to k_move_tempo_line.
    • Enum item k_highlight_event changed to k_tracking_event.
  • Added method Interactor::set_visual_tracking_mode(int mode) for selecting the visual trackin effect to use. A new enum EVisualTrackingMode defines valid modes.

  • Changes to allow extension '.musicxml' for uncompressed MusicXML files.

  • Several fixes to make Lomse buildable in macOS with clang compiler and to allow compilers other than GCC and MSVC.

  • boost libraries are no longer used, for trying to reduce or eliminate dependencies.

For more details see changelog

Installation and binary packages

0.24.0

6 years ago

Notable changes

  • Adds a new View (SingleSystemView) for displaying documents containing only one score in a single system.

  • Adds a new method, Interactor->set_view_background(), to facilitate the customization off all current Views.

For more details see changelog

Installation and binary packages

0.23.0

6 years ago

Notable changes

  • This release only adds documentation. But while documenting class Document and starting to document the internal model, some methods were renamed to use more meaningful names. Due to this, backwards incompatibilities were created, forcing to update version numbers.

For more details see changelog

Installation and binary packages

0.22.0

6 years ago

Notable changes

  • Some refactoring in Events, resulting in some name changes that result in backwards incompatibilities, althouth it is very unprobable that will affect user applications code.

  • Auto-scroll during playback so that current played notes are always visible.

  • Playback improvements: now playback takes into account repetitions implied by barlines with repetition dots and volta brackets, as well as repetions implied by textual repetition marks (i.e. Da Capo, To Coda, etc, ...)

  • Some important technical changes:

    • Building Lomse now requires to use c++11 or greater.
    • cmake required version is now 2.8.10 or greater, and
    • gcc required version is now 4.9 or greater.
  • Some fixes and small changes.

For more details see changelog

Installation and binary packages

0.21.0

6 years ago

Notable changes

  • Building Lomse now requires to use c++11 or greater.

  • Many changes for improving support for MusicXML.

  • Improvements in tuplets renderization and support.

  • Improvements in layout.

  • Also several fixes and small changes.

For more details see changelog

Installation and binary packages