Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
# Conflicts:
#	CHANGELOG.md
#	bindings/java/pom.xml
#	bindings/python/setup.py
#	codemeta.json
#	emscripten/npm/package.json
#	include/vrv/vrvdef.h
#	src/drawinginterface.cpp
  • Loading branch information
lpugin committed Oct 5, 2020
2 parents 1462186 + 6c38dbc commit a499e7d
Show file tree
Hide file tree
Showing 1,366 changed files with 58,316 additions and 19,654 deletions.
16 changes: 16 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ tools/libverovio.so
# emscripten build
emscripten/data/
emscripten/build/
emscripten/CMakeFiles/
emscripten/CMakeCache.txt

# python build
bindings/python/verovio_wrap.cpp
Expand All @@ -54,6 +56,11 @@ bindings/qt/build-library
bindings/qt/build-demo
*.pro.user

# Android build
bindings/android/obj
bindings/android/libs
bindings/qt/build-android

# MacOS
.DS_Store

Expand All @@ -72,3 +79,12 @@ Makefile
libverovio.bc
cmake_install.cmake
libverovio.a
tools/.cmake
tools/compile_commands.json

# VS Studio files
.vs/
Debug/
Release/
*.vcxproj*
*.sln
4 changes: 2 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@ branches:
only:
- develop

sudo: false
os: linux
dist: bionic
dist: focal
language: cpp

git:
Expand All @@ -18,6 +17,7 @@ env:
# repos
- EMSCRIPTEN_REPOSITORY: "https://github.com/emscripten-core/emsdk.git"
- VEROVIO_REPOSITORY: "https://${GH_TOKEN}@github.com/rism-ch/verovio"
- VEROVIO_ORG_REPOSITORY: "https://${GH_TOKEN}@github.com/rism-ch/verovio.org"
# branches
- BUILD_BRANCH: develop
- GH_PAGES_BRANCH: gh-pages
Expand Down
35 changes: 35 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "cmake",
"type": "shell",
"options": {
"cwd": "${workspaceRoot}/tools"
},
"command": "cmake",
"args": [
"${workspaceRoot}/cmake",
"-DNO_HUMDRUM_SUPPORT=ON"
]
},
{
"label": "make",
"type": "shell",
"command": "make",
"options": {
"cwd": "${workspaceRoot}/tools"
},
"dependsOn": [
"cmake"
],
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# Changelog

## [unreleased]
* Support for buzz roll tremolos (@rettinghaus)
* Support for `Sprechgesang` stems (@rettinghaus)
* Support for `<phrase>`
* Support (limited) for preserving XML comments in the MEI output
* Support for `hairpin@opening` (@rettinghaus)
* Support for `@dynam.dist` and `@harm.dist` (@rettinghaus)
* Support for pedal lines (@rettinghaus)
* Options for controlling output tabs (--output-indent and --output-indent-tab)
* Option to remove ids in the MEI output (--remove-ids) to be passed to GetMEI with the JS toolkit

## [2.7.2] - 2020-07-23
* Fix bug with memory in beams (@valeriyvan)

## [2.7.2] - 2020-07-23
* Fix bug with memory in beams (@valeriyvan)

Expand Down
89 changes: 72 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,22 @@
[![Build Status](https://travis-ci.org/rism-ch/verovio.svg?branch=develop)](https://travis-ci.org/rism-ch/verovio)
[![Build status](https://ci.appveyor.com/api/projects/status/121cxhmtwurxffh0?svg=true)](https://ci.appveyor.com/project/LaurentPugin/verovio-r1t6l)

Verovio is a fast, portable and lightweight library for engraving [Music Encoding Initiative (MEI)](http://www.music-encoding.org) music scores into SVG. Verovio can be used as a standalone command-line tool for converting a MEI files, as the music rendering library for applications, or it can be compiled to Javascript using the Emscripten LLVM-to-JavaScript compiler.
Verovio is a fast, portable and lightweight library for engraving [Music Encoding Initiative (MEI)](http://www.music-encoding.org) digital scores into SVG images. Verovio also contains on-the-fly converters to render [Plaine & Easie Code](https://www.iaml.info/plaine-easie-code), [Humdrum](https://www.humdrum.org), [Musedata](https://musedata.org), [MusicXML](https://www.musicxml.com), [EsAC](http://esac-data.org), and [ABC](https://en.wikipedia.org/wiki/ABC_notation) digital scores.

See the JavaScript toolkit running in the [MEI Viewer](http://www.verovio.org/mei-viewer.xhtml) and check out the [app](http://www.verovio.org/app.html) or the [tutorial](http://www.verovio.org/tutorial.xhtml) for its web integration and for enabling user interaction.
Verovio is written in standard 2017 C++ and can be compiled as a standalone command-line tool, used as a compiled music-rendering library for applications (Qt, python), or compiled into Javascript using the Emscripten LLVM-to-JavaScript compiler. Check out the JavaScript toolkit version of verovio running in the [MEI Viewer](http://www.verovio.org/mei-viewer.xhtml) as well as the [app](http://www.verovio.org/app.html) or [tutorials](http://www.verovio.org/tutorial.xhtml) for web integration and user interaction.

![Choice interaction](https://raw.githubusercontent.com/rism-ch/verovio.org/gh-pages/movies/reflow.gif)

Verovio can also render [Plaine & Easie Code](https://www.iaml.info/plaine-easie-code) and imports MusicXML, Humdrum data, and ABC notation. It is designed as a tool usable as a one-step conversion tool and it is written in pure standard C++.

Verovio follows the [Standard Music Font Layout (SMuFL)](http://www.smufl.org) specification and the font can be changed for personalizing the output.
Verovio uses the [Standard Music Font Layout (SMuFL)](http://www.smufl.org) specification and the font can be changed for personalizing the output.

The project page is http://www.verovio.org. Verovio is available under the LGPL license (see LICENSE.txt).
The project page is http://www.verovio.org. Verovio is available under the LGPL license (see [LICENSE.txt](https://github.com/rism-ch/verovio/blob/develop/LICENSE.txt)).

Building and using instructions
-------------------------------
Building and use instructions by environment
--------------------------------------------

See the [wiki](https://github.com/rism-ch/verovio/wiki/Building-instructions), with instructions for:

* [Command-line tool](https://github.com/rism-ch/verovio/wiki/Building-instructions#command-line-tool)
* [XCode](https://github.com/rism-ch/verovio/wiki/Building-instructions#xcode)
* [Visual Studio](https://github.com/rism-ch/verovio/wiki/Building-instructions#visual-studio)
Expand All @@ -33,23 +33,78 @@ LibMEI

The code for the attribute classes of Verovio are generated from the MEI schema using a modified version of LibMEI available [here](https://github.com/rism-ch/libmei). The code generated is included in the Verovio repository and the LibMEI repository does not need to be cloned for building Verovio.

Major releases of Verovio and MEI versions:
* Verovio 1.x.x ⇔ MEI 3.0
* Verovio 2.x.x ⇔ MEI 4.0
* Verovio 3.x.x ⇔ Development of MEI since 4.0

From Verovio 2.x.x, the plan is to have even version numbers for Verovio releases using a stable version of MEI, and odd version numbers for releases using a development version of MEI. It means that once MEI 5.0 will be released, Verovio will move to version 4.x.x. Older versions of MEI are still supported by newer versions of Verovio. MEI files are internally upgraded when loaded into Verovio. This applies only to the features supported by Verovio. We will try to maintain this in the future.

Other libraries
--------------

The following libraries are embedded in Verovio:

| library | purpose |
| ------- | ------- |
| [humlib](https://github.com/craigsapp/humlib) | Humdrum file import/export |
| [JSON++](https://github.com/hjiang/jsonxx) | JSON data parser |
| [MidiFile](https://github.com/craigsapp/midifile) | Standard MIDI file export |
| [pugixml](https://pugixml.org/) | XML data parser |
| [UTF-CPP](http://utfcpp.sourceforge.net/) | UTF character conversions |

Contributing
------------

If you are willing to contribute to Verovio, please follow the [contribution](doc/contributing.md) and [coding style](doc/guidelines.md) guidelines.
If you are interested in contributing to Verovio, please read the [contribution](doc/contributing.md) and [coding style](doc/guidelines.md) guidelines.

Example output
--------------

This page was generated with version 2.4.0-dev-2748fed
The sample page of music shown below was generated with version 2.4.0-dev-2748fed

![Example page](https://raw.githubusercontent.com/rism-ch/verovio.org/gh-pages/images/verovio-exp-2.4.0-dev.png)

Example resources using verovio
-----------------------------------------

| name | type | description |
| ---- | ----- | ----------- |
| [Verovio Humdrum Viewer](https://verovio.humdrum.org) | editor | An online semi-graphical Humdrum data editor (can also be used to textually edit other digital scores compliant with verovio). |
| [MoVI](https://dme.mozarteum.at/movi/en) | repertory | The digital Mozart digital score VIewer at the [Mozarteum](https://mozarteum.at) |
| [Tasso in Music Project](https://www.tassomusic.org/work/?id=Trm0047m) | repertory | Musical settings of the poetry of [Torquato Tasso](https://en.wikipedia.org/wiki/Torquato_Tasso)
| [Measuring Polyphony](https://measuringpolyphony.org/display.html?/assets/mensural/325_MENSURAL.mei) | repertory | Late medieval music in black mensural and modern notations |
| [370 Bach Chorales](https://chorales.sapp.org) | repertory | Online edition of Bach chorales, including an interactive [typesetter page](https://chorales.sapp.org/typesetter) that allows for creating musical examples for online display or use in papers. |
| [Humdrum Notation Plugin](https://plugin.humdrum.org) | tool | Javascript interface to verovio for displaying multiple musical examples on a webpage |
| [Music Sheet Viewer](http://www.partitionnumerique.com/music-sheet-viewer-wordpress-plugin) | tool | WordPress plugin for displaying graphical music from MEI data |


Digital score repositories on Github
-------------------------------------

Here is a list of digital score repositories on Github that can be displayed with verovio:


| link | encoding | description |
| ---- | ------ | ----------- |
| [MEI complete examples](https://github.com/music-encoding/sample-encodings/tree/master/MEI_4.0/Music/Complete_examples) | MEI | 86 various works encoded in MEI |
| [Mozart Piano Sonatas](https://github.com/craigsapp/mozart-piano-sonatas) | Humdrum | 17 Piano sonatas by W.A. Mozart from the Alte Mozart-Ausgabe ([in VHV](http://verovio.humdrum.org/?file=mozart/sonatas&k=e)) |
| [Beethoven Piano Sonatas](https://github.com/craigsapp/beethoven-piano-sonatas) | Humdrum | 32 Piano sonatas by L. van Beethoven, edited by Paul Dukas ([in VHV](http://verovio.humdrum.org/?file=beethoven/sonatas&k=e)) |
| [Josquin Research Project](https://github.com/josquin-research-project/jrp-scores) | Humdrum | Over 1000 scores of early Renaissance music in modern editions ([website](https://josquin.stanford.edu)) |
| [Tasso in Music Project](https://github.com/TassoInMusicProject/tasso-scores) | Humdrum | Critical edition of 650 Late Renaissance madrigals using the poetry of Torquato Tasso for lyrics. ([website](https://www.tassomusic.org)) |
| [Music of Scott Joplin](https://github.com/craigsapp/joplin) | Humdrum | Digital scores of most of Scott Joplins music |
| [Chopin mazurkas](https://github.com/craigsapp/chopin-mazurkas) | Humdrum | Digital scores of Chopin's mazurkas |
| [Chopin preludes](https://github.com/craigsapp/chopin-preludes) | Humdrum | Digital scores of Chopin's op. 24 preludes |
| [J.N. Hummel preludes, op. 67](https://github.com/craigsapp/hummel-preludes) | Humdrum | 24 improvisatory prelude examples in every key |
| [370 Bach chorales](https://github.com/craigsapp/bach-370-chorales) | Humdrum | Chorales collected by C.P.E. Bach after his father's death ([website](https://chorales.sapp.org)) |
| [Deutscher Liederschatz](https://github.com/craigsapp/erk-liederschatz) | Humdrum | 200 harmonized songs from vol. 1, edited by Ludwig Erk |
| [Beethoven string quartets](https://github.com/craigsapp/beethoven-string-quartets) | Humdrum | 18 string quartets by Ludwig van Beethoven |







![Example page](https://raw.githubusercontent.com/rism-ch/verovio/gh-pages/images/verovio-exp-2.4.0-dev.png)

Used libraries
--------------

The following libraries are embedded in Verovio:
* [JSON++](https://github.com/hjiang/jsonxx)
* [MidiFile](https://github.com/craigsapp/midifile)
* [pugixml](https://pugixml.org/)
* [UTF-CPP](http://utfcpp.sourceforge.net/)
4 changes: 2 additions & 2 deletions Verovio.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'Verovio'
s.version = '2.7.0'
s.version = '3.0.0-dev'
s.license = { :type => 'LGPL' }
s.homepage = 'https://www.verovio.org/index.xhtml'
s.authors = { 'Contributors List' => 'https://github.com/rism-ch/verovio/graphs/contributors' }
Expand All @@ -23,7 +23,7 @@ Pod::Spec.new do |s|
s.ios.deployment_target = '10.0'
s.osx.deployment_target = '10.13'
s.pod_target_xcconfig = {
"CLANG_CXX_LANGUAGE_STANDARD" => "gnu++14",
"CLANG_CXX_LANGUAGE_STANDARD" => "c++17",
"CLANG_CXX_LIBRARY" => "libc++",
"GCC_C_LANGUAGE_STANDARD" => "gnu11",
"GCC_DYNAMIC_NO_PIC" => "NO",
Expand Down
Loading

0 comments on commit a499e7d

Please sign in to comment.