Thanks to visit codestin.com
Credit goes to github.com

Skip to content

musicociel/nwctxt

Repository files navigation

nwctxt

npm

Parser and generator for the .nwctxt format used by Note Worthy Composer. Also includes conversion to the midi format. Look at the demo and the API documentation.

Installation

npm install nwctxt

Usage

Normal API

Parser

import { readFileSync } from "fs";
import { parser } from "nwctxt";

// Parses myFile.nwctxt:
const fileContent = readFileSync("myFile.nwctxt", "utf-8");
const parsedFile = parser.parse(fileContent);

Examples of nwctxt files and their equivalent json representation returned by the parser are available in the test/files folder.

Generator

import { writeFileSync } from "fs";
import { generator } from "nwctxt";

// Generates myNewFile.nwctxt:
const newFileContent = generator.generate(parsedFile);
writeFileSync("myNewFile.nwctxt", newFileContent, "utf-8");

Lower level API

The lower level API is similar to the normal API but works with a simpler representation of nwctxt files, containing a simple array of instructions, without separating the different staffs. It is used internally by the normal API.

Parser

import { readFileSync } from "fs";
import { lowlevel } from "nwctxt";

// Parses myFile.nwctxt:
const fileContent = readFileSync("myFile.nwctxt", "utf-8");
const parsedFile = lowlevel.parse(fileContent);

// parsedFile contains:
// parsedFile.version: Note Worthy Composer version as a string (e.g: "2.75")
// parsedFile.clip: true if the parsed content is in the clipboard format (!NoteWorthyComposerClip),
//                  false otherwise (!NoteWorthyComposer)
// parsedFile.extra: Extra information after Note Worthy Composer version (e.g. "Single")
// parsedFile.instructions: array of line objects with the following structure:
// parsedFile.instructions[0].name: Name of the command (such as "AddStaff")
// parsedFile.instructions[0].fields: array of parameters with the following structure:
// parsedFile.instructions[0].fields[0].name: Name of the parameter
// parsedFile.instructions[0].fields[0].quoted: Whether the value is quoted
// parsedFile.instructions[0].fields[0].value: Value of the parameter

Generator

import { writeFileSync } from "fs";
import { lowlevel } from "nwctxt";

// Generates myNewFile.nwctxt:
const newFileContent = lowlevel.generate(parsedFile);
writeFileSync("myNewFile.nwctxt", newFileContent, "utf-8");

License

MIT License

About

Parser and generator for the nwctxt file format used by Note Worthy Composer.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •