def selected(self): """ Whether CC is selected. :type: bool See also -------- CC.infos For maximum efficiency when querying several properties of a CC. """ return bool( RPR.MIDI_GetCC(self.parent.id, self.index, 0, 0, 0, 0, 0, 0, 0)[3])
def channel_message(self): """ CC channel message. :type: int See also -------- CC.infos For maximum efficiency when querying several properties of a CC. """ return RPR.MIDI_GetCC(self.parent.id, self.index, 0, 0, 0, 0, 0, 0, 0)[6]
def messages(self): """ CC messages. :type: 2-list of int See also -------- CC.infos For maximum efficiency when querying several properties of a CC. """ return RPR.MIDI_GetCC(self.parent.id, self.index, 0, 0, 0, 0, 0, 0, 0)[-2:]
def infos(self): """ Return infos about CC. Keys are {"selected", "muted", "position", "channel", "channel_message", "messages"}. :type: dict """ res = list( RPR.MIDI_GetCC(self.parent.id, self.index, 0, 0, 0, 0, 0, 0, 0))[3:] res[0] = bool(res[0]) res[1] = bool(res[1]) res[2] = self.parent.ppq_to_time(res[2]) res[-2] = res[-2], res[-1] res.pop() keys = ("selected", "muted", "position", "channel_message", "channel", "messages") return {k: r for k, r in zip(keys, res)}