Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
# Conflicts:
#	CHANGELOG.md
#	Verovio.podspec
#	bindings/java/pom.xml
#	codemeta.json
#	emscripten/npm/package.json
  • Loading branch information
lpugin committed Dec 22, 2024
2 parents 66ab39c + 775bbfe commit 16c9145
Show file tree
Hide file tree
Showing 93 changed files with 727 additions and 501 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## [4.5.0] – 2024-12-22
* Integration of tablature customization implementation
* Optimization of regex calls (@paul-bayleaf)

## [4.4.0] – 2024-11-25
* Support for CMME import
* Support for conversion from mensural to CMN (with `--mensural-to-cmn`)
Expand Down
2 changes: 1 addition & 1 deletion 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 = '4.4.0'
s.version = '4.5.0'
s.license = { :type => 'LGPL', :file => 'COPYING' }
s.homepage = 'https://www.verovio.org/index.xhtml'
s.authors = { 'Contributors List' => 'https://github.com/rism-digital/verovio/graphs/contributors' }
Expand Down
2 changes: 1 addition & 1 deletion bindings/android/jni/Application.mk
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# only build armeabi-v7a, if required add 'armeabi' or 'x86'
APP_ABI := armeabi-v7a
APP_CPPFLAGS += -fexceptions -frtti -std=c++17
APP_CPPFLAGS += -fexceptions -frtti -std=c++20
APP_OPTIM := release
APP_STL := c++_shared
APP_MODULES := verovio-android
2 changes: 1 addition & 1 deletion bindings/java/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ FILES="$SRCFILES \
../../src/json/jsonxx.cc \
../../src/crc/crc.cpp"

CXXOPTS="-g -fpic -std=c++17 -I../../include -I../../include/vrv -I../../include/json -I../../include/hum -I../../include/crc -I../../include/midi -I../../include/pugi -I../../include/zip -I../../libmei/addons -I../../libmei/dist -I/opt/local/include/ "
CXXOPTS="-g -fpic -std=c++20 -I../../include -I../../include/vrv -I../../include/json -I../../include/hum -I../../include/crc -I../../include/midi -I../../include/pugi -I../../include/zip -I../../libmei/addons -I../../libmei/dist -I/opt/local/include/ "

PATHS=""
unamestr=$(uname)
Expand Down
2 changes: 1 addition & 1 deletion bindings/java/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

<groupId>org.rism.verovio</groupId>
<artifactId>VerovioToolkit</artifactId>
<version>4.4.0</version>
<version>4.5.0</version>
<packaging>jar</packaging>

<name>VerovioToolkit</name>
Expand Down
2 changes: 1 addition & 1 deletion bindings/python/.pypi-version
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# dummy file used by setup.py for counting revisions when publishing to test.pypi
# counting can be reset by making a change to this file
4.4.0
4.5.0
4 changes: 2 additions & 2 deletions codemeta.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
"identifier": "Verovio",
"name": "Verovio",
"description": "Verovio is a fast, portable and lightweight open-source library for engraving Music Encoding Initiative (MEI) music scores into SVG.",
"softwareVersion": "4.4.0",
"datePublished": "2024-11-25",
"softwareVersion": "4.5.0",
"datePublished": "2024-12-22",
"license": "https://www.gnu.org/licenses/lgpl-3.0",
"programmingLanguage": [{
"@type": "ComputerLanguage",
Expand Down
2 changes: 1 addition & 1 deletion emscripten/npm/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "verovio",
"version": "4.4.0",
"version": "4.5.0",
"description": "This is the stable version of the verovio package",
"main": "dist/verovio-toolkit-wasm.js",
"exports": {
Expand Down
1 change: 0 additions & 1 deletion include/vrv/arpeg.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ class Arpeg : public ControlElement,
public TimePointInterface,
public AttArpegLog,
public AttArpegVis,
public AttColor,
public AttEnclosingChars {
public:
/**
Expand Down
3 changes: 1 addition & 2 deletions include/vrv/beamspan.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,7 @@ class BeamSpan : public ControlElement,
public PlistInterface,
public TimeSpanningInterface,
public AttBeamedWith,
public AttBeamRend,
public AttColor {
public AttBeamRend {
public:
/**
* @name Constructors, destructors, and other standard methods
Expand Down
1 change: 0 additions & 1 deletion include/vrv/bracketspan.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ namespace vrv {
class BracketSpan : public ControlElement,
public TimeSpanningInterface,
public AttBracketSpanLog,
public AttColor,
public AttLineRend,
public AttLineRendBase {
public:
Expand Down
2 changes: 1 addition & 1 deletion include/vrv/breath.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ namespace vrv {
/**
* This class models the MEI <breath> element.
*/
class Breath : public ControlElement, public TimePointInterface, public AttColor, public AttPlacementRelStaff {
class Breath : public ControlElement, public TimePointInterface, public AttPlacementRelStaff {
public:
/**
* @name Constructors, destructors, and other standard methods
Expand Down
1 change: 0 additions & 1 deletion include/vrv/caesura.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ namespace vrv {
*/
class Caesura : public ControlElement,
public TimePointInterface,
public AttColor,
public AttExtSymAuth,
public AttExtSymNames,
public AttPlacementRelStaff {
Expand Down
2 changes: 2 additions & 0 deletions include/vrv/controlelement.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

#include "altsyminterface.h"
#include "atts_shared.h"
#include "atts_visual.h"
#include "devicecontextbase.h"
#include "floatingobject.h"
#include "linkinginterface.h"
Expand All @@ -27,6 +28,7 @@ namespace vrv {
class ControlElement : public FloatingObject,
public AltSymInterface,
public LinkingInterface,
public AttColor,
public AttLabelled,
public AttTyped {
public:
Expand Down
5 changes: 3 additions & 2 deletions include/vrv/editortoolkit_neume.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ class EditorToolkitNeume : public EditorToolkit {
///@{
bool Chain(jsonxx::Array actions);
bool DisplaceClefOctave(std::string elementId, std::string direction);
bool Drag(std::string elementId, int x, int y);
bool Drag(std::string elementId, int x, int y, bool topLevel = true);
bool Insert(std::string elementType, std::string staffId, int ulx, int uly, int lrx, int lry,
std::vector<std::pair<std::string, std::string>> attributes);
bool InsertToSyllable(std::string elementId);
Expand Down Expand Up @@ -102,7 +102,8 @@ class EditorToolkitNeume : public EditorToolkit {
* Helper functions for editor actions.
*/
///@{
bool AdjustPitchFromPosition(Object *obj, Clef *clef = NULL);
bool AdjustPitchAfterDrag(Object *obj, int y = 0);
bool AdjustPitchFromPosition(Object *obj);
bool AdjustClefLineFromPosition(Clef *clef, Staff *staff = NULL);
///@}
};
Expand Down
1 change: 0 additions & 1 deletion include/vrv/fermata.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ namespace vrv {
*/
class Fermata : public ControlElement,
public TimePointInterface,
public AttColor,
public AttEnclosingChars,
public AttExtSymAuth,
public AttExtSymNames,
Expand Down
1 change: 0 additions & 1 deletion include/vrv/gliss.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ namespace vrv {
*/
class Gliss : public ControlElement,
public TimeSpanningInterface,
public AttColor,
public AttLineRend,
public AttLineRendBase,
public AttNNumberLike {
Expand Down
1 change: 0 additions & 1 deletion include/vrv/hairpin.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ namespace vrv {
*/
class Hairpin : public ControlElement,
public TimeSpanningInterface,
public AttColor,
public AttHairpinLog,
public AttHairpinVis,
public AttLineRendBase,
Expand Down
3 changes: 3 additions & 0 deletions include/vrv/midifunctor.h
Original file line number Diff line number Diff line change
Expand Up @@ -299,6 +299,7 @@ class GenerateMIDIFunctor : public ConstFunctor {
void SetTempoEventTicks(const std::set<int> &ticks) { m_tempoEventTicks = ticks; }
void SetTrack(int track) { m_midiTrack = track; }
void SetTransSemi(int transSemi) { m_transSemi = transSemi; }
void SetControlEvents(bool controlEvents) { m_controlEvents = controlEvents; }
///@}

/*
Expand Down Expand Up @@ -372,6 +373,8 @@ class GenerateMIDIFunctor : public ConstFunctor {
bool m_cueExclusion;
// Tablature held notes indexed by (course - 1)
std::vector<MIDIHeldNote> m_heldNotes;
// A flag indicating we want to process control events
bool m_controlEvents;
};

//----------------------------------------------------------------------------
Expand Down
1 change: 0 additions & 1 deletion include/vrv/mnum.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ class MNum : public ControlElement,
public TextListInterface,
public TextDirInterface,
public TimePointInterface,
public AttColor,
public AttLang,
public AttTypography {
public:
Expand Down
1 change: 0 additions & 1 deletion include/vrv/mordent.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ namespace vrv {
*/
class Mordent : public ControlElement,
public TimePointInterface,
public AttColor,
public AttExtSymAuth,
public AttExtSymNames,
public AttOrnamentAccid,
Expand Down
6 changes: 5 additions & 1 deletion include/vrv/note.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
//----------------------------------------------------------------------------

#include "accid.h"
#include "altsyminterface.h"
#include "atts_analytical.h"
#include "atts_externalsymbols.h"
#include "atts_frettab.h"
Expand Down Expand Up @@ -45,6 +46,7 @@ class Verse;
*/
class Note : public LayerElement,
public StemmedDrawingInterface,
public AltSymInterface,
public DurationInterface,
public PitchInterface,
public PositionInterface,
Expand Down Expand Up @@ -80,6 +82,8 @@ class Note : public LayerElement,
* @name Getter to interfaces
*/
///@{
AltSymInterface *GetAltSymInterface() override { return vrv_cast<AltSymInterface *>(this); }
const AltSymInterface *GetAltSymInterface() const override { return vrv_cast<const AltSymInterface *>(this); }
DurationInterface *GetDurationInterface() override { return vrv_cast<DurationInterface *>(this); }
const DurationInterface *GetDurationInterface() const override { return vrv_cast<const DurationInterface *>(this); }
PitchInterface *GetPitchInterface() override { return vrv_cast<PitchInterface *>(this); }
Expand Down Expand Up @@ -145,7 +149,7 @@ class Note : public LayerElement,
* @name Return the smufl string to use for a note give the notation type
*/
///@{
std::u32string GetTabFretString(data_NOTATIONTYPE notationType) const;
std::u32string GetTabFretString(data_NOTATIONTYPE notationType, int &overline, int &strike, int &underline) const;
///@}

/**
Expand Down
1 change: 0 additions & 1 deletion include/vrv/octave.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ namespace vrv {
*/
class Octave : public ControlElement,
public TimeSpanningInterface,
public AttColor,
public AttExtender,
public AttLineRend,
public AttLineRendBase,
Expand Down
1 change: 0 additions & 1 deletion include/vrv/ornam.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ class Ornam : public ControlElement,
public TextListInterface,
public TextDirInterface,
public TimePointInterface,
public AttColor,
public AttOrnamentAccid {
public:
/**
Expand Down
1 change: 0 additions & 1 deletion include/vrv/pedal.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ class System;
*/
class Pedal : public ControlElement,
public TimeSpanningInterface,
public AttColor,
public AttExtSymAuth,
public AttExtSymNames,
public AttPedalLog,
Expand Down
1 change: 0 additions & 1 deletion include/vrv/reh.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ class TextElement;
class Reh : public ControlElement,
public TextDirInterface,
public TimePointInterface,
public AttColor,
public AttLang,
public AttVerticalGroup {
public:
Expand Down
1 change: 0 additions & 1 deletion include/vrv/repeatmark.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ class RepeatMark : public ControlElement,
public TextListInterface,
public TextDirInterface,
public TimePointInterface,
public AttColor,
public AttExtSymAuth,
public AttExtSymNames,
public AttRepeatMarkLog {
Expand Down
3 changes: 3 additions & 0 deletions include/vrv/rest.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
#ifndef __VRV_REST_H__
#define __VRV_REST_H__

#include "altsyminterface.h"
#include "atts_externalsymbols.h"
#include "atts_mensural.h"
#include "durationinterface.h"
Expand All @@ -34,6 +35,7 @@ enum RestNotePlace { RNP_UNSET = -1, RNP_noteInSpace, RNP_noteOnLine };
* This class models the MEI <rest> element.
*/
class Rest : public LayerElement,
public AltSymInterface,
public DurationInterface,
public PositionInterface,
public AttColor,
Expand Down Expand Up @@ -69,6 +71,7 @@ class Rest : public LayerElement,
* @name Getter to interfaces
*/
///@{
AltSymInterface *GetAltSymInterface() override { return vrv_cast<AltSymInterface *>(this); }
PositionInterface *GetPositionInterface() override { return vrv_cast<PositionInterface *>(this); }
const PositionInterface *GetPositionInterface() const override { return vrv_cast<const PositionInterface *>(this); }
DurationInterface *GetDurationInterface() override { return vrv_cast<DurationInterface *>(this); }
Expand Down
1 change: 0 additions & 1 deletion include/vrv/slur.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@ enum class PortatoSlurType { None, StemSide, Centered };

class Slur : public ControlElement,
public TimeSpanningInterface,
public AttColor,
public AttCurvature,
public AttLayerIdent,
public AttLineRendBase {
Expand Down
3 changes: 2 additions & 1 deletion include/vrv/staffdef.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ class StaffDef : public ScoreDefElement,
public AttStaffDefLog,
public AttStaffDefVis,
public AttTimeBase,
public AttTransposition {
public AttTransposition,
public AttVerticalAlign {
public:
/**
* @name Constructors, destructors, and other standard methods
Expand Down
3 changes: 2 additions & 1 deletion include/vrv/tabdursym.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ namespace vrv {
/**
* This class models the MEI <tabDurSym> element.
*/
class TabDurSym : public LayerElement, public StemmedDrawingInterface, public AttNNumberLike {
class TabDurSym : public LayerElement, public StemmedDrawingInterface, public AttNNumberLike, public AttStaffLoc {
public:
/**
* @name Constructors, destructors, and other standard methods
Expand All @@ -30,6 +30,7 @@ class TabDurSym : public LayerElement, public StemmedDrawingInterface, public At
///@{
TabDurSym();
virtual ~TabDurSym();
Object *Clone() const override { return new TabDurSym(*this); }
void Reset() override;
std::string GetClassName() const override { return "TabDurSym"; }
///@}
Expand Down
1 change: 1 addition & 0 deletions include/vrv/tabgrp.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ class TabGrp : public LayerElement, public ObjectListInterface, public DurationI
///@{
TabGrp();
virtual ~TabGrp();
Object *Clone() const override { return new TabGrp(*this); }
void Reset() override;
std::string GetClassName() const override { return "TabGrp"; }
///@}
Expand Down
6 changes: 1 addition & 5 deletions include/vrv/tie.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,7 @@ class Note;
/**
* This class models the MEI <tie> element.
*/
class Tie : public ControlElement,
public TimeSpanningInterface,
public AttColor,
public AttCurvature,
public AttLineRendBase {
class Tie : public ControlElement, public TimeSpanningInterface, public AttCurvature, public AttLineRendBase {
public:
/**
* @name Constructors, destructors, and other standard methods
Expand Down
7 changes: 5 additions & 2 deletions include/vrv/timeinterface.h
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,12 @@ class TimePointInterface : public Interface, public AttStaffIdent, public AttSta
bool IsOnStaff(int n) const;

/**
* Return a vector of staves looking at the @staff attribute or at the parent staff or the @startid
* Return a vector of staves looking at the @staff attribute or at the parent staff of the @startid
*/
std::vector<Staff *> GetTstampStaves(Measure *measure, Object *object);
///@{
std::vector<const Staff *> GetTstampStaves(const Measure *measure, const Object *object) const;
std::vector<Staff *> GetTstampStaves(const Measure *measure, const Object *object);
///@}

/**
* Return true if the interface owner is encoded in the measure of its start element
Expand Down
1 change: 0 additions & 1 deletion include/vrv/trill.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ namespace vrv {
*/
class Trill : public ControlElement,
public TimeSpanningInterface,
public AttColor,
public AttExtender,
public AttExtSymAuth,
public AttExtSymNames,
Expand Down
Loading

0 comments on commit 16c9145

Please sign in to comment.