Re: Mnx validator and Finale file exporter released

Congratulations, Robert, that's an amazing contribution for the Finale
community!
Martin

On Fri, Apr 11, 2025 at 7:36 PM Robert Patterson <
robert@robertgpatterson.com> wrote:

> 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:54:37 UTC