Skip to content

Commit 293c30e

Browse files
committed
Run loadFileBlob and (parseBlob, addMetadata) in parallel
1 parent 6c0975d commit 293c30e

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

@@ -2130,10 +2130,13 @@ async function loadLocalFile( obj ) {
21302130
audioEl.dataset.title = parsePath( fileBlob.name ).baseName;
21312131

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

0 commit comments

Comments
 (0)