driveFile -> _driveFile_

This commit is contained in:
kakkokari-gtyih 2023-11-26 16:21:54 +09:00
parent 19a2ea3076
commit 3efd0f6c22
4 changed files with 17 additions and 17 deletions

View File

@ -9,7 +9,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<template #label>{{ i18n.ts.sound }}</template>
<option v-for="x in soundsTypes" :key="x ?? 'null'" :value="x">{{ getSoundTypeName(x) }}</option>
</MkSelect>
<div v-if="type === 'driveFile'" :class="$style.fileSelectorRoot">
<div v-if="type === '_driveFile_'" :class="$style.fileSelectorRoot">
<MkButton :class="$style.fileSelectorButton" inline rounded primary @click="selectSound">{{ i18n.ts.selectFile }}</MkButton>
<div :class="['_nowrap', !fileUrl && $style.fileNotSelected]">{{ friendlyFileName }}</div>
</div>
@ -52,7 +52,7 @@ const fileUrl = ref(props.fileUrl);
const fileName = ref<string>('');
const volume = ref(props.volume);
if (type.value === 'driveFile' && fileId.value) {
if (type.value === '_driveFile_' && fileId.value) {
const apiRes = await os.api('drive/files/show', {
fileId: fileId.value,
});
@ -63,7 +63,7 @@ function getSoundTypeName(f: SoundType): string {
switch (f) {
case null:
return i18n.ts.none;
case 'driveFile':
case '_driveFile_':
return i18n.ts._soundSettings.driveFile;
default:
return f;
@ -110,7 +110,7 @@ function selectSound(ev) {
}
function listen() {
if (type.value === 'driveFile' && (!fileUrl.value || !fileId.value)) {
if (type.value === '_driveFile_' && (!fileUrl.value || !fileId.value)) {
os.alert({
type: 'warning',
text: i18n.ts._soundSettings.driveFileWarn,
@ -118,8 +118,8 @@ function listen() {
return;
}
playFile(type.value === 'driveFile' ? {
type: 'driveFile',
playFile(type.value === '_driveFile_' ? {
type: '_driveFile_',
fileId: fileId.value as string,
fileUrl: fileUrl.value as string,
volume: volume.value,
@ -130,7 +130,7 @@ function listen() {
}
function save() {
if (type.value === 'driveFile' && !fileUrl.value) {
if (type.value === '_driveFile_' && !fileUrl.value) {
os.alert({
type: 'warning',
text: i18n.ts._soundSettings.driveFileWarn,
@ -138,7 +138,7 @@ function save() {
return;
}
if (type.value !== 'driveFile') {
if (type.value !== '_driveFile_') {
fileUrl.value = undefined;
fileName.value = '';
fileId.value = undefined;

View File

@ -63,7 +63,7 @@ function getSoundTypeName(f: SoundType): string {
switch (f) {
case null:
return i18n.ts.none;
case 'driveFile':
case '_driveFile_':
return i18n.ts._soundSettings.driveFile;
default:
return f;

View File

@ -16,7 +16,7 @@ export const soundsTypes = [
null,
// ドライブの音声
'driveFile',
'_driveFile_',
// プリインストール
'syuilo/n-aec',
@ -95,7 +95,7 @@ export type OperationType = typeof operationTypes[number];
export async function loadAudio(soundStore: SoundStore, options?: { useCache?: boolean; }) {
if (_DEV_) console.log('loading audio. opts:', options);
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
if (soundStore.type === null || (soundStore.type === 'driveFile' && !soundStore.fileUrl)) {
if (soundStore.type === null || (soundStore.type === '_driveFile_' && !soundStore.fileUrl)) {
return;
}
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
@ -103,7 +103,7 @@ export async function loadAudio(soundStore: SoundStore, options?: { useCache?: b
ctx = new AudioContext();
}
if (options?.useCache ?? true) {
if (soundStore.type === 'driveFile' && cache.has(soundStore.fileId)) {
if (soundStore.type === '_driveFile_' && cache.has(soundStore.fileId)) {
if (_DEV_) console.log('use cache');
return cache.get(soundStore.fileId) as AudioBuffer;
} else if (cache.has(soundStore.type)) {
@ -114,7 +114,7 @@ export async function loadAudio(soundStore: SoundStore, options?: { useCache?: b
let response: Response;
if (soundStore.type === 'driveFile') {
if (soundStore.type === '_driveFile_') {
try {
response = await fetch(soundStore.fileUrl);
} catch (err) {
@ -141,7 +141,7 @@ export async function loadAudio(soundStore: SoundStore, options?: { useCache?: b
const audioBuffer = await ctx.decodeAudioData(arrayBuffer);
if (options?.useCache ?? true) {
if (soundStore.type === 'driveFile') {
if (soundStore.type === '_driveFile_') {
cache.set(soundStore.fileId, audioBuffer);
} else {
cache.set(soundStore.type, audioBuffer);

View File

@ -38,17 +38,17 @@ interface PageViewInterruptor {
/** サウンド設定 */
export type SoundStore = {
type: Exclude<SoundType, 'driveFile'>;
type: Exclude<SoundType, '_driveFile_'>;
volume: number;
} | {
type: 'driveFile';
type: '_driveFile_';
/** ドライブのファイルID */
fileId: string;
/** ファイルURLこちらが優先される */
fileUrl: string;
volume: number;
}