Verovio
Source code documentation
vrv::PAEInput Class Reference
Inheritance diagram for vrv::PAEInput:
vrv::Input

Public Member Functions

 PAEInput (Doc *doc)
 
jsonxx::Object GetValidationLog ()
 Return a JSON object with the validation log It is a single object when an input error is encountered. More...
 
void SetScoreBased (bool scoreBased)
 Setter for scoreBased flag (false by default).
 
bool Import (const std::string &input) override
 
- Public Member Functions inherited from vrv::Input
 Input (Doc *doc)
 
void SetOutputFormat (const std::string &format)
 
std::string GetOutputFormat ()
 
LayoutInformation GetLayoutInformation ()
 Getter for layoutInformation flag that is set to true during import if layout information is found (and not to be ignored).
 

Static Public Attributes

static const std::map< int, std::string > s_errCodes
 

Additional Inherited Members

- Protected Attributes inherited from vrv::Input
Docm_doc
 
LayoutInformation m_layoutInformation
 Indicates if we have layout information in the file loaded. More...
 
std::string m_outformat = "mei"
 

Member Function Documentation

◆ GetValidationLog()

jsonxx::Object vrv::PAEInput::GetValidationLog ( )

Return a JSON object with the validation log It is a single object when an input error is encountered.

Otherwise, validation log errors/warnings are listed in their respective JSON input keys

Member Data Documentation

◆ s_errCodes

const std::map< int, std::string > vrv::PAEInput::s_errCodes
static
Initial value:
{
{ ERR_001_EMPTY, "The input is empty." },
{ ERR_002_JSON_PARSE, "The JSON input cannot be parsed." },
{ ERR_003_JSON_KEY, "There is no 'data' key in the JSON input." },
{ ERR_004_KEY_SPACE, "A key signature change must be followed by a space." },
{ ERR_005_CLEF_SPACE, "A clef change must be followed by a space." },
{ ERR_006_TIMESIG_SPACE, "A time signature change must be followed by a space." },
{ ERR_007_REP_EMPTY, "The content of the repeated figure is missing." },
{ ERR_008_REP_MARKER, "The end of the repeated figure must be indicated with '!' before the 'f'." },
{ ERR_009_REP_OPEN, "The repeated figure with '!' must be closed before the end of the measure." },
{ ERR_010_REP_UNUSED, "The figure marked for repetition has not been repeated." },
{ ERR_011_REP_NO_FIGURE, "The 'f' must follow '!' for the figure to repeat." },
{ ERR_012_REP_NOT_BEGIN, "To repeat the bar, 'i' must follow a bar line." },
{ ERR_013_REP_NO_CONTENT, "A repetition marker 'i' is present with no content to repeat." },
{ ERR_014_REP_NO_BARLINE, "To repeat the bar, 'i' must be followed by a bar line." },
{ ERR_015_MREST_INVALID, "A rest using '=' cannot be directly followed by another '='." },
{ ERR_016_MREST_NUMBER, "A rest using '=' must be followed by a bar line or a number greater than 0." },
{ ERR_017_TRILL_INVALID, "A trill using 't' must directly follow the note it belongs to." },
{ ERR_018_FERMATA_NESTED, "A fermata '(' cannot be directly followed by another '('." },
{ ERR_019_ACCID_NO_NOTE, "An accidental must be directly followed by a note." },
{ ERR_020_CHORD_NOTE_BEFORE, "To indicate a chord, a '^' must be preceded by a note." },
{ ERR_021_CHORD_NOTE_AFTER, "To indicate a chord, a '^' must be followed by a note." },
{ ERR_022_BEAM_MENSURAL, "Beams cannot be used with mensural notation." },
{ ERR_023_BEAM_NESTED, "A beam cannot be started with '{' before closing the previous one." },
{ ERR_024_BEAM_CLOSING, "An extra '}' to close a beam is present." },
{ ERR_025_BEAM_OPEN, "The beam must be closed with '}' before the end of the measure." },
{ ERR_026_GRACE_NESTED, "The appoggiatura must be closed with 'r' before starting a new one." },
{ ERR_027_GRACE_CLOSING, "An extra 'r' is present to close an appoggiatura" },
{ ERR_028_GRACE_OPEN, "The appoggiatura must be closed with 'r' before the end of the measure." },
{ ERR_029_GRACE_UNRESOLVED, "A grace note cannot be started with 'g' or 'q' before completing the previous one." },
{ ERR_030_GRACE_DURATION, "No rhythmic value can be entered when using an acciaccatura with 'g'." },
{ ERR_031_GRACE_NO_NOTE, "A grace note using 'g' or 'q' must be followed by a note." },
{ ERR_032_TUPLET_NESTED, "A special rhythm group cannot be started with '(' before closing the previous one." },
{ ERR_033_TUPLET_CLOSING, "An extra ')' to close a special rhythm group is present." },
{ ERR_034_TUPLET_NUM, "A ';' is present outside of a special rhythm group." },
{ ERR_035_TUPLET_OPEN, "The special rhythm group or fermata must be closed with ')' before the end of the measure." },
{ ERR_036_TUPLET_NUM_NUMBER, "A number must appear between the ';' and ')' in the special rhythm group." },
{ ERR_037_TIE_PITCH, "A tie using '+' can only connect two notes of the same octave and pitch." },
{ ERR_038_TIE_OPEN, "A tie using '+' must be follow by a note." },
{ ERR_039_TIE_NO_NOTE, "A tie using '+' must be preceded by a note." },
{ ERR_040_HIERARCHY_INVALID, "The resulting hierachy of elements for '%s' is invalid." },
{ ERR_041_NESTING_INVALID, "The nesting of opening and closing tags for '%s' is invalid." },
{ ERR_042_CLEF_INCOMPLETE, "The clef is not complete (Setting to G-2 if running in non-pedantic mode)." },
{ ERR_043_CLEF_INVALID_2ND, "The second character in the clef sign must be either '+' or '-'." },
{ ERR_044_CLEF_MENS, "Mensural and non-mensural clefs cannot be mixed." },
{ ERR_045_CLEF_INVALID_3RD, "The third character in the clef sign must be a digit." },
{ ERR_046_CLEF_INVALID, "The clef '%s' is invalid." },
{ ERR_047_TIMESIG_INCOMPLETE, "The time signature cannot be parsed (Setting to 4/4 if running in non-pedantic mode)." },
{ ERR_048_TIMESIG_INVALID, "The time signature '%s' is invalid." },
{ ERR_049_TIMESIG_MENS, "The mensur sign content cannot be parsed (Setting to 'O' if running in non-pedantic mode)." },
{ ERR_050_INVALID_CHAR, "The input contains one or more character(s) '%s'." },
{ ERR_051_BARLINE, "The barline '%s' is invalid." },
{ ERR_052_DURATION, "The duration content cannot be parsed (Setting to quarter note if running in non-pedantic mode)." },
{ ERR_053_DURATION_MENS3, "The duration cannot be '3' with mensural notation." },
{ ERR_054_DURATION_MENS5, "The duration cannot be '5' with mensural notation." },
{ ERR_055_KEYSIG_CHANGE, "The key signature cannot be changed more than once in a measure." },
{ ERR_056_TIMESIG_CHANGE, "The time signature cannot be changed more than once in a measure." },
{ ERR_057_MENSUR_CHANGE, "The mensur sign cannot be changed more than once in a measure." },
{ ERR_058_FERMATA_MREST, "A fermata on measure rest with extra '%s' is invalid." },
{ ERR_059_DOUBLE_DOTS_MENS, "Double-dotted notes are invalid with mensural notation." },
{ ERR_060_CLEF_MISSING, "A clef is required." },
{ ERR_061_LIGATURE_NOTE_BEFORE, "To indicate a ligature, a '+' must be preceded by a note." },
{ ERR_062_LIGATURE_NOTE_AFTER, "To indicate a ligature, a '+' must be followed by a note." },
{ ERR_063_LIGATURE_PITCH, "A ligature cannot have two consecutive notes with the same pitch." },
{ ERR_064_LIGATURE_DURATION, "The duration in a ligature cannot be shorter than a semibreve." },
{ ERR_065_MREST_INVALID_MEASURE, "A measure with a measure rest cannot include anything else." },
{ ERR_066_EMPTY_CONTAINER, "A grace group or a beam cannot be empty." }
}

The documentation for this class was generated from the following files: