0.4.0 • Published 4 months ago

nwctxt v0.4.0

Weekly downloads
2
License
MIT
Repository
github
Last release
4 months ago

nwctxt

npm

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

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

0.4.0

4 months ago

0.3.0

4 months ago

0.3.1

4 months ago

0.1.0

4 months ago

0.2.0

4 months ago

0.0.3

8 years ago

0.0.2

8 years ago

0.0.1

8 years ago