|
32 | 32 | import AudioMotionAnalyzer from 'audiomotion-analyzer';
|
33 | 33 | import packageJson from '../package.json';
|
34 | 34 | import * as fileExplorer from './file-explorer.js';
|
35 |
| -import {parseBlob, parseBuffer, parseWebStream} from 'music-metadata'; |
| 35 | +import {parseBlob, parseWebStream} from 'music-metadata'; |
36 | 36 | import './scrollIntoViewIfNeeded-polyfill.js';
|
37 | 37 | import { get, set, del } from 'idb-keyval';
|
38 | 38 | import * as yaml from 'js-yaml';
|
@@ -2131,10 +2131,13 @@ async function loadLocalFile( obj ) {
|
2131 | 2131 | audioEl.dataset.title = parsePath( fileBlob.name ).baseName;
|
2132 | 2132 |
|
2133 | 2133 | 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); |
2136 | 2136 | 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; |
2138 | 2141 | } catch( error ) {
|
2139 | 2142 | consoleLog("Failed to load local file", error);
|
2140 | 2143 | }
|
|
0 commit comments