feat(aklive2d): init music process

This commit is contained in:
Haoyu Xu
2023-06-24 09:34:50 -04:00
parent ac232e1afb
commit 032a916fd5
5 changed files with 42 additions and 14 deletions

7
.vscode/launch.json vendored
View File

@@ -55,6 +55,13 @@
"request": "launch", "request": "launch",
"command": "pnpm run charword", "command": "pnpm run charword",
"cwd": "${workspaceFolder}" "cwd": "${workspaceFolder}"
},
{
"type": "node-terminal",
"name": "Run Script: music",
"request": "launch",
"command": "pnpm run music",
"cwd": "${workspaceFolder}"
} }
] ]
} }

View File

@@ -25,6 +25,7 @@ async function main() {
let OPERATOR_NAMES = process.argv.slice(3); let OPERATOR_NAMES = process.argv.slice(3);
const charwordTable = new CharwordTable() const charwordTable = new CharwordTable()
const musicTable = new Music()
/** /**
* Skip all, no need for OPERATOR_NAME * Skip all, no need for OPERATOR_NAME
@@ -49,6 +50,9 @@ async function main() {
case 'charword': case 'charword':
await charwordTable.process() await charwordTable.process()
process.exit(0) process.exit(0)
case 'music':
await musicTable.process()
process.exit(0)
default: default:
break break
} }
@@ -58,7 +62,7 @@ async function main() {
const background = new Background() const background = new Background()
await background.process() await background.process()
const backgrounds = ['operator_bg.png', ...background.files] const backgrounds = ['operator_bg.png', ...background.files]
const { musicToCopy, musicMapping } = Music() const { musicToCopy, musicMapping } = musicTable.copy()
for (const OPERATOR_NAME of OPERATOR_NAMES) { for (const OPERATOR_NAME of OPERATOR_NAMES) {
const OPERATOR_SOURCE_FOLDER = path.join(__projectRoot, __config.folder.operator) const OPERATOR_SOURCE_FOLDER = path.join(__projectRoot, __config.folder.operator)

View File

@@ -1,8 +1,23 @@
/* eslint-disable no-undef */ /* eslint-disable no-undef */
import path from 'path'; import path from 'path';
import { read } from './yaml.js'; import { read } from './yaml.js';
import Downloader from "./downloader.js"
export default function () { export default class Music {
#downloader = new Downloader()
#sharedPath = path.join(__projectRoot, __config.folder.operator, __config.folder.share)
async process() {
}
async #download() {
const metaTable = await this.#downloader.github(`https://api.github.com/repos/Kengxxiao/ArknightsGameData/commits?path=zh_CN/gamedata/excel/display_meta_table.json`, `https://raw.githubusercontent.com/Kengxxiao/ArknightsGameData/master/zh_CN/gamedata/excel/display_meta_table.json`, path.join(this.#sharedPath, `display_meta_table.json`))
const audioDataTable = await this.#downloader.github(`https://api.github.com/repos/Kengxxiao/ArknightsGameData/commits?path=zh_CN/gamedata/excel/audio_data.json`, `https://raw.githubusercontent.com/Kengxxiao/ArknightsGameData/master/zh_CN/gamedata/excel/audio_data.json`, path.join(this.#sharedPath, `audio_data.json`))
console.log(metaTable, audioDataTable)
}
copy() {
const musicFolder = path.join(__projectRoot, __config.folder.operator, __config.folder.share, __config.folder.music); const musicFolder = path.join(__projectRoot, __config.folder.operator, __config.folder.share, __config.folder.music);
const musicMapping = read(path.join(musicFolder, 'mapping.yaml')); const musicMapping = read(path.join(musicFolder, 'mapping.yaml'));
const musicToCopy = Object.values(musicMapping).map(entry => Object.values(entry)).flat(1).filter(entry => entry !== null).map(entry => { const musicToCopy = Object.values(musicMapping).map(entry => Object.values(entry)).flat(1).filter(entry => entry !== null).map(entry => {
@@ -17,3 +32,4 @@ export default function () {
musicMapping, musicMapping,
} }
} }
}

View File

@@ -12,7 +12,8 @@
"init": "node aklive2d init", "init": "node aklive2d init",
"readme": "node aklive2d readme", "readme": "node aklive2d readme",
"directory": "node aklive2d directory", "directory": "node aklive2d directory",
"charword": "node aklive2d charword", "charwords": "node aklive2d charwords",
"music": "node aklive2d music",
"vite:dev": "vite", "vite:dev": "vite",
"vite:build": "vite build", "vite:build": "vite build",
"vite:preview": "vite preview", "vite:preview": "vite preview",

View File

@@ -200,7 +200,7 @@ async function main() {
const background = new Background() const background = new Background()
await background.process() await background.process()
const backgrounds = ['operator_bg.png', ...background.files] const backgrounds = ['operator_bg.png', ...background.files]
const { musicMapping } = Music() const { musicMapping } = (new Music()).copy()
directory({ backgrounds, musicMapping }) directory({ backgrounds, musicMapping })
return return