feat(aklive2d): init music process
This commit is contained in:
7
.vscode/launch.json
vendored
7
.vscode/launch.json
vendored
@@ -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}"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -1,19 +1,35 @@
|
|||||||
/* 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 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 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 => {
|
||||||
|
return {
|
||||||
|
filename: entry,
|
||||||
|
source: musicFolder,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
export default function () {
|
|
||||||
const musicFolder = path.join(__projectRoot, __config.folder.operator, __config.folder.share, __config.folder.music);
|
|
||||||
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 => {
|
|
||||||
return {
|
return {
|
||||||
filename: entry,
|
musicToCopy,
|
||||||
source: musicFolder,
|
musicMapping,
|
||||||
}
|
}
|
||||||
})
|
|
||||||
|
|
||||||
return {
|
|
||||||
musicToCopy,
|
|
||||||
musicMapping,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -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",
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user