diff options
| author | Alex Schofield <git@ajschof.me> | 2025-02-27 10:43:57 +0000 |
|---|---|---|
| committer | Alex Schofield <git@ajschof.me> | 2025-02-27 10:43:57 +0000 |
| commit | 96bc8f1574fb5b7a570daa9ad27b3dd960af3818 (patch) | |
| tree | bfe2d0f3c46352b4d0e069f3d819b8bf9932d986 | |
| parent | 3ca25542e4c45577f520eeb7d217ffe379fec920 (diff) | |
| download | rb-leave-my-bpm-alone-main.tar.gz rb-leave-my-bpm-alone-main.zip | |
| -rw-r--r-- | run.py | 15 |
1 files changed, 14 insertions, 1 deletions
@@ -1,13 +1,26 @@ import xml.etree.ElementTree as xml import sys +import os def main(file): + processed_only = os.environ.get("PROCESSED_ONLY", "false").lower() == 'true' collection = xml.parse(file) root = collection.getroot() - tracks = [] + processed_keys = set() + for node in root.findall(".//NODE"): + name = node.get("Name") + if name is not None and "** Processed" in str(name): + for track_ref in node.findall("TRACK"): + key = track_ref.get("Key") + if key: + processed_keys.add(key) + break + tracks = [] for track in root.iter("TRACK"): + if processed_only and track.get("TrackID") not in processed_keys: + continue tempos = track.findall("TEMPO") if len(tempos) > 1: bpms = {float(tempo.get("Bpm", "0")) for tempo in tempos} |
