Return index of the source instead of the source value

This commit is contained in:
toasted-nutbread 2020-04-10 16:38:53 -04:00
parent f50aee1021
commit 7eb7c88394
2 changed files with 10 additions and 7 deletions

View File

@ -85,13 +85,15 @@ class AudioSystem {
const cacheValue = this._cache.get(key);
if (typeof cacheValue !== 'undefined') {
const {audio, uri, source} = cacheValue;
if (sources.includes(source)) {
return {audio, uri, source};
const index = sources.indexOf(source);
if (index >= 0) {
return {audio, uri, index};
}
}
}
for (const source of sources) {
for (let i = 0, ii = sources.length; i < ii; ++i) {
const source = sources[i];
const uri = await this._getAudioUri(definition, source, details);
if (uri === null) { continue; }
@ -101,7 +103,7 @@ class AudioSystem {
this._cacheCheck();
this._cache.set(key, {audio, uri, source});
}
return {audio, uri, source};
return {audio, uri, index: i};
} catch (e) {
// NOP
}

View File

@ -796,11 +796,12 @@ class Display {
this.audioPlaying = null;
}
let audio, source, info;
let audio, info;
try {
const {sources, textToSpeechVoice, customSourceUrl} = this.options.audio;
({audio, source} = await this.audioSystem.getDefinitionAudio(expression, sources, {textToSpeechVoice, customSourceUrl}));
info = `From source ${1 + sources.indexOf(source)}: ${source}`;
let index;
({audio, index} = await this.audioSystem.getDefinitionAudio(expression, sources, {textToSpeechVoice, customSourceUrl}));
info = `From source ${1 + index}: ${sources[index]}`;
} catch (e) {
if (this.audioFallback === null) {
this.audioFallback = new Audio('/mixed/mp3/button.mp3');