summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Kocialkowski2022-11-12 20:01:59 +0100
committerPaul Kocialkowski2022-11-12 20:01:59 +0100
commitac0ae9e5b2d06037df03fe58590e9083b684f2e7 (patch)
treeadfb08487c94fd60a92f1d9092a51dcc5e9b3287
parent3b2aca59299233cdd06631b4660e6781ee61ba88 (diff)
capture-pipeline: Refactor processing and name handling
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
-rwxr-xr-xcapture-pipeline107
1 files changed, 37 insertions, 70 deletions
diff --git a/capture-pipeline b/capture-pipeline
index 44c532d..b0a1687 100755
--- a/capture-pipeline
+++ b/capture-pipeline
@@ -81,34 +81,19 @@ def audio_source_base(sequence, shot):
return base
def audio_source_name(sequence, shot, take):
- base = audio_source_base(sequence, shot)
- suffix = audio_source_suffix(shot)
name = shot_name(shot)
- index = 1
-
- path = os.path.join(base, name + suffix)
- if os.path.isfile(path):
- return name
if "index" in take:
- index = take["index"]
+ name += "-" + str(take["index"])
- name += "-" + str(index)
- path = os.path.join(base, name + suffix)
- if os.path.isfile(path):
- return name
-
- return None
+ return name
def audio_source_path(sequence, shot, take):
base = audio_source_base(sequence, shot)
name = audio_source_name(sequence, shot, take)
suffix = audio_source_suffix(shot)
- if name:
- return os.path.join(base, name + suffix)
-
- return None
+ return os.path.join(base, name + suffix)
def audio_output_suffix(shot):
extension = settings_item_entry(shot, "audio-extension") or settings_item_entry(shot, "audio-output-extension")
@@ -124,7 +109,6 @@ def audio_output_base(sequence, shot):
return base
def audio_output_name(sequence, shot, take, part):
- base = audio_output_base(sequence, shot)
name = shot_name(shot) + "-"
part_name_part = part_name(part)
@@ -145,24 +129,20 @@ def audio_output_prepare(sequence, shot, take, part):
except:
os.makedirs(base, exist_ok = True)
- if name:
- if name in sequence["audio-registry"]:
- if sequence["audio-registry"][name]["count"] > 1:
- sequence["audio-registry"][name]["index"] += 1
+ if name in sequence["audio-registry"]:
+ if sequence["audio-registry"][name]["count"] > 1:
+ sequence["audio-registry"][name]["index"] += 1
def audio_output_path(sequence, shot, take, part):
base = audio_output_base(sequence, shot)
name = audio_output_name(sequence, shot, take, part)
suffix = audio_output_suffix(shot)
- if name:
- if name in sequence["audio-registry"]:
- if sequence["audio-registry"][name]["count"] > 1:
- name += "-" + str(sequence["audio-registry"][name]["index"])
-
- return os.path.join(base, name + suffix)
+ if name in sequence["audio-registry"]:
+ if sequence["audio-registry"][name]["count"] > 1:
+ name += "-" + str(sequence["audio-registry"][name]["index"])
- return None
+ return os.path.join(base, name + suffix)
def audio_ffmpeg_command(sequence, shot, take, part):
source_path = audio_source_path(sequence, shot, take)
@@ -269,34 +249,20 @@ def video_source_base(sequence, shot):
return base
def video_source_name(sequence, shot, take):
- base = video_source_base(sequence, shot)
- suffix = video_source_suffix(shot)
name = shot_name(shot)
- index = 1
-
- path = os.path.join(base, name + suffix)
- if os.path.isfile(path):
- return name
if "index" in take:
index = take["index"]
+ name += "-" + str(index)
- name += "-" + str(index)
- path = os.path.join(base, name + suffix)
- if os.path.isfile(path):
- return name
-
- return None
+ return name
def video_source_path(sequence, shot, take):
base = video_source_base(sequence, shot)
name = video_source_name(sequence, shot, take)
suffix = video_source_suffix(shot)
- if name:
- return os.path.join(base, name + suffix)
-
- return None
+ return os.path.join(base, name + suffix)
def video_output_suffix(shot):
extension = settings_item_entry(shot, "video-extension") or settings_item_entry(shot, "video-output-extension")
@@ -312,7 +278,6 @@ def video_output_base(sequence, shot):
return base
def video_output_name(sequence, shot, take, part):
- base = video_output_base(sequence, shot)
name = shot_name(shot) + "-"
part_name_part = part_name(part)
@@ -333,24 +298,20 @@ def video_output_prepare(sequence, shot, take, part):
except:
os.makedirs(base, exist_ok = True)
- if name:
- if name in sequence["video-registry"]:
- if sequence["video-registry"][name]["count"] > 1:
- sequence["video-registry"][name]["index"] += 1
+ if name in sequence["video-registry"]:
+ if sequence["video-registry"][name]["count"] > 1:
+ sequence["video-registry"][name]["index"] += 1
def video_output_path(sequence, shot, take, part):
base = video_output_base(sequence, shot)
name = video_output_name(sequence, shot, take, part)
suffix = video_output_suffix(shot)
- if name:
- if name in sequence["video-registry"]:
- if sequence["video-registry"][name]["count"] > 1:
- name += "-" + str(sequence["video-registry"][name]["index"])
-
- return os.path.join(base, name + suffix)
+ if name in sequence["video-registry"]:
+ if sequence["video-registry"][name]["count"] > 1:
+ name += "-" + str(sequence["video-registry"][name]["index"])
- return None
+ return os.path.join(base, name + suffix)
def video_ffmpeg_command(sequence, shot, take, part):
source_path = video_source_path(sequence, shot, take)
@@ -554,21 +515,27 @@ def shot_register(sequence, shot):
def sequence_process(sequence):
if "label" in sequence:
- label = sequence["label"]
+ print("# sequence: " + sequence["label"] + "\n")
- print("# sequence: " + label + "\n")
+ for shot in sequence["shots"]:
+ shot_process(sequence, shot)
- shots = sequence["shots"]
+ print("")
- for shot in shots:
+def sequence_register(sequence):
+ for shot in sequence["shots"]:
shot_register(sequence, shot)
- for shot in shots:
- shot_process(sequence, shot)
+# capture
- print("")
+def capture_process(sequences):
+ for sequence in sequences:
+ sequence_register(sequence)
-def main():
+ for sequence in sequences:
+ sequence_process(sequence)
+
+def capture_main():
global settings
if len(sys.argv) < 2:
@@ -578,11 +545,11 @@ def main():
stream = open(path, 'r')
data = yaml.load(stream, Loader = yaml.SafeLoader)
+ stream.close()
settings = data["settings"]
- for sequence in data["sequences"]:
- sequence_process(sequence)
+ capture_process(data["sequences"])
if __name__ == "__main__":
- main()
+ capture_main()