Exemplo n.º 1
0
    def muteTrackCB(self, msg):
        """Called when a /live/mute message is received.

        Messages:
        /live/mute     (int track)   Mutes track number track
        """
        ty = msg[0] == '/live/return/mute' and 1 or 0
        track = msg[2]

        if len(msg) == 4:
            if msg[3] == 1:
                if ty == 1:
                    status = LiveUtils.getSong().return_tracks[track].mute
                else:
                    status = LiveUtils.getTrack(track).mute
                if status == 1:
                    LiveUtils.unmuteTrack(track, ty)
                elif status == 0:
                    LiveUtils.muteTrack(track, ty)
            else:
                LiveUtils.unmuteTrack(track, ty)

        elif len(msg) == 3:
            if ty == 1:
                status = LiveUtils.getSong().return_tracks[track].mute
                self.oscServer.sendOSC("/return/mute", (track, int(status)))

            else:
                status = LiveUtils.getTrack(track).mute
                self.oscServer.sendOSC("/mute", (track, int(status)))
Exemplo n.º 2
0
    def mixert_changestate(self, type, tid, track, r=0):
        val = eval("track." + type)
        #self.oscServer.sendOSC("/NSLOG_REPLACE", ("mixert_changestate"))

        if r == 1:
            self.oscServer.sendOSC('/return/' + type, (tid, int(val)))
        else:
            self.oscServer.sendOSC('/track/' + type, (tid, int(val)))
            if type == "arm":
                if val == 0:
                    if LiveUtils.getTrack(tid).playing_slot_index != -2:
                        cid = LiveUtils.getTrack(tid).playing_slot_index
                        self.oscServer.sendOSC('/clip/playing_status',
                                               (tid, cid, 1))
                    else:
                        pass

                elif val == 1:
                    if LiveUtils.getTrack(tid).playing_slot_index != -2:
                        cid = LiveUtils.getTrack(tid).playing_slot_index
                        if LiveUtils.getSong(
                        ).overdub == 1 or LiveUtils.getTrack(
                                tid).has_midi_input == 0:
                            self.oscServer.sendOSC('/clip/playing_status',
                                                   (tid, cid, 3))

                        else:
                            self.oscServer.sendOSC('/clip/playing_status',
                                                   (tid, cid, 1))

                    else:
                        pass
            else:
                pass
Exemplo n.º 3
0
    def soloTrackCB(self, msg):
        """Called when a /live/solo message is received.

        Messages:
        /live/solo     (int track)   Solos track number track
        """
        ty = msg[0] == '/live/return/solo' and 1 or 0
        track = msg[2]

        if len(msg) == 4:
            if msg[3] == 1:
                status = 0
                if ty == 1:
                    status = LiveUtils.getSong().return_tracks[track].solo
                    if LiveUtils.getSong().exclusive_solo == 1:
                        i = 0
                        for tr in LiveUtils.getSong().return_tracks:
                            LiveUtils.unsoloTrack(i, ty)
                            i = i + 1
                else:
                    trk = LiveUtils.getTrack(track)
                    status = trk.solo
                    #trk.color = 12410829
                    if LiveUtils.getSong().exclusive_solo == 1:
                        i = 0
                        all_tracks = LiveUtils.getTracks()
                        for tr in all_tracks:
                            LiveUtils.unsoloTrack(i, ty)

                            i = i + 1

                if status == 1:
                    LiveUtils.unsoloTrack(track, ty)
                elif status == 0:
                    LiveUtils.soloTrack(track, ty)
            elif msg[3] == 2:
                message = "solo track nr: " + str(track)

                tr = LiveUtils.getTrack(track)
                if tr.can_be_armed:
                    LiveUtils.soloTrack(track)
            else:
                LiveUtils.unsoloTrack(track, ty)

        elif len(msg) == 3:
            if ty == 1:
                status = LiveUtils.getSong().return_tracks[track].solo
                self.oscServer.sendOSC("/return/solo", (track, int(status)))

            else:
                status = LiveUtils.getTrack(track).solo
                self.oscServer.sendOSC("/solo", (track, int(status)))
Exemplo n.º 4
0
    def monitorTrackCB(self, msg):
        """Called when a /live/monitor message is received.

        Messages:
        /live/monitor     (int track)   monitors track number track
        """
        track = msg[2]
        status = msg[3]
        if len(msg) == 4:
            LiveUtils.getTrack(track).current_monitoring_state = status
        elif len(msg) == 3:
            status = LiveUtils.getTrack(track).current_monitoring_state
            self.oscServer.sendOSC("/monitor", (track, int(status)))
Exemplo n.º 5
0
    def trackJump(self, msg):
        """Called when a /live/track/jump message is received.

        Messages:
        /live/track/jump     (int track, float beats)   Jumps in track's currently running session clip by beats
        """
        if len(msg) == 4:
            track = msg[2]
            beats = msg[3]
            track = LiveUtils.getTrack(track)
            track.jump_in_running_session_clip(beats)
Exemplo n.º 6
0
    def foldTrackCB(self, msg):
        tr = msg[2]

        track = LiveUtils.getTrack(tr)
        if track.is_foldable == 1:
            if track.fold_state == 0:
                track.fold_state = 1
            else:
                track.fold_state = 0
        else:
            pass
Exemplo n.º 7
0
    def armTrackCB(self, msg):
        """Called when a /live/arm message is received.

        Messages:
        /live/arm     (int track)   (int armed/disarmed)     Arms track number track
        """
        track = msg[2]

        if len(msg) == 4:
            trk = LiveUtils.getTrack(track)
            if trk.can_be_armed:
                if msg[3] == 1:
                    status = LiveUtils.getTrack(track).arm

                    if LiveUtils.getSong().exclusive_arm == 1:
                        i = 0
                        all_tracks = LiveUtils.getTracks()
                        for tr in all_tracks:
                            if tr.can_be_armed:
                                LiveUtils.disarmTrack(i)
                            else:
                                pass
                            i = i + 1

                    if status == 1:
                        LiveUtils.disarmTrack(track)
                    elif status == 0:
                        LiveUtils.armTrack(track)
                elif msg[3] == 2:

                    tr = LiveUtils.getTrack(track)
                    if tr.can_be_armed:
                        LiveUtils.armTrack(track)
                else:
                    LiveUtils.disarmTrack(track)
            else:
                pass
        # Return arm status
        elif len(msg) == 3:
            status = LiveUtils.getTrack(track).arm
            self.oscServer.sendOSC("/arm", (track, int(status)))
Exemplo n.º 8
0
    def stopTrackCB(self, msg):
        """Called when a /live/stop/track message is received.

        Messages:
        /live/stop/track     (int track, int clip)   Stops track number track
        """

        i = msg[2]
        LiveUtils.stopTrack(i)
        track = LiveUtils.getTrack(i)
        if track.playing_slot_index != -2:
            if track.playing_slot_index != -1:
                self.oscServer.sendOSC('/track/stop', (1, i))
            else:
                pass
        else:
            pass
Exemplo n.º 9
0
 def renametrackCB(self, msg):
     trackNumber = msg[2]
     new_name = msg[3]
     track = LiveUtils.getTrack(trackNumber).name = new_name