Пример #1
0
def collect_devices(track_or_chain, nesting_level=0):
    chain_devices = track_or_chain.devices if liveobj_valid(track_or_chain) else []
    devices = []
    for device in chain_devices:
        devices.append((device, nesting_level))
        if device.can_have_drum_pads and device.view.selected_drum_pad:
            devices.append((device.view.selected_drum_pad, nesting_level + 1))
        devices.extend(collect_devices(nested_device_parent(device), nesting_level=nesting_level + 1))

    return devices
Пример #2
0
def collect_devices(component, track_or_chain, nesting_level=0):
    chain_devices = track_or_chain.devices if liveobj_valid(
        track_or_chain) else []
    devices = []
    for device in chain_devices:
        devices.append((device, nesting_level))
        if is_rack_with_bank_2(device):
            bank_2_device = RackBank2Device(rack_device=device)
            component.register_disconnectable(bank_2_device)
            devices.append((bank_2_device, nesting_level + 1))
        else:
            if device.can_have_drum_pads:
                if device.view.selected_drum_pad:
                    devices.append(
                        (device.view.selected_drum_pad, nesting_level + 1))
            devices.extend(
                collect_devices(component, (nested_device_parent(device)),
                                nesting_level=(nesting_level + 1)))

    return devices