Skip to content

Commit bd18241

Browse files
committed
Run loadFileBlob and (parseBlob, addMetadata) in parallel
1 parent c30e49c commit bd18241

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/index.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
import AudioMotionAnalyzer from 'audiomotion-analyzer';
3333
import packageJson from '../package.json';
3434
import * as fileExplorer from './file-explorer.js';
35-
import {parseBlob, parseBuffer, parseWebStream} from 'music-metadata';
35+
import {parseBlob, parseWebStream} from 'music-metadata';
3636
import './scrollIntoViewIfNeeded-polyfill.js';
3737
import { get, set, del } from 'idb-keyval';
3838
import * as yaml from 'js-yaml';
@@ -2131,10 +2131,13 @@ async function loadLocalFile( obj ) {
21312131
audioEl.dataset.title = parsePath( fileBlob.name ).baseName;
21322132

21332133
try {
2134-
await loadFileBlob( fileBlob, audioEl, true );
2135-
// Maybe do this parallel?
2134+
// Start both tasks, but only await parseBlob immediately
2135+
const loadTask = loadFileBlob(fileBlob, audioEl, true);
21362136
const metadata = await parseBlob( fileBlob );
2137-
await addMetadata( metadata, audioEl );
2137+
await addMetadata(metadata, audioEl);
2138+
2139+
// Wait for loadTask to complete
2140+
await loadTask;
21382141
} catch( error ) {
21392142
consoleLog("Failed to load local file", error);
21402143
}

0 commit comments

Comments
 (0)