コード例 #1
0
 def _recolor_mixer_track(self, index):
     if index != 0:
         for i in range(channels.channelCount()):
             if channels.getTargetFxTrack(i) == index:
                 mixer.setTrackColor(index, channels.getChannelColor(i))
                 return
     mixer.setTrackColor(index, -10261391)
コード例 #2
0
 def _next_free_mixer_track(self):
     last_track = 0
     for i in range(channels.channelCount()):
         if i == channels.selectedChannel():
             # Skip the assignment for the channel we are assigning.
             continue
         last_track = max(last_track, channels.getTargetFxTrack(i))
     return last_track + 1
コード例 #3
0
 def sync_current_color(unused_param_value):
     """Sync channel color"""
     selected = channels.selectedChannel()
     if selected < 0:
         return
     mixer_index = channels.getTargetFxTrack(selected)
     if mixer_index <= 0:
         return
     color = channels.getChannelColor(selected)
     mixer.setTrackColor(mixer_index, color)
コード例 #4
0
 def sync_all_colors(unused_param_value):
     """Sync all colors"""
     num_channels = channels.channelCount()
     for i in range(num_channels):
         color = channels.getChannelColor(i)
         mixer_index = channels.getTargetFxTrack(i)
         if mixer_index <= 0:
             # Nothing to sync
             continue
         mixer.setTrackColor(mixer_index, color)
コード例 #5
0
 def OnUpdateTargetMixerTrack(self, delta):
     max_track_idx = mixer.trackCount() - 2   # One of the track is a control track
     prev_track = channels.getTargetFxTrack(channels.selectedChannel())
     target_track = self.circular(0, max_track_idx, prev_track + delta)
     # Remember to unset the name of the previous pointed to track.
     mixer.setTrackNumber(target_track, midi.curfxMinimalLatencyUpdate)
     mixer.linkTrackToChannel(midi.ROUTE_ToThis)
     channel_idx = self._channel_with_route_to_mixer_track(prev_track)
     if channel_idx < 0:
         mixer.setTrackName(prev_track, '')
     elif mixer.getTrackName(prev_track) == mixer.getTrackName(target_track):
         mixer.setTrackName(prev_track, channels.getChannelName(channel_idx))
     if target_track == 0:
         mixer.setTrackName(target_track, '')
コード例 #6
0
def mixerTrackSelect(channelNum):
	mixer.deselectAll()
	mixer.selectTrack(channels.getTargetFxTrack(channelNum))
コード例 #7
0
 def _channel_with_route_to_mixer_track(self, track):
     max_channel = channels.channelCount()
     for i in range(max_channel):
         if channels.getTargetFxTrack(i) == track:
             return i
     return -1
コード例 #8
0
 def OnMixerTrackKnobPress(self):
     if not channels.getTargetFxTrack(channels.selectedChannel()):
         track = self._next_free_mixer_track()
         self.OnUpdateTargetMixerTrack(track)
     else:
         self._toggle_all_mixer_plugins()
コード例 #9
0
 def _toggle_all_mixer_plugins(self):
     mixer_track = channels.getTargetFxTrack(channels.selectedChannel())
     mixer.setTrackNumber(mixer_track)
コード例 #10
0
 def get_target_mixer_track():
     track = channels.getTargetFxTrack(channels.selectedChannel())
     return '%d' % track if track > 0 else 'MASTER'
コード例 #11
0
 def selectMixerTrackChannel(self, track_index):
     current = channels.channelNumber()
     count = channels.channelCount()
     return self.cycleChannels(
         current, count,
         lambda i: channels.getTargetFxTrack(i) == track_index)