How to validate score from the command line

I'm writing a program that generates musicxml files. To validate these, I open them in musescore. One of my files produces a warning dialog "file test.musicxml corrupted". Clicking on "show details", I get "Measure 21, staff 2 incomplete. Expected: 16/16; Found: 0/1".

I would like a way to get this message on the command line, but when I execute musescore --debug -o test.mp3 test.musicxml, there are no error messages and the exit code is 0. Is there a way to run the validation via the command line without a GUI?

I'm using musescore 3.6.2 on Arch Linux.

The full output is

unknown:unknown: global share: 
unknown:unknown: configured localeName 
unknown:unknown: load translator 
unknown:unknown: load translator 
unknown:unknown: load translator 
unknown:unknown: load translator  from 
unknown:unknown: load translator  failed
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph noSym
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph noteheadDoubleWholeAlt
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph 4stringTabClefSerif
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph 6stringTabClefSerif
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph cClefFrench
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph cClefFrench20C
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph fClefFrench
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph fClef19thCentury
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph braceSmall
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph braceLarge
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph braceLarger
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph ornamentPrallMordent
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph ornamentUpPrall
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph ornamentUpMordent
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph ornamentPrallDown
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph ornamentDownMordent
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph ornamentPrallUp
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph ornamentLinePrall
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph accidentalDoubleFlatParens
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph accidentalFlatParens
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph accidentalNaturalParens
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph accidentalSharpParens
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph accidentalDoubleSharpParens
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph noteLongaUp
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph noteLongaDown
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph noteLongaSquareUp
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph noteLongaSquareDown
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph space
/build/musescore/src/MuseScore/libmscore/sym.cpp:Ms::initScoreFonts: codepoint not recognized for glyph 
unknown:unknown: DPI 360.000000
unknown:unknown: Information for screen: "eDP-1"
unknown:unknown:   Available geometry: 1920 0 1920 x 1080
unknown:unknown:   Available size: 1920 x 1080
unknown:unknown:   Available virtual geometry: 0 0 3840 x 1080
unknown:unknown:   Available virtual size: 3840 x 1080
unknown:unknown:   Depth: 24 bits
unknown:unknown:   Geometry: 1920 0 1920 x 1080
unknown:unknown:   Logical DPI: 96.2685
unknown:unknown:   Logical DPI X: 96.2843
unknown:unknown:   Logical DPI Y: 96.2526
unknown:unknown:   Physical DPI: 141.585
unknown:unknown:   Physical DPI X: 141.767
unknown:unknown:   Physical DPI Y: 141.402
unknown:unknown:   Physical size: 344 x 194 mm
unknown:unknown:   Refresh rate: 60.0204 Hz
unknown:unknown:   Size: 1920 x 1080
unknown:unknown:   Virtual geometry: 0 0 3840 x 1080
unknown:unknown:   Virtual size: 3840 x 1080
unknown:unknown: LibraryPath: 
unknown:unknown: LibraryPath: 
unknown:unknown: Creating main window…
unknown:unknown: ZoomBox::setLogicalZoom(): Formatting logical zoom level as 100% (rounded from 1.000000)
unknown:unknown: Reading translations…
convert ...
unknown:unknown: Error at line 2961 col 18: duplicate tempo at tick 0
unknown:unknown: Error at line 4353 col 18: duplicate tempo at tick 0
unknown:unknown: ===startCmd()
unknown:unknown: ===endCmd() 0
        to 
unknown:unknown: Attempting to load LAME from system search paths
unknown:unknown: Loading LAME from libmp3lame.so.0
unknown:unknown: LAME library successfully loaded
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
unknown:unknown: SfzRegion: unknown opcode 
/build/musescore/src/MuseScore/libmscore/rendermidi.cpp:Ms::MidiRenderer::renderChunk: Had to fall back to defaults to render measure
/build/musescore/src/MuseScore/libmscore/rendermidi.cpp:Ms::MidiRenderer::renderChunk: Had to fall back to defaults to render measure
/build/musescore/src/MuseScore/libmscore/rendermidi.cpp:Ms::MidiRenderer::renderChunk: Had to fall back to defaults to render measure
unknown:unknown: QMutex: destroying locked mutex
... success!

Comments

Do you still have an unanswered question? Please log in first to post your question.