Skip to content

Instantly share code, notes, and snippets.

@jjdonson
Last active February 22, 2023 19:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jjdonson/0ea46fba9429921b0572e5c15362b1a2 to your computer and use it in GitHub Desktop.
Save jjdonson/0ea46fba9429921b0572e5c15362b1a2 to your computer and use it in GitHub Desktop.
MusicXML CLI Tool Specs

MusicXML CLI Tool Specs

Project Abstract

  • Open source musical scoring file templates shall drive max productivity for musical trainers and professionals.
  • Open Source Tools That Generate MusicXML Scores From Templates = DocOpus ?
  • Audiences + Demonstrations

Repository Structure + Files + Descriptions

Table of Contents

  • Statements of Purpose
  • Audiences + Demonstrations
  • Simplest Score Example
  • Responsive Web Page Layouts
  • Template Specifications

Statements of Purpose

  • Composers, arrangers and musicians represent many wide ranges of musical scoring tool needs.

  • The Future of Open Source Software = Web Apps + CLI Tools + YAML

    • This roadmap vastly extends and maximizes the value of stand-alone desktop apps.
  • Open Source CLI tools and Web Apps are the Future, Guided by the MusicXML File Specification.

  • Clean Slate Score Template Files are intelligent default starting points: 'Tabula Rasa Scores'


Simplest Score Examples

simple-score-example

  • A video tutorial about how to configure and generate 2+ such templates would be a great start.
  • A video tutorial about how to create this same file manually would complete the set.
  • Student Assignments Using Templates

Responsive Web Page Layouts

This would simplify setups, training and workflows for the majority of MS4 users. This all falls under the category of "intelligent defaults".

Those file templates ought to be available in four file formats:

  • MuseScore: mscz 4.x
  • musicXML: mxl 3.x
  • Printable Vector Output: pdf
  • Image Output: png
  • A fifth file format to consider might be MIDI.

Naming these files ought to be self-describing, for example:

  • treble-clef-only-tabula-rasa-1-page.{mscz,mxl,pdf,png}
  • bass-clef-only-tabula-rasa-1-page.{mscz,mxl,pdf,png}
  • treble-and-bass-clefs-tabula-rasa-1-page.{mscz,mxl,pdf,png}

Including standard time-signature file template options would also be wise? Including placeholder headings and lyrics also makes some sense.

DocOpus: Audiences + Demos

DocOpus Audiences

  • Tools To Secure + Defend Score Property Rights
  • Using Git and Github for Code or Content Versioning and Attribution
  • Convert PDFs into MusicXML.
  • Responsive Web Page i18n Support
  • File Targets - Template File Testing - Template Default Configs - Template Configs Options

DocOpus: Target File Specs

DocOpus: First Example CLI Target

DocOpus: Proposed Subcommand Tree


Conventional Command Flag:

  • --version
  • --help
  • --debug
  • --config

version

  • flags: none

help

configure

debug

analyze

  • Subcommand flag with implicit default: --input-file-type=musicxml
    • Subcommand flag options

parse

generate

  • Default configs.
  • Default target files.
  • Default template tests.
  • Default template files.

test

register

demo

docs

version

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment