Mnx validator and Finale file exporter released

Today I released new versions of mnxvalidator
<https://github.com/rpatters1/mnxvalidate/releases> and denigma
<https://github.com/rpatters1/denigma/releases> (a Finale musx file
exporter). These are both command-line tools compatible with macOS,
Windows, and Linux. All are completely open source and released under the
MIT license.

## mnxvalidate

Adds a large number of new validations from version 1.0, mainly to do with
sequence content. The full list is available at the link
<https://github.com/rpatters1/mnxvalidate/releases>. A big architectural
change is that all the validation code is now in the MNX DOM, which makes
it available to any project that uses the DOM.

## denigma

Denigma is an archival utility that can process Finale musx files without
the need of Finale. The new version of denigma
<https://github.com/rpatters1/denigma/releases> exports as complete an MNX
file as is currently spec'ed. Right now it defaults to `.mnx` extensions
for output despite the output being raw json. You can override the
extension to `.json` if you wish.

Since MNX is not a fully realized specification, the current iteration of
denigma is probably mainly useful as a dev tool. If you have access to
Finale and/or a cache of Finale musx files, you can quickly generate
schema-compliant json for whatever scenarios you are interested in. I would
be interested to know if there are any tools or websites that can render
MNX, because so far I have been relying only on schema validation and my
semantic validation to decide if the output is valid.

## MNX DOM for C++

With a few minor exceptions, this DOM fully implements the schema and
documentation as of today (4/11/2025). It offers typed wrappers around a
shared nlohmann root json object and accesses the classes with
json_pointers. This obviates the need for class-level serialization. All of
the data is accessed with typed methods defined with boilerplate macros.
The validation code in the repo provides examples of how to use the DOM
classes.

The GitHub repo is here <https://github.com/rpatters1/mnxdom>.
Documentation (Doxygen) is here <https://rpatters1.github.io/mnxdom/>.

Received on Friday, 11 April 2025 18:34:21 UTC