+2
src/Javascript/index.ts
+2
src/Javascript/index.ts
+21
-14
src/Javascript/processing.ts
+21
-14
src/Javascript/processing.ts
···
63
63
const musicMetadata = await import("music-metadata-browser").then((a) => a.default);
64
64
const httpTokenizer = await import("@tokenizer/http").then((a) => a.default);
65
65
66
-
const tokenizer = await httpTokenizer.makeTokenizer(headUrl);
67
-
tokenizer.fileInfo.url = getUrl;
66
+
let tokenizer
67
+
let mmResult
68
68
69
-
// @ts-ignore
70
-
if (tokenizer.rangeRequestClient) {
71
-
// @ts-ignore
72
-
tokenizer.rangeRequestClient.url = getUrl;
69
+
try {
70
+
tokenizer = await httpTokenizer.makeTokenizer(headUrl);
71
+
tokenizer.fileInfo.url = getUrl;
72
+
73
73
// @ts-ignore
74
-
tokenizer.rangeRequestClient.resolvedUrl = undefined;
75
-
}
74
+
if (tokenizer.rangeRequestClient) {
75
+
// @ts-ignore
76
+
tokenizer.rangeRequestClient.url = getUrl;
77
+
// @ts-ignore
78
+
tokenizer.rangeRequestClient.resolvedUrl = undefined;
79
+
}
76
80
77
-
const mmResult = await musicMetadata.parseFromTokenizer(
78
-
tokenizer,
79
-
{ skipCovers: !covers }
80
-
).catch(err => {
81
+
mmResult = await musicMetadata.parseFromTokenizer(
82
+
tokenizer,
83
+
{ skipCovers: !covers }
84
+
).catch(err => {
85
+
console.warn(err)
86
+
return null
87
+
});
88
+
} catch (err) {
81
89
console.warn(err)
82
-
return null
83
-
});
90
+
}
84
91
85
92
const mmTags = mmResult && pickTagsFromMusicMetadata(filename, mmResult);
86
93
if (mmTags) return mmTags;