0.15.0-3 Misc Fixes

This commit is contained in:
2026-04-28 09:18:56 +00:00
parent 730bc50715
commit ff8a8f67bf
19 changed files with 834 additions and 157 deletions
+62 -1
View File
@@ -1243,6 +1243,66 @@ function computeAudioTrackActions(track, selectedIndex, selector) {
};
}
function refreshAudioTrackActionsForPlanTitles(titles, settings = {}, presetProfile = null) {
const sourceTitles = Array.isArray(titles) ? titles : [];
if (sourceTitles.length === 0) {
return sourceTitles;
}
const selectors = buildTrackSelectors(settings || {}, presetProfile || null);
const audioSelector = selectors?.audio && typeof selectors.audio === 'object'
? selectors.audio
: {};
return sourceTitles.map((title) => {
const audioTracks = Array.isArray(title?.audioTracks) ? title.audioTracks : [];
if (audioTracks.length === 0) {
return title;
}
const selectedTracks = audioTracks.filter((track) => Boolean(track?.selectedForEncode));
const selectedIndexById = new Map(
selectedTracks
.map((track, index) => {
const trackId = Number(track?.id);
if (!Number.isFinite(trackId)) {
return null;
}
return [Math.trunc(trackId), index];
})
.filter(Boolean)
);
const nextAudioTracks = audioTracks.map((track) => {
if (!track?.selectedForEncode) {
return {
...track,
encodeActions: [],
encodeActionSummary: 'Nicht übernommen'
};
}
const numericTrackId = Number(track?.id);
const normalizedTrackId = Number.isFinite(numericTrackId) ? Math.trunc(numericTrackId) : null;
const selectedIndex = (normalizedTrackId !== null && selectedIndexById.has(normalizedTrackId))
? selectedIndexById.get(normalizedTrackId)
: 0;
const actions = computeAudioTrackActions(track, selectedIndex, audioSelector);
return {
...track,
encodePreviewActions: actions.actions,
encodePreviewSummary: actions.summary,
encodeActions: actions.actions,
encodeActionSummary: actions.summary
};
});
return {
...title,
audioTracks: nextAudioTracks
};
});
}
function computeSubtitleFlags(trackId, selectedTrackIds, selector) {
const selected = selectedTrackIds.includes(trackId);
if (!selected) {
@@ -1526,5 +1586,6 @@ function buildMediainfoReview({
module.exports = {
parseDurationSeconds,
buildMediainfoReview
buildMediainfoReview,
refreshAudioTrackActionsForPlanTitles
};