diff --git a/main.py b/main.py index 6bd61d8..4619cdf 100644 --- a/main.py +++ b/main.py @@ -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: