diff --git a/DeepDrftManager/Components/Pages/Tracks/BatchEdit.razor b/DeepDrftManager/Components/Pages/Tracks/BatchEdit.razor index 38ac5ed..2071658 100644 --- a/DeepDrftManager/Components/Pages/Tracks/BatchEdit.razor +++ b/DeepDrftManager/Components/Pages/Tracks/BatchEdit.razor @@ -72,6 +72,7 @@ @@ -337,6 +338,14 @@ var album = string.IsNullOrWhiteSpace(_albumName) ? null : _albumName; var genre = string.IsNullOrWhiteSpace(_genre) ? null : _genre; + // For single-track media (Session/Mix) the track name is derived from the Release Name — + // no separate Track Name editor is shown. Sync here so changes to the Release Name always + // carry through to the stored track name. + if (MediumRules.CardinalityOf(_medium).IsSingleTrack && _tracks.Count > 0) + { + _tracks[0].TrackName = _albumName; + } + _imagePath = null; // Clear any stale uploaded path from a prior partial attempt. _saving = true; _processedCount = 0; diff --git a/DeepDrftManager/Components/Pages/Tracks/BatchTrackDetail.razor b/DeepDrftManager/Components/Pages/Tracks/BatchTrackDetail.razor index da6c77f..0933dda 100644 --- a/DeepDrftManager/Components/Pages/Tracks/BatchTrackDetail.razor +++ b/DeepDrftManager/Components/Pages/Tracks/BatchTrackDetail.razor @@ -5,14 +5,17 @@ else { - + @if (ShowTrackName) + { + + } @if (SelectedTrack.Id.HasValue) { @@ -46,6 +49,12 @@ else [Parameter] public BatchRowModel? SelectedTrack { get; set; } [Parameter] public bool Disabled { get; set; } [Parameter] public EventCallback TrackNameChanged { get; set; } + /// + /// When false (single-track Session/Mix), the Track Name field is suppressed — the name is + /// derived from the Release Name by the parent form and never entered independently. + /// Defaults to true so the Cut multi-track path is unchanged. + /// + [Parameter] public bool ShowTrackName { get; set; } = true; private static string FormatBytes(long bytes) { diff --git a/DeepDrftManager/Components/Pages/Tracks/BatchUpload.razor b/DeepDrftManager/Components/Pages/Tracks/BatchUpload.razor index 3611188..129bcc0 100644 --- a/DeepDrftManager/Components/Pages/Tracks/BatchUpload.razor +++ b/DeepDrftManager/Components/Pages/Tracks/BatchUpload.razor @@ -59,10 +59,7 @@ @if (_tracks.Count > 0) { - + @* Track name is derived from the Release Name for Session/Mix — no separate input. *@ Selected: @(_tracks[0].WavFile?.Name ?? "—") } @@ -247,6 +244,13 @@ return; } + // For single-track media (Session/Mix) the track name is derived from the Release Name — + // no separate Track Name input is shown. Sync here so the stored name always matches. + if (MediumRules.CardinalityOf(_medium).IsSingleTrack && _tracks.Count > 0) + { + _tracks[0].TrackName = _albumName; + } + _imagePath = null; // Clear any stale uploaded path from a prior partial attempt. _uploading = true; _uploadedCount = 0;