diff --git a/DeepDrftManager/Components/Pages/Tracks/BatchEdit.razor b/DeepDrftManager/Components/Pages/Tracks/BatchEdit.razor
index 46506c4..09b1609 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 17cf3d7..76ce17d 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;