@leafo/lml 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"music.js","sourceRoot":"","sources":["../src/music.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export default class NoteList extends Array<string> {
2
+ constructor(notes?: string[]);
3
+ filterByRange(min: string, max: string): NoteList;
4
+ matchesHead(notes: string[], anyOctave?: boolean): boolean;
5
+ currentColumn(): string[];
6
+ inHead(note: string): boolean;
7
+ toString(): string;
8
+ toNoteString(): string;
9
+ }
10
+ //# sourceMappingURL=note-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"note-list.d.ts","sourceRoot":"","sources":["../src/note-list.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,KAAK,CAAC,MAAM,CAAC;gBACrC,KAAK,CAAC,EAAE,MAAM,EAAE;IAS5B,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ;IAejD,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,UAAQ,GAAG,OAAO;IA6BxD,aAAa,IAAI,MAAM,EAAE;IAUzB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IASpB,QAAQ,IAAI,MAAM;IAU3B,YAAY,IAAI,MAAM;CAQvB"}
@@ -0,0 +1,88 @@
1
+ import { notesLessThan, notesSame, parseNote } from "./music.js";
2
+ export default class NoteList extends Array {
3
+ constructor(notes) {
4
+ super();
5
+ Object.setPrototypeOf(this, NoteList.prototype);
6
+ if (notes && notes.length) {
7
+ this.push.apply(this, notes);
8
+ }
9
+ }
10
+ filterByRange(min, max) {
11
+ return new NoteList(this.filter(function (n) {
12
+ if (notesLessThan(n, min)) {
13
+ return false;
14
+ }
15
+ if (notesLessThan(max, n)) {
16
+ return false;
17
+ }
18
+ return true;
19
+ }));
20
+ }
21
+ // must be an array of notes
22
+ matchesHead(notes, anyOctave = false) {
23
+ const first = this[0];
24
+ if (!Array.isArray(notes)) {
25
+ throw new Error("matchesHead: notes should be an array");
26
+ }
27
+ if (Array.isArray(first)) {
28
+ const firstArr = first;
29
+ if (firstArr.length != notes.length) {
30
+ return false;
31
+ }
32
+ if (anyOctave) {
33
+ const noteSet = {};
34
+ notes.forEach((n) => noteSet[n.replace(/\d+$/, "")] = true);
35
+ return firstArr.every((n) => noteSet[n.replace(/\d+$/, "")]);
36
+ }
37
+ else {
38
+ const pitches = notes.map(parseNote);
39
+ return firstArr.map(parseNote).every((n) => pitches.indexOf(n) >= 0);
40
+ }
41
+ }
42
+ else {
43
+ if (anyOctave) {
44
+ return notes.length == 1 && notesSame(notes[0], first);
45
+ }
46
+ else {
47
+ return notes.length == 1 && parseNote(notes[0]) == parseNote(first);
48
+ }
49
+ }
50
+ }
51
+ currentColumn() {
52
+ const first = this[0];
53
+ if (Array.isArray(first)) {
54
+ return first;
55
+ }
56
+ else {
57
+ return [first];
58
+ }
59
+ }
60
+ // if single note is in head
61
+ inHead(note) {
62
+ const first = this[0];
63
+ if (Array.isArray(first)) {
64
+ return first.some((n) => n == note);
65
+ }
66
+ else {
67
+ return note == first;
68
+ }
69
+ }
70
+ toString() {
71
+ return this.map((n) => {
72
+ if (Array.isArray(n)) {
73
+ return n.join(" ");
74
+ }
75
+ return n;
76
+ }).join(", ");
77
+ }
78
+ // converts it to serialize list of note numbers for quick comparisons
79
+ toNoteString() {
80
+ return this.map((n) => {
81
+ if (Array.isArray(n)) {
82
+ return n.map(parseNote).join(" ");
83
+ }
84
+ return parseNote(n).toString();
85
+ }).join(", ");
86
+ }
87
+ }
88
+ //# sourceMappingURL=note-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"note-list.js","sourceRoot":"","sources":["../src/note-list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import * as peg from "./grammar.js";
2
+ import { MultiTrackSong } from "./song.js";
3
+ import { AutoChords, AutoChordsOptions } from "./auto-chords.js";
4
+ export type NoteOpts = {
5
+ duration?: number;
6
+ start?: number;
7
+ sharp?: boolean;
8
+ flat?: boolean;
9
+ natural?: boolean;
10
+ };
11
+ export type ASTNode = ["note", string, NoteOpts?] | ["rest", {
12
+ duration?: number;
13
+ start?: number;
14
+ }?] | ["keySignature", number] | ["timeSignature", number, number] | ["halfTime"] | ["doubleTime"] | ["tripleTime"] | ["measure", number] | ["block", ASTNode[]] | ["restoreStartPosition"] | ["setTrack", number] | ["clef", string] | ["macro", string];
15
+ export type AST = ASTNode[];
16
+ export interface SongParserOptions {
17
+ autoChords?: typeof AutoChords | false;
18
+ autoChordsSettings?: AutoChordsOptions;
19
+ }
20
+ export default class SongParser {
21
+ static peg: typeof peg;
22
+ static load(songText: string, opts?: SongParserOptions): MultiTrackSong;
23
+ parse(songText: string): AST;
24
+ compile(ast: AST, opts?: SongParserOptions): MultiTrackSong;
25
+ private compileCommands;
26
+ }
27
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,cAAc,CAAA;AAEnC,OAAO,EAAE,cAAc,EAAY,MAAM,WAAW,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAGhE,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,OAAO,GACf,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,GAC3B,CAAC,MAAM,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,GAChD,CAAC,cAAc,EAAE,MAAM,CAAC,GACxB,CAAC,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC,GACjC,CAAC,UAAU,CAAC,GACZ,CAAC,YAAY,CAAC,GACd,CAAC,YAAY,CAAC,GACd,CAAC,SAAS,EAAE,MAAM,CAAC,GACnB,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,GACpB,CAAC,sBAAsB,CAAC,GACxB,CAAC,UAAU,EAAE,MAAM,CAAC,GACpB,CAAC,MAAM,EAAE,MAAM,CAAC,GAChB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;AAErB,MAAM,MAAM,GAAG,GAAG,OAAO,EAAE,CAAA;AAY3B,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,OAAO,UAAU,GAAG,KAAK,CAAA;IACtC,kBAAkB,CAAC,EAAE,iBAAiB,CAAA;CACvC;AAYD,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B,MAAM,CAAC,GAAG,aAAM;IAEhB,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,cAAc;IAOvE,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG;IAK5B,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,cAAc;IA+B3D,OAAO,CAAC,eAAe;CA4IxB"}
package/dist/parser.js ADDED
@@ -0,0 +1,181 @@
1
+ // @ts-ignore - generated file
2
+ import * as peg from "./grammar.js";
3
+ import { KeySignature } from "./music.js";
4
+ import { MultiTrackSong, SongNote } from "./song.js";
5
+ import { AutoChords } from "./auto-chords.js";
6
+ // tokens are separated by whitespace
7
+ // a note is a5.1.2
8
+ // - 5 is the octave
9
+ // - 1 is the duration
10
+ // - 2 is the start
11
+ //
12
+ // duration and start are optional
13
+ // duration defaults to 1 beat (or the current duration)
14
+ // start defaults to current cursor position
15
+ class SongParser {
16
+ static load(songText, opts) {
17
+ const parser = new SongParser();
18
+ const ast = parser.parse(songText);
19
+ return parser.compile(ast, opts);
20
+ }
21
+ // convert song text to ast
22
+ parse(songText) {
23
+ return peg.parse(songText);
24
+ }
25
+ // compile ast to song notes
26
+ compile(ast, opts) {
27
+ const state = {
28
+ startPosition: 0,
29
+ position: 0,
30
+ beatsPerNote: 1,
31
+ beatsPerMeasure: 4,
32
+ timeScale: 1,
33
+ keySignature: new KeySignature(0),
34
+ currentTrack: 0,
35
+ };
36
+ const song = new MultiTrackSong();
37
+ this.compileCommands(ast, state, song);
38
+ song.metadata = {
39
+ keySignature: state.keySignature.count,
40
+ beatsPerMeasure: state.beatsPerMeasure,
41
+ };
42
+ if (song.autoChords) {
43
+ const settings = opts ? opts.autoChordsSettings : {};
44
+ if (opts && opts.autoChords) {
45
+ new opts.autoChords(song, settings).addChords();
46
+ }
47
+ else if (opts?.autoChords !== false) {
48
+ AutoChords.defaultChords(song, settings).addChords();
49
+ }
50
+ }
51
+ return song;
52
+ }
53
+ compileCommands(commands, state, song) {
54
+ for (const command of commands) {
55
+ const t = command[0];
56
+ switch (t) {
57
+ case "restoreStartPosition": {
58
+ state.position = state.startPosition;
59
+ break;
60
+ }
61
+ case "block": {
62
+ const [, blockCommands] = command;
63
+ const blockState = {
64
+ ...state,
65
+ startPosition: state.position
66
+ };
67
+ Object.setPrototypeOf(blockState, state);
68
+ this.compileCommands(blockCommands, blockState, song);
69
+ state.position = blockState.position;
70
+ break;
71
+ }
72
+ case "halfTime": {
73
+ state.timeScale *= 2;
74
+ break;
75
+ }
76
+ case "doubleTime": {
77
+ state.timeScale *= 0.5;
78
+ break;
79
+ }
80
+ case "tripleTime": {
81
+ state.timeScale *= 1 / 3;
82
+ break;
83
+ }
84
+ case "measure": {
85
+ const [, measure] = command;
86
+ state.position = measure * state.beatsPerMeasure;
87
+ break;
88
+ }
89
+ case "setTrack": {
90
+ const [, track] = command;
91
+ state.currentTrack = +track;
92
+ break;
93
+ }
94
+ case "clef": {
95
+ const [, clef] = command;
96
+ const track = song.getTrack(state.currentTrack);
97
+ if (!track.clefs) {
98
+ track.clefs = [];
99
+ }
100
+ track.clefs.push([state.position, clef]);
101
+ break;
102
+ }
103
+ case "note": {
104
+ const [, name, noteOpts] = command;
105
+ let noteName = name;
106
+ let duration = state.beatsPerNote * state.timeScale;
107
+ let start = null;
108
+ let hasAccidental = false;
109
+ if (noteOpts) {
110
+ if (noteOpts.duration) {
111
+ duration *= noteOpts.duration;
112
+ }
113
+ start = noteOpts.start ?? null;
114
+ if (noteOpts.sharp) {
115
+ hasAccidental = true;
116
+ noteName = noteName.substring(0, 1) + "#" + noteName.substring(1);
117
+ }
118
+ else if (noteOpts.flat) {
119
+ hasAccidental = true;
120
+ noteName = noteName.substring(0, 1) + "b" + noteName.substring(1);
121
+ }
122
+ else if (noteOpts.natural) {
123
+ hasAccidental = true;
124
+ }
125
+ }
126
+ if (!hasAccidental) {
127
+ // apply default accidental
128
+ noteName = state.keySignature.unconvertNote(noteName);
129
+ }
130
+ if (start === null) {
131
+ start = state.position;
132
+ state.position += duration;
133
+ }
134
+ song.pushWithTrack(new SongNote(noteName, start, duration), state.currentTrack);
135
+ break;
136
+ }
137
+ case "rest": {
138
+ const [, restTiming] = command;
139
+ let duration = state.beatsPerNote * state.timeScale;
140
+ if (restTiming) {
141
+ if (restTiming.start) {
142
+ break; // do nothing
143
+ }
144
+ if (restTiming.duration) {
145
+ duration *= restTiming.duration;
146
+ }
147
+ }
148
+ state.position += duration;
149
+ break;
150
+ }
151
+ case "keySignature": {
152
+ state.keySignature = new KeySignature(+command[1]);
153
+ break;
154
+ }
155
+ case "timeSignature": {
156
+ const [, perBeat, noteValue] = command;
157
+ state.beatsPerNote = 4 / noteValue;
158
+ state.beatsPerMeasure = state.beatsPerNote * perBeat;
159
+ break;
160
+ }
161
+ case "macro": {
162
+ const [, macroName] = command;
163
+ const chord = AutoChords.coerceChord(macroName);
164
+ if (chord) {
165
+ if (!song.autoChords) {
166
+ song.autoChords = [];
167
+ }
168
+ song.autoChords.push([state.position, chord]);
169
+ }
170
+ break;
171
+ }
172
+ default: {
173
+ console.warn("Got unknown command when parsing song", command);
174
+ }
175
+ }
176
+ }
177
+ }
178
+ }
179
+ SongParser.peg = peg;
180
+ export default SongParser;
181
+ //# sourceMappingURL=parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
package/dist/song.d.ts ADDED
@@ -0,0 +1,50 @@
1
+ export declare class SongNote {
2
+ id: symbol;
3
+ note: string;
4
+ start: number;
5
+ duration: number;
6
+ constructor(note: string, start: number, duration: number);
7
+ clone(): SongNote;
8
+ inRange(min: number, max: number): boolean;
9
+ transpose(semitones: number): SongNote;
10
+ getStart(): number;
11
+ getStop(): number;
12
+ getRenderStop(): number;
13
+ toString(): string;
14
+ }
15
+ export interface SongMetadata {
16
+ keySignature?: number;
17
+ beatsPerMeasure?: number;
18
+ }
19
+ export declare class SongNoteList extends Array<SongNote> {
20
+ static bucketSize: number;
21
+ metadata?: SongMetadata;
22
+ autoChords?: [number, [string, string]][];
23
+ clefs?: [number, string][];
24
+ trackName?: string;
25
+ private buckets?;
26
+ constructor();
27
+ static newSong(noteTuples: [string, number, number][]): SongNoteList;
28
+ clone(): SongNoteList;
29
+ clearCache(): void;
30
+ transpose(amount?: number): SongNoteList;
31
+ notesInRange(start: number, stop: number): SongNote[];
32
+ getStopInBeats(): number;
33
+ getStartInBeats(): number;
34
+ noteRange(): [string, string] | undefined;
35
+ fittingStaff(): "treble" | "bass" | "grand";
36
+ private getBucketRange;
37
+ private buildBuckets;
38
+ private adjacentBuckets;
39
+ private getBuckets;
40
+ matchNoteFast(findNote: string, beat: number, wrapRight?: number, wrapLeft?: number): number | null;
41
+ matchNote(findNote: string, beat: number): number | null;
42
+ }
43
+ export declare class MultiTrackSong extends SongNoteList {
44
+ tracks: SongNoteList[];
45
+ constructor();
46
+ pushWithTrack(note: SongNote, trackIdx: number): SongNote;
47
+ findEmptyTrackIdx(): number;
48
+ getTrack(idx: number): SongNoteList;
49
+ }
50
+ //# sourceMappingURL=song.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"song.d.ts","sourceRoot":"","sources":["../src/song.ts"],"names":[],"mappings":"AAKA,qBAAa,QAAQ;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;gBAEJ,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAOzD,KAAK,IAAI,QAAQ;IAMjB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;IAS1C,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ;IAMtC,QAAQ,IAAI,MAAM;IAIlB,OAAO,IAAI,MAAM;IAIjB,aAAa,IAAI,MAAM;IAIvB,QAAQ,IAAI,MAAM;CAGnB;AAED,MAAM,WAAW,YAAY;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAGD,qBAAa,YAAa,SAAQ,KAAK,CAAC,QAAQ,CAAC;IAC/C,MAAM,CAAC,UAAU,SAAI;IAErB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAA;IACzC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,OAAO,CAAC,OAAO,CAAC,CAA0B;;IAO1C,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,YAAY;IAYpE,KAAK,IAAI,YAAY;IAUrB,UAAU,IAAI,IAAI;IAIlB,SAAS,CAAC,MAAM,SAAI,GAAG,YAAY;IAenC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE;IAIrD,cAAc,IAAI,MAAM;IAKxB,eAAe,IAAI,MAAM;IAKzB,SAAS,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;IAoBzC,YAAY,IAAI,QAAQ,GAAG,MAAM,GAAG,OAAO;IAyC3C,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,UAAU;IAQlB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAqDnG,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAsBzD;AAED,qBAAa,cAAe,SAAQ,YAAY;IAC9C,MAAM,EAAE,YAAY,EAAE,CAAK;;IAO3B,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ;IAQzD,iBAAiB,IAAI,MAAM;IAI3B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY;CAOpC"}