0.12.0-1 Plugins und diverses
This commit is contained in:
@@ -227,6 +227,7 @@ export default function CdRipConfigPanel({
|
||||
onStart,
|
||||
onCancel,
|
||||
onRetry,
|
||||
onRestartReview,
|
||||
onOpenMetadata,
|
||||
busy
|
||||
}) {
|
||||
@@ -523,7 +524,8 @@ export default function CdRipConfigPanel({
|
||||
});
|
||||
};
|
||||
|
||||
const handleStart = () => {
|
||||
const handleStart = (options = {}) => {
|
||||
const forceSkipRip = Boolean(options?.forceSkipRip);
|
||||
const albumTitle = normalizeTrackText(metaFields?.title)
|
||||
|| normalizeTrackText(selectedMeta?.title)
|
||||
|| normalizeTrackText(context?.detectedTitle)
|
||||
@@ -591,6 +593,7 @@ export default function CdRipConfigPanel({
|
||||
selectedPostEncodeScriptIds,
|
||||
selectedPreEncodeChainIds,
|
||||
selectedPostEncodeChainIds,
|
||||
skipRip: forceSkipRip || context.skipRip === true ? true : undefined,
|
||||
metadata: {
|
||||
title: albumTitle,
|
||||
artist: albumArtist,
|
||||
@@ -727,6 +730,19 @@ export default function CdRipConfigPanel({
|
||||
const completedEncodeCount = selectedTrackRows.filter((track) => track.encodeStatus === 'done').length;
|
||||
const liveCurrentTrackPosition = normalizePosition(cdLive?.trackPosition);
|
||||
const lastState = String(context?.lastState || '').trim().toUpperCase();
|
||||
const failureStage = String(context?.stage || '').trim().toUpperCase();
|
||||
const normalizedLivePhase = String(cdLive?.phase || '').trim().toLowerCase();
|
||||
const normalizedStatusText = String(statusText || '').trim().toUpperCase();
|
||||
const isEncodingFailure = Boolean(
|
||||
isTerminalFailure
|
||||
&& (
|
||||
lastState === 'CD_ENCODING'
|
||||
|| failureStage === 'CD_ENCODING'
|
||||
|| context?.skipRip === true
|
||||
|| normalizedLivePhase === 'encode'
|
||||
|| normalizedStatusText.includes('CD_ENCODING')
|
||||
)
|
||||
);
|
||||
const preScriptNamesFromConfig = (Array.isArray(cdRipConfig?.preEncodeScripts) ? cdRipConfig.preEncodeScripts : [])
|
||||
.map((item) => String(item?.name || '').trim())
|
||||
.filter(Boolean);
|
||||
@@ -797,22 +813,44 @@ export default function CdRipConfigPanel({
|
||||
) : null}
|
||||
{isTerminalFailure ? (
|
||||
<div className="actions-row">
|
||||
{jobId ? (
|
||||
{isEncodingFailure ? (
|
||||
<Button
|
||||
label="Retry Rippen"
|
||||
icon="pi pi-refresh"
|
||||
severity="warning"
|
||||
onClick={() => onRetry && onRetry()}
|
||||
label="Encode starten"
|
||||
icon="pi pi-play"
|
||||
severity="success"
|
||||
onClick={() => handleStart({ forceSkipRip: true })}
|
||||
loading={busy}
|
||||
/>
|
||||
) : (
|
||||
<>
|
||||
{jobId ? (
|
||||
<Button
|
||||
label="Retry Rippen"
|
||||
icon="pi pi-refresh"
|
||||
severity="warning"
|
||||
onClick={() => onRetry && onRetry()}
|
||||
loading={busy}
|
||||
/>
|
||||
) : null}
|
||||
<Button
|
||||
label="Metadaten ändern"
|
||||
icon="pi pi-pencil"
|
||||
severity="secondary"
|
||||
onClick={() => onOpenMetadata && onOpenMetadata()}
|
||||
loading={busy}
|
||||
/>
|
||||
</>
|
||||
)}
|
||||
{isEncodingFailure ? (
|
||||
<Button
|
||||
label="Review starten"
|
||||
icon="pi pi-search"
|
||||
severity="info"
|
||||
outlined
|
||||
onClick={() => onRestartReview && onRestartReview()}
|
||||
loading={busy}
|
||||
/>
|
||||
) : null}
|
||||
<Button
|
||||
label="Metadaten ändern"
|
||||
icon="pi pi-pencil"
|
||||
severity="secondary"
|
||||
onClick={() => onOpenMetadata && onOpenMetadata()}
|
||||
loading={busy}
|
||||
/>
|
||||
</div>
|
||||
) : null}
|
||||
|
||||
@@ -1267,7 +1305,7 @@ export default function CdRipConfigPanel({
|
||||
disabled={busy}
|
||||
/>
|
||||
<Button
|
||||
label="Rip starten"
|
||||
label={context.skipRip === true ? 'Encode starten' : 'Rip starten'}
|
||||
icon="pi pi-play"
|
||||
onClick={handleStart}
|
||||
loading={busy}
|
||||
|
||||
Reference in New Issue
Block a user