1

我正在尝试做的事情:在我的 Launchpad 的 Session 页面中 添加第四种模式,我们称之为——也SendsMode就是第四次点击“Stop-Solo-Mute”按钮时,它会循环进入SendsMode.

在这种模式下,底部的按钮将打开/关闭 Session Ring 中每个轨道的发送。

我现在在哪里: 我的功能代码可以添加SendsMode,并且可以完美地用于一排发送。它随着会话环的移动而变化。

我需要帮助: 我不能让它一次发送多个(按钮变为空白,但按下时不做任何事情,不反映 Ableton 中所做值的变化)。

完整代码在这里:https ://github.com/jonniepeller/launchpad-mini-mk3-augmented

相关位是将以下内容添加到_create_stop_solo_mute_modes

        self._stop_solo_mute_modes.add_mode(
            u"send_controls",
            AddLayerMode(self._mixer, Layer(send_controls=bottom_x_rows)),
            cycle_mode_button_color=u"Mixer.SendControls",
        )
        self._stop_solo_mute_modes.selected_mode = u"send_controls"
        self._stop_solo_mute_modes.set_enabled(True)
4

1 回答 1

1

_set_send_controlsin Novation 的mixer组件不适合多次发送——它是为每个音轨构建和使用的,例如静音、独奏、停止。

我实现了自己的版本,MixerComponentNovationBase使用了他们为 Launch Control XL 提供的改编版本。

这是解决我的问题的关键位:

    def set_send_controls(self, controls):
        num_sends = len(self._song.return_tracks)
        for channel_idx, channel_strip in enumerate(self._channel_strips):
            send_controls = []
            for send_idx in range(num_sends):
                if controls:
                    try:
                        button = controls.get_button(send_idx, channel_idx)
                    except:
                        logger.info("Tried getting a button out of range")
                    send_controls.append(button)
            channel_strip.set_send_controls(send_controls)
于 2021-12-31T08:07:04.033 回答