- From: Samuel Bradshaw <samuel.h.bradshaw@gmail.com>
- Date: Fri, 11 Apr 2025 13:07:09 -0600
- To: Martin Keary <martin.keary@gmail.com>
- Cc: Robert Patterson <robert@robertgpatterson.com>, Music Notation Community Group <public-music-notation@w3.org>
- Message-Id: <C2C6287C-87B8-4567-A051-950370E0E74B@gmail.com>
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