- @if (Cuesheet.Tracks.Count > 0)
+ @if (Cuesheet?.Tracks.Count > 0)
{
@@ -145,138 +158,137 @@ along with Foobar. If not, see
@_localizer["Begin"]
@_localizer["End"]
@_localizer["Length"]
- @if (_sessionStateContainer.CurrentViewMode == ViewMode.ViewModeFull)
- {
- @_localizer["Hints"]
- }
- @for (int i = 0; i < Cuesheet.Tracks.Count; i++)
+ @if (Cuesheet != null)
{
- var track = Cuesheet.Tracks.ElementAt(i);
- @if ((i != 0) && (_sessionStateContainer.CurrentViewMode == ViewMode.ViewModeFull))
- {
-
-
- @if (track.IsLinkedToPreviousTrack)
- {
-
- }
- else
- {
-
- }
-
-
- }
-
- @if (TrackSelectionVisible)
- {
-
-
-
-
-
- }
- @switch (_sessionStateContainer.CurrentViewMode)
+
+ @if ((track != Cuesheet?.Tracks.FirstOrDefault()) && (_sessionStateContainer.CurrentViewMode == ViewMode.ViewModeFull))
{
- case ViewMode.ViewModeRecord:
-
-
-
- @track.Position
- break;
- case ViewMode.ViewModeFull:
- case ViewMode.ViewModeImport:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ @if (track.IsLinkedToPreviousTrack)
+ {
+
+ }
+ else
+ {
+
+ }
+
+ }
+
+ @if (TrackSelectionVisible)
+ {
-
-
+
+
- break;
- }
-
-
-
-
+ }
+ @switch (_sessionStateContainer.CurrentViewMode)
+ {
+ case ViewMode.ViewModeRecord:
+
+
+
+ @track.Position
+ break;
+ case ViewMode.ViewModeFull:
+ case ViewMode.ViewModeImport:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ break;
+ }
+
+
+
@if (context.Item.Disambiguation != null)
{
@@ -289,12 +301,10 @@ along with Foobar. If not, see
-
-
-
-
-
-
+
+
+
+
@if (context.Item.Disambiguation != null)
{
@@ -307,80 +317,85 @@ along with Foobar. If not, see
-
-
- @switch (_sessionStateContainer.CurrentViewMode)
- {
- case ViewMode.ViewModeRecord:
-
@track.Begin
-
@track.End
-
@track.Length
- break;
- case ViewMode.ViewModeFull:
- case ViewMode.ViewModeImport:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ @switch (_sessionStateContainer.CurrentViewMode)
+ {
+ case ViewMode.ViewModeRecord:
+
@track.Begin
+
@track.End
+
@track.Length
+ break;
+ case ViewMode.ViewModeFull:
+ case ViewMode.ViewModeImport:
+
+
+ @if (Cuesheet?.GetSplitPointAtTrack(track) != null)
+ {
+
+
+
+
+
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
- @if (_sessionStateContainer.CurrentViewMode == ViewMode.ViewModeFull)
- {
+
- @((MarkupString)GetMarkupString(track.GetValidationErrors(validationMessageLocalizer)))
+
+
+
+
+
+
+
- }
- break;
- }
-
+ break;
+ }
+
+
}
-}
+
@code {
- //TODO: Validation for autocomplete and focus for autocomplete doesn't currently work
ModalDialog? modalDialog;
EditTrackModal? modalTrackEdit;
List