START saves every song every week (old one parked z/zz), logs SAVED/PARKED on the key; SONG KEYS no longer warns ONLY <key>; install.sh and the location kit ship ableton_start.py (NA had the 10/22 copy)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-27 11:57:14 -04:00
co-authored by Claude Opus 5.5
parent caeee9179b
commit e9c2ef0b6c
7 changed files with 30 additions and 37 deletions
+7 -8
View File
@@ -5,8 +5,8 @@ does them by hand on Mondays. readiness.py sends this file to the Tracks Mac and
every special service (First / Together Tuesday, Morning Worship, ...).
1 the previous weekend set's songs go to Finished Songs as "TITLE [KEY]": the song group with its
arrangement markers, lighting cues and guide inside it, the audio copied in. A song that changed parks
the old folder as "zTITLE [KEY]" first; an unchanged one is left as it is.
arrangement markers, lighting cues and guide inside it, the audio copied in. Every song, every week:
the old folder is parked as "zTITLE [KEY]" ("zzTITLE [KEY]" when that is taken) first.
2 each new set ("261101 NA Project", "261103 NA First Tuesday Project") starts from the newest weekend
set: its songs, pads, Waves Tune cues and marker, guide and lighting clips go; the dedicated groups,
the numbered locators (with their computer-key mappings), the loop locators and the loop cues stay.
@@ -604,7 +604,7 @@ def helper_copy(src, gid, new_id, keep_from, keep_to, name):
def export_songs(prev_path, cfg, status, log):
"""Step 1: every song of the previous weekend set to Finished Songs (new or changed ones only)."""
"""Step 1: every song of the previous weekend set to Finished Songs, the old version parked."""
root = load(prev_path)
ls = root.find("LiveSet")
proj = os.path.dirname(prev_path)
@@ -623,11 +623,9 @@ def export_songs(prev_path, cfg, status, log):
continue
mine = stems_signature(_wrap(fam), proj)
versions = list(saved_versions(cfg, dest_dir, title))
# Saved already, under this name or a near one ("CAN'T HELP BUT PRAISE LM [Eb]" for a group called
# "CAN'T HELP BUT PRAISE"), parked or not: then it came from there and is left as it is.
if any(sig == mine for _, sig in versions):
continue
# Changed: it replaces the version it was made from (most of the same audio, same key), else a new name.
# Every song is saved again every week (user, 2026-10-27): it replaces the version it was made from (most
# of the same audio, same key: "CAN'T HELP BUT PRAISE LM [Eb]" for a group called "CAN'T HELP BUT PRAISE"),
# else "TITLE [KEY]"; the old folder is parked as "zTITLE [KEY]" ("zz..." when that is taken).
def overlap(sig):
a, b = set(sig), set(mine)
return len(a & b) / float(len(a | b) or 1)
@@ -684,6 +682,7 @@ def export_songs(prev_path, cfg, status, log):
os.rename(building, dest)
index[folder.upper()] = folder
done.append(folder)
log.append("SAVED %s" % folder)
if files.missing:
log.append("%s: %d FILES MISSING" % (folder, len(files.missing)))
return done