|
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