@ugfoundation/swaralipi-js 0.3.2 → 0.3.4
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.
- package/dist/{batch-5LFXQ67K.js → batch-Y3HKAL3B.js} +5 -5
- package/dist/{batch-5LFXQ67K.js.map → batch-Y3HKAL3B.js.map} +1 -1
- package/dist/{chunk-YE7UVYRY.js → chunk-6ETPFHZ6.js} +5 -3
- package/dist/chunk-6ETPFHZ6.js.map +1 -0
- package/dist/{chunk-32LOBRC2.js → chunk-AIGSKUD3.js} +3 -3
- package/dist/{chunk-32LOBRC2.js.map → chunk-AIGSKUD3.js.map} +1 -1
- package/dist/{chunk-XQYXZPHK.js → chunk-IG2CIUTP.js} +3 -3
- package/dist/{chunk-XQYXZPHK.js.map → chunk-IG2CIUTP.js.map} +1 -1
- package/dist/{chunk-QVNFEWMM.js → chunk-KPKD53NA.js} +4 -4
- package/dist/{chunk-QVNFEWMM.js.map → chunk-KPKD53NA.js.map} +1 -1
- package/dist/cli.cjs +4 -2
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.js +3 -3
- package/dist/convert/index.cjs +4 -2
- package/dist/convert/index.cjs.map +1 -1
- package/dist/convert/index.js +3 -3
- package/dist/index.cjs +4 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/player/index.cjs +70 -11
- package/dist/player/index.cjs.map +1 -1
- package/dist/player/index.d.cts +17 -4
- package/dist/player/index.d.ts +17 -4
- package/dist/player/index.js +70 -13
- package/dist/player/index.js.map +1 -1
- package/dist/{schedule-CHXz3V6T.d.cts → schedule-C2WN7YOK.d.cts} +1 -1
- package/dist/{schedule-BaE3JGHe.d.ts → schedule-dXV5cUQI.d.ts} +1 -1
- package/dist/spec/index.cjs +4 -2
- package/dist/spec/index.cjs.map +1 -1
- package/dist/spec/index.d.cts +2 -2
- package/dist/spec/index.d.ts +2 -2
- package/dist/spec/index.js +2 -2
- package/dist/{taals-DxJ8wRtF.d.ts → taals-CjzBuZ35.d.cts} +8 -1
- package/dist/{taals-DxJ8wRtF.d.cts → taals-CjzBuZ35.d.ts} +8 -1
- package/dist/viewer/index.cjs +28 -2
- package/dist/viewer/index.cjs.map +1 -1
- package/dist/viewer/index.d.cts +36 -4
- package/dist/viewer/index.d.ts +36 -4
- package/dist/viewer/index.js +25 -3
- package/dist/viewer/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-YE7UVYRY.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Reference definitions for the taals the player will sample:
|
|
3
3
|
* adachautaal, dadra, ektaal, jhaptaal, kehrwa, rupak, shashthi, teentaal,
|
|
4
|
-
* jhampak.
|
|
4
|
+
* jhampak, dhamaar.
|
|
5
5
|
*
|
|
6
6
|
* `numBeats` and the `bhaags` given below are standard Hindustani taal theory.
|
|
7
7
|
* `bhaags` is omitted where a single canonical division isn't well-agreed
|
|
@@ -91,6 +91,13 @@ declare const TAALS: {
|
|
|
91
91
|
readonly bhaags: [3, 2];
|
|
92
92
|
readonly sam: 0;
|
|
93
93
|
};
|
|
94
|
+
readonly dhamaar: {
|
|
95
|
+
readonly id: "dhamaar";
|
|
96
|
+
readonly numBeats: 14;
|
|
97
|
+
readonly bhaags: [5, 2, 3, 4];
|
|
98
|
+
readonly sam: 0;
|
|
99
|
+
readonly khaali: [7];
|
|
100
|
+
};
|
|
94
101
|
};
|
|
95
102
|
type TaalId = keyof typeof TAALS;
|
|
96
103
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Reference definitions for the taals the player will sample:
|
|
3
3
|
* adachautaal, dadra, ektaal, jhaptaal, kehrwa, rupak, shashthi, teentaal,
|
|
4
|
-
* jhampak.
|
|
4
|
+
* jhampak, dhamaar.
|
|
5
5
|
*
|
|
6
6
|
* `numBeats` and the `bhaags` given below are standard Hindustani taal theory.
|
|
7
7
|
* `bhaags` is omitted where a single canonical division isn't well-agreed
|
|
@@ -91,6 +91,13 @@ declare const TAALS: {
|
|
|
91
91
|
readonly bhaags: [3, 2];
|
|
92
92
|
readonly sam: 0;
|
|
93
93
|
};
|
|
94
|
+
readonly dhamaar: {
|
|
95
|
+
readonly id: "dhamaar";
|
|
96
|
+
readonly numBeats: 14;
|
|
97
|
+
readonly bhaags: [5, 2, 3, 4];
|
|
98
|
+
readonly sam: 0;
|
|
99
|
+
readonly khaali: [7];
|
|
100
|
+
};
|
|
94
101
|
};
|
|
95
102
|
type TaalId = keyof typeof TAALS;
|
|
96
103
|
|
package/dist/viewer/index.cjs
CHANGED
|
@@ -32,8 +32,10 @@ var init_taals = __esm({
|
|
|
32
32
|
teentaal: { id: "teentaal", numBeats: 16, bhaags: [4, 4, 4, 4], sam: 0, khaali: [8] },
|
|
33
33
|
aratheka: { id: "aratheka", numBeats: 16, bhaags: [4, 4, 4, 4], sam: 0, khaali: [8] },
|
|
34
34
|
// আড়াঠেকা
|
|
35
|
-
jhampak: { id: "jhampak", numBeats: 5, bhaags: [3, 2], sam: 0 }
|
|
35
|
+
jhampak: { id: "jhampak", numBeats: 5, bhaags: [3, 2], sam: 0 },
|
|
36
36
|
// ঝম্পক
|
|
37
|
+
dhamaar: { id: "dhamaar", numBeats: 14, bhaags: [5, 2, 3, 4], sam: 0, khaali: [7] }
|
|
38
|
+
// ধামার
|
|
37
39
|
};
|
|
38
40
|
}
|
|
39
41
|
});
|
|
@@ -181,7 +183,7 @@ var init_spec = __esm({
|
|
|
181
183
|
init_schema();
|
|
182
184
|
init_schema();
|
|
183
185
|
init_taals();
|
|
184
|
-
SPEC_VERSION = "0.3.
|
|
186
|
+
SPEC_VERSION = "0.3.4";
|
|
185
187
|
}
|
|
186
188
|
});
|
|
187
189
|
|
|
@@ -1173,6 +1175,28 @@ async function renderStaffHtml(doc, opts = {}) {
|
|
|
1173
1175
|
function escapeAttr(s) {
|
|
1174
1176
|
return s.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
1175
1177
|
}
|
|
1178
|
+
function buildTaalAbc(taal, opts = {}) {
|
|
1179
|
+
const n = Math.max(1, taal.numBeats);
|
|
1180
|
+
const src = opts.drums && opts.drums.length ? opts.drums : drumPattern(taal);
|
|
1181
|
+
const voices = Array.from({ length: n }, (_, i) => src[i % src.length]);
|
|
1182
|
+
const bpm = Math.round(opts.bpm ?? 90);
|
|
1183
|
+
const head = ["X:1", `M:${ratioMeter(n)}`, "L:1/4", `Q:1/4=${bpm}`, ...percMapLines(voices), "K:C"];
|
|
1184
|
+
const lines = [...head, "V:1 clef=perc stem=up", buildDrumVoice(n, n, voices)];
|
|
1185
|
+
if (opts.bols?.length) {
|
|
1186
|
+
const w = opts.bols.slice(0, n).map((b) => b.trim() ? abcText(b).replace(/\s+/g, "~") : "*");
|
|
1187
|
+
while (w.length < n) w.push("*");
|
|
1188
|
+
lines.push(`w: ${w.join(" ")}`);
|
|
1189
|
+
}
|
|
1190
|
+
return lines.join("\n");
|
|
1191
|
+
}
|
|
1192
|
+
async function renderTaalStaffHtml(taal, opts = {}) {
|
|
1193
|
+
const abc = buildTaalAbc(taal, opts);
|
|
1194
|
+
const n = Math.max(1, taal.numBeats);
|
|
1195
|
+
const paths = Array.from({ length: n }, (_, i) => String(i));
|
|
1196
|
+
const engraved = await abcToSvg(abc, { staffwidth: opts.staffwidth, scale: opts.scale }, paths);
|
|
1197
|
+
const lines = engraved.includes("sw-staff-missing") ? engraved : `<div class="sw-staff-lines">${engraved}</div>`;
|
|
1198
|
+
return `<div class="sw-staff sw-staff--taal">${lines}</div>`;
|
|
1199
|
+
}
|
|
1176
1200
|
|
|
1177
1201
|
// src/viewer/print.ts
|
|
1178
1202
|
var DEFAULT_WATERMARK = "www.gitabitan.io";
|
|
@@ -1479,6 +1503,7 @@ exports.SWARALIPI_STAFF_CSS = SWARALIPI_STAFF_CSS;
|
|
|
1479
1503
|
exports.abcDuration = abcDuration;
|
|
1480
1504
|
exports.abcToSvg = abcToSvg;
|
|
1481
1505
|
exports.buildAbc = buildAbc;
|
|
1506
|
+
exports.buildTaalAbc = buildTaalAbc;
|
|
1482
1507
|
exports.composeCluster = composeCluster;
|
|
1483
1508
|
exports.defineSwaralipiSheet = defineSwaralipiSheet;
|
|
1484
1509
|
exports.docToAbc = docToAbc;
|
|
@@ -1491,6 +1516,7 @@ exports.renderMetaHeader = renderMetaHeader;
|
|
|
1491
1516
|
exports.renderPrintDocument = renderPrintDocument;
|
|
1492
1517
|
exports.renderStaffHtml = renderStaffHtml;
|
|
1493
1518
|
exports.renderStaffPrintDocument = renderStaffPrintDocument;
|
|
1519
|
+
exports.renderTaalStaffHtml = renderTaalStaffHtml;
|
|
1494
1520
|
exports.renderToHtml = renderToHtml;
|
|
1495
1521
|
exports.resolveArcs = resolveArcs;
|
|
1496
1522
|
//# sourceMappingURL=index.cjs.map
|