Для того, чтобы программно добавить новый стрип в Sequence Editor, необходимо знать номер канала для его размещения. Получить номер свободного канала в Sequence Editor через Blender Python API можно пройдя по списку секвенций, уже размещенных в Sequence Editor.
Список уже имеющихся в Sequence Editor секвенций можно получить следующим образом:
1 2 3 4 |
bpy.context.scene.sequence_editor.sequences_all[:] # [bpy.data.scenes['Scene'].sequence_editor.sequences_all["image.png"], # bpy.data.scenes['Scene'].sequence_editor.sequences_all["video.mp4"] ... |
В каждой секвенции есть указание на канал, на котором она размещена:
1 2 3 |
bpy.context.scene.sequence_editor.sequences_all[0].channel # 3 |
Следовательно, для того, чтобы получить номер свободного канала, нужно взять максимальный номер из уже занятых каналов и прибавить к нему 1:
1 2 3 |
max((seq.channel for seq in bpy.context.scene.sequence_editor.sequences_all)) + 1 # 6 |
Канал с таким номером гарантированно свободный и на него можно загружать новый стрип.