@ugfoundation/swaralipi-js 0.3.1 → 0.3.3
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-TVEIT2OJ.js → batch-6YAUMVHC.js} +5 -5
- package/dist/{batch-TVEIT2OJ.js.map → batch-6YAUMVHC.js.map} +1 -1
- package/dist/{chunk-V5ZSUJCA.js → chunk-32LOBRC2.js} +3 -3
- package/dist/{chunk-V5ZSUJCA.js.map → chunk-32LOBRC2.js.map} +1 -1
- package/dist/{chunk-HDN3YZ6K.js → chunk-RTCRSOVW.js} +3 -3
- package/dist/{chunk-HDN3YZ6K.js.map → chunk-RTCRSOVW.js.map} +1 -1
- package/dist/{chunk-WBSIKYWB.js → chunk-UBJZUKQD.js} +6 -6
- package/dist/chunk-UBJZUKQD.js.map +1 -0
- package/dist/{chunk-H6HC44PZ.js → chunk-YE7UVYRY.js} +5 -3
- package/dist/chunk-YE7UVYRY.js.map +1 -0
- package/dist/cli.cjs +6 -4
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.js +3 -3
- package/dist/convert/index.cjs +6 -4
- 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-BhiP_maG.d.ts → schedule-BaE3JGHe.d.ts} +1 -1
- package/dist/{schedule-Dsb2paUE.d.cts → schedule-CHXz3V6T.d.cts} +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-FmEulsjY.d.cts → taals-DxJ8wRtF.d.cts} +8 -1
- package/dist/{taals-FmEulsjY.d.ts → taals-DxJ8wRtF.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-H6HC44PZ.js.map +0 -1
- package/dist/chunk-WBSIKYWB.js.map +0 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Reference definitions for the taals the player will sample:
|
|
3
|
-
* adachautaal, dadra, ektaal, jhaptaal, kehrwa, rupak, shashthi, teentaal
|
|
3
|
+
* adachautaal, dadra, ektaal, jhaptaal, kehrwa, rupak, shashthi, teentaal,
|
|
4
|
+
* jhampak.
|
|
4
5
|
*
|
|
5
6
|
* `numBeats` and the `bhaags` given below are standard Hindustani taal theory.
|
|
6
7
|
* `bhaags` is omitted where a single canonical division isn't well-agreed
|
|
@@ -84,6 +85,12 @@ declare const TAALS: {
|
|
|
84
85
|
readonly sam: 0;
|
|
85
86
|
readonly khaali: [8];
|
|
86
87
|
};
|
|
88
|
+
readonly jhampak: {
|
|
89
|
+
readonly id: "jhampak";
|
|
90
|
+
readonly numBeats: 5;
|
|
91
|
+
readonly bhaags: [3, 2];
|
|
92
|
+
readonly sam: 0;
|
|
93
|
+
};
|
|
87
94
|
};
|
|
88
95
|
type TaalId = keyof typeof TAALS;
|
|
89
96
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Reference definitions for the taals the player will sample:
|
|
3
|
-
* adachautaal, dadra, ektaal, jhaptaal, kehrwa, rupak, shashthi, teentaal
|
|
3
|
+
* adachautaal, dadra, ektaal, jhaptaal, kehrwa, rupak, shashthi, teentaal,
|
|
4
|
+
* jhampak.
|
|
4
5
|
*
|
|
5
6
|
* `numBeats` and the `bhaags` given below are standard Hindustani taal theory.
|
|
6
7
|
* `bhaags` is omitted where a single canonical division isn't well-agreed
|
|
@@ -84,6 +85,12 @@ declare const TAALS: {
|
|
|
84
85
|
readonly sam: 0;
|
|
85
86
|
readonly khaali: [8];
|
|
86
87
|
};
|
|
88
|
+
readonly jhampak: {
|
|
89
|
+
readonly id: "jhampak";
|
|
90
|
+
readonly numBeats: 5;
|
|
91
|
+
readonly bhaags: [3, 2];
|
|
92
|
+
readonly sam: 0;
|
|
93
|
+
};
|
|
87
94
|
};
|
|
88
95
|
type TaalId = keyof typeof TAALS;
|
|
89
96
|
|
package/dist/viewer/index.cjs
CHANGED
|
@@ -30,8 +30,10 @@ var init_taals = __esm({
|
|
|
30
30
|
teora: { id: "teora", numBeats: 7, bhaags: [3, 2, 2], sam: 0 },
|
|
31
31
|
// টেওরা
|
|
32
32
|
teentaal: { id: "teentaal", numBeats: 16, bhaags: [4, 4, 4, 4], sam: 0, khaali: [8] },
|
|
33
|
-
aratheka: { id: "aratheka", numBeats: 16, bhaags: [4, 4, 4, 4], sam: 0, khaali: [8] }
|
|
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 }
|
|
36
|
+
// ঝম্পক
|
|
35
37
|
};
|
|
36
38
|
}
|
|
37
39
|
});
|
|
@@ -179,7 +181,7 @@ var init_spec = __esm({
|
|
|
179
181
|
init_schema();
|
|
180
182
|
init_schema();
|
|
181
183
|
init_taals();
|
|
182
|
-
SPEC_VERSION = "0.3.
|
|
184
|
+
SPEC_VERSION = "0.3.3";
|
|
183
185
|
}
|
|
184
186
|
});
|
|
185
187
|
|
|
@@ -1171,6 +1173,28 @@ async function renderStaffHtml(doc, opts = {}) {
|
|
|
1171
1173
|
function escapeAttr(s) {
|
|
1172
1174
|
return s.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
1173
1175
|
}
|
|
1176
|
+
function buildTaalAbc(taal, opts = {}) {
|
|
1177
|
+
const n = Math.max(1, taal.numBeats);
|
|
1178
|
+
const src = opts.drums && opts.drums.length ? opts.drums : drumPattern(taal);
|
|
1179
|
+
const voices = Array.from({ length: n }, (_, i) => src[i % src.length]);
|
|
1180
|
+
const bpm = Math.round(opts.bpm ?? 90);
|
|
1181
|
+
const head = ["X:1", `M:${ratioMeter(n)}`, "L:1/4", `Q:1/4=${bpm}`, ...percMapLines(voices), "K:C"];
|
|
1182
|
+
const lines = [...head, "V:1 clef=perc stem=up", buildDrumVoice(n, n, voices)];
|
|
1183
|
+
if (opts.bols?.length) {
|
|
1184
|
+
const w = opts.bols.slice(0, n).map((b) => b.trim() ? abcText(b).replace(/\s+/g, "~") : "*");
|
|
1185
|
+
while (w.length < n) w.push("*");
|
|
1186
|
+
lines.push(`w: ${w.join(" ")}`);
|
|
1187
|
+
}
|
|
1188
|
+
return lines.join("\n");
|
|
1189
|
+
}
|
|
1190
|
+
async function renderTaalStaffHtml(taal, opts = {}) {
|
|
1191
|
+
const abc = buildTaalAbc(taal, opts);
|
|
1192
|
+
const n = Math.max(1, taal.numBeats);
|
|
1193
|
+
const paths = Array.from({ length: n }, (_, i) => String(i));
|
|
1194
|
+
const engraved = await abcToSvg(abc, { staffwidth: opts.staffwidth, scale: opts.scale }, paths);
|
|
1195
|
+
const lines = engraved.includes("sw-staff-missing") ? engraved : `<div class="sw-staff-lines">${engraved}</div>`;
|
|
1196
|
+
return `<div class="sw-staff sw-staff--taal">${lines}</div>`;
|
|
1197
|
+
}
|
|
1174
1198
|
|
|
1175
1199
|
// src/viewer/print.ts
|
|
1176
1200
|
var DEFAULT_WATERMARK = "www.gitabitan.io";
|
|
@@ -1477,6 +1501,7 @@ exports.SWARALIPI_STAFF_CSS = SWARALIPI_STAFF_CSS;
|
|
|
1477
1501
|
exports.abcDuration = abcDuration;
|
|
1478
1502
|
exports.abcToSvg = abcToSvg;
|
|
1479
1503
|
exports.buildAbc = buildAbc;
|
|
1504
|
+
exports.buildTaalAbc = buildTaalAbc;
|
|
1480
1505
|
exports.composeCluster = composeCluster;
|
|
1481
1506
|
exports.defineSwaralipiSheet = defineSwaralipiSheet;
|
|
1482
1507
|
exports.docToAbc = docToAbc;
|
|
@@ -1489,6 +1514,7 @@ exports.renderMetaHeader = renderMetaHeader;
|
|
|
1489
1514
|
exports.renderPrintDocument = renderPrintDocument;
|
|
1490
1515
|
exports.renderStaffHtml = renderStaffHtml;
|
|
1491
1516
|
exports.renderStaffPrintDocument = renderStaffPrintDocument;
|
|
1517
|
+
exports.renderTaalStaffHtml = renderTaalStaffHtml;
|
|
1492
1518
|
exports.renderToHtml = renderToHtml;
|
|
1493
1519
|
exports.resolveArcs = resolveArcs;
|
|
1494
1520
|
//# sourceMappingURL=index.cjs.map
|