blob: 4b4f0114b015323290cbd811c8135ba2cd24ab52 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
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()
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}
if len(bpms) > 1:
name = track.get("Name")
tracks.append(name)
for name in tracks:
print(name)
if __name__ == "__main__":
main(str(sys.argv[1]))
|