Skip to content

rpatters1/mnxvalidate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mnxvalidate command line utility

This utility reads one or more .mnx or .json files and produces a report showing validation errors for MNX music notation files.

Use the --help option to get a full list of commands:

mnxvalidate --help

Setup Instructions

Clone the GitHub repository and clone all submodules.

macOS-Specific

Install the latest cmake:

brew install cmake
brew install ninja

Windows-Specific

You must install cmake and xxd. The easiest way is with a package manager such as Choclatey (choco).

Choclatey install instructions

Install the latest cmake and xxd

choco install cmake
choco install ninja
choco install xxd

Build Instructions

cmake -P build.cmake

or (for Linux or macOS)

./build.cmake

You can clean the build directory with

cmake -P build.cmake -- clean

or (for Linux or macOS)

./build.cmake -- clean

Visual Studio Code Setup

  1. Install the following extensions:
    • C/C++ (from Microsoft)
    • C/C++ Extension Pack (from Microsoft)
    • C/C++ Themes (from Microsoft)
    • CMake (from twxs)
    • CMake Tools (from Microsoft)
    • codeLLDB (from Vadim Chugunov)
  2. Use the following .vscode/tasks.json file:
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "cmake --build build",
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}
  1. Use the following .vscode/launch.json for debugging on macOS:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C++ Debug (codeLLDB)",
            "type": "lldb",
            "request": "launch",
            "program": "${workspaceFolder}/build/build/Debug/mnxvalidate",
            "args": [], // specify command line arguments here for testing
            "cwd": "${workspaceFolder}",
            "stopOnEntry": false,
            "env": {},
            "preLaunchTask": "build" // Optional: specify a task to build your program before debugging
        }
    ]
}

on Windows:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C++ Debug (codeLLDB)",
            "type": "cppvsdbg",
            "request": "launch",
            "program": "${workspaceFolder}/build/build/Debug/mnxvalidate",
            "args":[],  // specify command line arguments here for testing
            "console": "externalTerminal",
            "cwd": "${workspaceFolder}",
            "stopAtEntry": false,
            "environment": [],
            "preLaunchTask": "build" // Optional: specify a task to build your program before debugging
        }
    ]
}

on Ubuntu:

{
    "version": "0.2.0",
    "configurations": [
      {
        "name": "Debug",
        "type": "cppdbg",
        "request": "launch",
        "program": "${workspaceFolder}/build/build/Debug/mnxvalidate",
        "args": [],  // specify command line arguments here for testing
        "stopAtEntry": false,
        "cwd": "${workspaceFolder}",
        "environment": [],
        "externalConsole": true,
        "MIMode": "gdb",
        "setupCommands": [
          {
            "description": "Enable pretty-printing for gdb",
            "text": "-enable-pretty-printing",
            "ignoreFailures": true
          }
        ],
        "preLaunchTask": "Build"
      }
    ]
}

About

Command line validator for MNX music files.

Resources

License

Stars

Watchers

Forks

Packages

No packages published