import fs from 'node:fs' import { debugLog, encodeTrack } from '../utils.js' function loadFrom(path) { return new Promise((resolve) => { debugLog('loadtracks', 4, { type: 1, loadType: 'track', sourceName: 'local', query: path }) fs.open(path, (err) => { if (err) { debugLog('loadtracks', 4, { type: 2, loadType: 'error', sourceName: 'local', query: path, message: 'Failed to retrieve stream from source. (File not found or not accessible)' }) return resolve({ loadType: 'error', data: { message: 'Failed to retrieve stream from source. (File not found or not accessible)', severity: 'common', cause: 'No permission to access file or doesn\'t exist' } }) } const track = { identifier: 'unknown', isSeekable: false, author: 'unknown', length: -1, isStream: false, position: 0, title: 'unknown', uri: path, artworkUrl: null, isrc: null, sourceName: 'local' } debugLog('loadtracks', 4, { type: 2, loadType: 'track', sourceName: 'local', track, query: path }) resolve({ loadType: 'track', data: { encoded: encodeTrack(track), info: track, pluginInfo: {} } }) }) }) } export default { loadFrom }