Füge Überprüfung hinzu, um Tracks mit nur einem Hot Cue zu überspringen und aktualisiere die Ausgabe entsprechend. Benenne den ersten Hot Cue "1.1Bars" in "Start" um.

This commit is contained in:
2025-07-21 11:55:22 +02:00
parent 9dfcfce745
commit 6dc635762c

24
main.py
View File

@@ -62,6 +62,14 @@ def copy_hot_cues_to_memory_cues(xml_file_path, output_file_path=None, backup=Tr
print(f"Track '{track_artist} - {track_title}' übersprungen - bereits {len(memory_cues_in_track)} Memory Cues vorhanden")
tracks_skipped += 1
continue
# Prüfen, ob nur ein Hot Cue vorhanden ist
if len(hot_cues_in_track) == 1:
track_artist = track.get("Artist", "Unbekannt")
track_title = track.get("Name", "Unbekannt")
print(f"Track '{track_artist} - {track_title}' übersprungen - nur 1 Hot Cue vorhanden")
tracks_skipped += 1
continue
tracks_processed += 1
@@ -75,6 +83,13 @@ def copy_hot_cues_to_memory_cues(xml_file_path, output_file_path=None, backup=Tr
# Hot Cues nach Start-Zeit sortieren, um den ersten zu identifizieren
hot_cues_sorted = sorted(hot_cues_in_track, key=lambda cue: float(cue.get("Start", "0")))
# Spezialbehandlung: Ersten Hot Cue mit Namen "1.1Bars" in "Start" umbenennen
if hot_cues_sorted and hot_cues_sorted[0].get("Name") == "1.1Bars":
hot_cues_sorted[0].set("Name", "Start")
first_hot_cue_start = hot_cues_sorted[0].get("Start", "N/A")
first_hot_cue_num = hot_cues_sorted[0].get("Num", "N/A")
print(f"Hot Cue {first_hot_cue_num} (Start: {first_hot_cue_start}) von '1.1Bars' zu 'Start' umbenannt")
for i, hot_cue in enumerate(hot_cues_sorted):
start_time = hot_cue.get("Start")
hot_cue_num = hot_cue.get("Num", "N/A")
@@ -96,12 +111,7 @@ def copy_hot_cues_to_memory_cues(xml_file_path, output_file_path=None, backup=Tr
# Num auf -1 setzen (Memory Cue)
memory_cue.set("Num", "-1")
# Spezialbehandlung: Ersten Cue mit Namen "1.1Bars" in "Start" umbenennen
if i == 0 and hot_cue_name == "1.1Bars":
memory_cue.set("Name", "Start")
print(f"Hot Cue {hot_cue_num} (Start: {start_time}) als Memory Cue kopiert und Name von '1.1Bars' zu 'Start' geändert")
else:
print(f"Hot Cue {hot_cue_num} (Start: {start_time}) als Memory Cue kopiert")
print(f"Hot Cue {hot_cue_num} (Start: {start_time}) als Memory Cue kopiert")
# Farb-Attribute entfernen (Memory Cues haben keine Farben)
for color_attr in ["Red", "Green", "Blue"]:
@@ -127,7 +137,7 @@ def copy_hot_cues_to_memory_cues(xml_file_path, output_file_path=None, backup=Tr
print(f"Kopierte Hot Cues: {total_hot_cues_copied}")
print(f"Übersprungene Hot Cues: {total_hot_cues_skipped}")
if tracks_skipped > 0:
print("(Übersprungene Tracks: bereits mehr als 1 Memory Cue vorhanden)")
print("(Übersprungene Tracks: bereits mehr als 1 Memory Cue vorhanden oder nur 1 Hot Cue)")
if total_hot_cues_skipped > 0:
print("(Übersprungene Hot Cues: Memory Cue an gleicher Position bereits vorhanden)")
except Exception as e: