- From: Martin Keary <martin.keary@gmail.com>
- Date: Fri, 11 Apr 2025 18:54:20 +0000
- To: Robert Patterson <robert@robertgpatterson.com>
- Cc: Music Notation Community Group <public-music-notation@w3.org>
- Message-ID: <CAGB8vCoDeMwONK3LTb7fFsovVbseSOyyFMViag6AM-EN15RMtg@mail.gmail.com>
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