import bpy def all_speakers(scene: bpy.types.Scene) -> list[bpy.types.Object]: return [obj for obj in scene.objects if obj.type == 'SPEAKER'] def solo_speakers(scene: bpy.types.Scene, solo_group: list[bpy.types.Object]): """ Mutes all Objects not in `solo_group` and ensures all objects in this group are not muted. """ for speaker in all_speakers(scene): assert type(speaker.data) is bpy.types.Speaker if speaker in solo_group: speaker.data.muted = False else: speaker.data.muted = True speaker.data.update_tag() def unmute_all_speakers(scene): """ Unmutes all speakers. """ for speaker in all_speakers(scene): assert type(speaker.data) is bpy.types.Speaker speaker.data.muted = False speaker.data.update_tag()