danoniplus 41.3.0 → 41.3.2
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/js/danoni_main.js +46 -43
- package/package.json +1 -1
package/js/danoni_main.js
CHANGED
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Source by tickle
|
|
6
6
|
* Created : 2018/10/08
|
|
7
|
-
* Revised : 2025/05/
|
|
7
|
+
* Revised : 2025/05/15
|
|
8
8
|
*
|
|
9
9
|
* https://github.com/cwtickle/danoniplus
|
|
10
10
|
*/
|
|
11
|
-
const g_version = `Ver 41.3.
|
|
12
|
-
const g_revisedDate = `2025/05/
|
|
11
|
+
const g_version = `Ver 41.3.2`;
|
|
12
|
+
const g_revisedDate = `2025/05/15`;
|
|
13
13
|
|
|
14
14
|
// カスタム用バージョン (danoni_custom.js 等で指定可)
|
|
15
15
|
let g_localVersion = ``;
|
|
@@ -3448,55 +3448,61 @@ const headerConvert = _dosObj => {
|
|
|
3448
3448
|
}
|
|
3449
3449
|
|
|
3450
3450
|
// 曲名
|
|
3451
|
-
obj.musicTitles = [];
|
|
3452
|
-
obj.musicTitlesForView = [];
|
|
3453
|
-
obj.artistNames = [];
|
|
3454
|
-
obj.artistUrls = [];
|
|
3455
|
-
obj.
|
|
3456
|
-
obj.
|
|
3451
|
+
obj.musicTitles = [`musicName`];
|
|
3452
|
+
obj.musicTitlesForView = [[`musicName`]];
|
|
3453
|
+
obj.artistNames = [``];
|
|
3454
|
+
obj.artistUrls = [``];
|
|
3455
|
+
obj.bpms = [`----`];
|
|
3456
|
+
obj.musicNos = hasVal(_dosObj.musicNo)
|
|
3457
|
+
? splitLF2(_dosObj.musicNo).map(Number).map(val => isNaN(val) ? 0 : val)
|
|
3458
|
+
: fillArray(_dosObj.difData?.split(`$`).length ?? 1);
|
|
3457
3459
|
|
|
3458
3460
|
const dosMusicTitle = getHeader(_dosObj, `musicTitle`);
|
|
3461
|
+
let alternativeTitle;
|
|
3459
3462
|
if (hasVal(dosMusicTitle)) {
|
|
3460
3463
|
const musicData = splitLF2(dosMusicTitle);
|
|
3461
3464
|
|
|
3462
|
-
|
|
3463
|
-
|
|
3464
|
-
|
|
3465
|
-
|
|
3466
|
-
|
|
3467
|
-
|
|
3468
|
-
|
|
3469
|
-
|
|
3470
|
-
|
|
3471
|
-
|
|
3472
|
-
|
|
3473
|
-
|
|
3474
|
-
|
|
3475
|
-
|
|
3476
|
-
|
|
3477
|
-
|
|
3465
|
+
const lastIdx = Math.max(...obj.musicNos, musicData.length - 1);
|
|
3466
|
+
for (let j = 0; j <= lastIdx; j++) {
|
|
3467
|
+
const tmpMusicData = musicData[j] ?? ``;
|
|
3468
|
+
const musics = splitComma(tmpMusicData);
|
|
3469
|
+
|
|
3470
|
+
obj.musicTitles[j] = hasVal(musics[0])
|
|
3471
|
+
? escapeHtml(getMusicNameSimple(musics[0]))
|
|
3472
|
+
: obj.musicTitles[0];
|
|
3473
|
+
obj.musicTitlesForView[j] = hasVal(musics[0])
|
|
3474
|
+
? escapeHtmlForArray(getMusicNameMultiLine(musics[0]))
|
|
3475
|
+
: obj.musicTitlesForView[0];
|
|
3476
|
+
obj.artistNames[j] = hasVal(musics[1])
|
|
3477
|
+
? escapeHtml(musics[1])
|
|
3478
|
+
: obj.artistNames[0];
|
|
3479
|
+
obj.artistUrls[j] = musics[2] || obj.artistUrls[0];
|
|
3480
|
+
obj.bpms[j] = musics[4] || obj.bpms[0];
|
|
3481
|
+
|
|
3482
|
+
// 代替タイトル名
|
|
3478
3483
|
if (j === 0) {
|
|
3479
|
-
|
|
3480
|
-
obj.musicTitleForView = obj.musicTitlesForView[0];
|
|
3481
|
-
obj.artistName = obj.artistNames[0];
|
|
3482
|
-
if (obj.artistName === ``) {
|
|
3483
|
-
makeWarningWindow(g_msgInfoObj.E_0011);
|
|
3484
|
-
obj.artistName = `artistName`;
|
|
3485
|
-
}
|
|
3486
|
-
obj.artistUrl = obj.artistUrls[0];
|
|
3487
|
-
if (hasVal(musics[3])) {
|
|
3488
|
-
obj.musicTitles[0] = escapeHtml(getMusicNameSimple(musics[3]));
|
|
3489
|
-
obj.musicTitlesForView[0] = escapeHtmlForArray(getMusicNameMultiLine(musics[3]));
|
|
3490
|
-
}
|
|
3484
|
+
alternativeTitle = musics[3];
|
|
3491
3485
|
}
|
|
3492
3486
|
}
|
|
3493
3487
|
|
|
3494
3488
|
} else {
|
|
3495
3489
|
makeWarningWindow(g_msgInfoObj.E_0012);
|
|
3496
|
-
|
|
3497
|
-
|
|
3490
|
+
}
|
|
3491
|
+
|
|
3492
|
+
// 単一作品用の項目としての管理変数
|
|
3493
|
+
obj.musicTitle = obj.musicTitles[0];
|
|
3494
|
+
obj.musicTitleForView = obj.musicTitlesForView[0];
|
|
3495
|
+
obj.artistName = obj.artistNames[0];
|
|
3496
|
+
if (obj.artistName === ``) {
|
|
3497
|
+
makeWarningWindow(g_msgInfoObj.E_0011);
|
|
3498
3498
|
obj.artistName = `artistName`;
|
|
3499
|
-
|
|
3499
|
+
}
|
|
3500
|
+
obj.artistUrl = obj.artistUrls[0];
|
|
3501
|
+
|
|
3502
|
+
// 代替タイトル名は曲名定義の後に設定する(複数曲を束ねる名前であり、曲名ではないため)
|
|
3503
|
+
if (hasVal(alternativeTitle)) {
|
|
3504
|
+
obj.musicTitles[0] = escapeHtml(getMusicNameSimple(alternativeTitle));
|
|
3505
|
+
obj.musicTitlesForView[0] = escapeHtmlForArray(getMusicNameMultiLine(alternativeTitle));
|
|
3500
3506
|
}
|
|
3501
3507
|
|
|
3502
3508
|
// 選曲機能の利用有無
|
|
@@ -3619,9 +3625,6 @@ const headerConvert = _dosObj => {
|
|
|
3619
3625
|
obj.viewLists = [...Array(obj.keyLabels.length).keys()];
|
|
3620
3626
|
obj.keyLists = keyLists.sort((a, b) => parseInt(a) - parseInt(b));
|
|
3621
3627
|
obj.undefinedKeyLists = obj.keyLists.filter(key => g_keyObj[`${g_keyObj.defaultProp}${key}_0`] === undefined);
|
|
3622
|
-
if (obj.musicNos.length === 0) {
|
|
3623
|
-
obj.musicNos = fillArray(obj.keyLabels.length);
|
|
3624
|
-
}
|
|
3625
3628
|
|
|
3626
3629
|
// 楽曲別のグループ化設定(選曲モードのみ)
|
|
3627
3630
|
if (hasVal(_dosObj.musicGroup)) {
|