Re: Mnx validator and Finale file exporter released

This is great! Do you have any plans to develop a similar command-line tool to convert Finale files to MusicXML, without needing Finale? (Or is there one already, that you're aware of?) MNX is the future, but a MusicXML tool would help with the transition to other music notation software in the short term.

> On Apr 11, 2025, at 12:54 PM, Martin Keary <martin.keary@gmail.com> wrote:
> 
> 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 <mailto: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 19:07:25 UTC