Skip to content

rpatters1/denigma

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

denigma command line utility

This utility as extracts and converts Enigma XML from a Finale .musx file. It is a successor the original denigma project by Chris Roode.

This project is not affiliated with or endorsed by Finale or its parent company.

  • It is an independent open-source utility designed to help users access and convert their own data in the absence of Finale, which has been discontinued.
  • It does not contain any Finale source code.
  • It is not capable of writing Finale files, only reading them.
  • Nothing in this repository circumvents digital copy protection on the Finale application.

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

denigma --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/denigma",
            "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/denigma.exe",
            "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/denigma",
        "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

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published