This commit is contained in:
2026-03-09 13:28:21 +00:00
parent ac29c68de0
commit 8e3c67565d
10 changed files with 536 additions and 78 deletions

View File

@@ -709,7 +709,8 @@ export default function MediaInfoReviewPanel({
const processedFiles = Number(review.processedFiles || titles.length || 0);
const totalFiles = Number(review.totalFiles || titles.length || 0);
const playlistRecommendation = review.playlistRecommendation || null;
const presetLabel = String(presetDisplayValue || review.selectors?.preset || '').trim() || '-';
const rawPreset = String(review.selectors?.preset || '').trim();
const presetLabel = String(presetDisplayValue || rawPreset).trim() || '(kein Preset)';
const scriptCatalog = (Array.isArray(availableScripts) ? availableScripts : [])
.map((item) => ({
id: normalizeScriptId(item?.id),
@@ -974,7 +975,9 @@ export default function MediaInfoReviewPanel({
) : titles.map((title) => {
const titleEligible = title?.eligibleForEncode !== false;
const titleChecked = allowTitleSelection
? currentSelectedId === normalizeTitleId(title.id)
? (currentSelectedId !== null
? currentSelectedId === normalizeTitleId(title.id)
: Boolean(title.selectedForEncode))
: Boolean(title.selectedForEncode);
const titleSelectionEntry = trackSelectionByTitle?.[title.id] || trackSelectionByTitle?.[String(title.id)] || {};
const subtitleTracks = Array.isArray(title.subtitleTracks) ? title.subtitleTracks : [];

View File

@@ -427,7 +427,11 @@ export default function PipelineStatusCard({
return presetDisplayMap[preset] || preset;
}, [mediaInfoReview?.selectors?.preset, presetDisplayMap]);
const buildSelectedTrackSelectionForCurrentTitle = () => {
const encodeTitleId = normalizeTitleId(selectedEncodeTitleId);
const encodeTitleId = normalizeTitleId(selectedEncodeTitleId)
|| normalizeTitleId(mediaInfoReview?.encodeInputTitleId)
|| normalizeTitleId(
(Array.isArray(mediaInfoReview?.titles) ? mediaInfoReview.titles : []).find((t) => t?.selectedForEncode)?.id
);
const selectionEntry = encodeTitleId
? (trackSelectionByTitle?.[encodeTitleId] || trackSelectionByTitle?.[String(encodeTitleId)] || null)
: null;

View File

@@ -93,6 +93,10 @@ function injectHandBrakePresetOptions(categories, presetPayload) {
});
};
// "(kein Preset)" immer als erste Option — ermöglicht reinen CLI-Betrieb
normalizedOptions.push({ label: '(kein Preset nur CLI-Parameter)', value: '', disabled: false });
seenValues.add('');
for (const option of sourceOptions) {
if (option?.disabled) {
addGroupOption(option);
@@ -103,7 +107,7 @@ function injectHandBrakePresetOptions(categories, presetPayload) {
addSelectableOption(setting?.value);
addSelectableOption(setting?.defaultValue);
if (normalizedOptions.length === 0) {
if (normalizedOptions.length <= 1) {
return setting;
}