function headshift() local inst = mc.mcGetInstance() --get tool numbers local NewTool2 = mc.mcToolGetSelected(inst) local OldTool2 = mc.mcToolGetCurrent(inst) --get max tools local ATCMaxTlsReg = mc.mcRegGetHandle(inst, 'iRegs0/ATCMaxTools') local ATCMaxTlsVal = mc.mcRegGetValue(ATCMaxTlsReg) --shift values all from router --camera local CamSftXReg = mc.mcRegGetHandle(inst, 'iRegs0/CamShiftX') local CamSftYReg = mc.mcRegGetHandle(inst, 'iRegs0/CamShiftY') local CamSftXVal = mc.mcRegGetValue(CamSftXReg) local CamSftYVal = mc.mcRegGetValue(CamSftYReg) --tk standard local TKSSftXReg = mc.mcRegGetHandle(inst, 'iRegs0/TKSShiftX') local TKSSftYReg = mc.mcRegGetHandle(inst, 'iRegs0/TKSShiftY') local TKSSftXVal = mc.mcRegGetValue(TKSSftXReg) local TKSSftYVal = mc.mcRegGetValue(TKSSftYReg) --tk oscillating local TKOSftXReg = mc.mcRegGetHandle(inst, 'iRegs0/TKOShiftX') local TKOSftYReg = mc.mcRegGetHandle(inst, 'iRegs0/TKOShiftY') local TKOSftXVal = mc.mcRegGetValue(TKOSftXReg) local TKOSftYVal = mc.mcRegGetValue(TKOSftYReg) --Cam shifts --cam to router if (OldTool2 == 100) and (NewTool2 <= ATCMaxTlsVal) then -- local TempPosX = mc.mcAxisGetPos(inst, 0) -- local TempPosY = mc.mcAxisGetPos(inst, 1) -- local CamRtShftPosX = (TempPosX - CamSftXVal) -- local CamRtShftPosY = (TempPosY - CamSftYVal) -- mc.mcAxisSetPos(inst, 0, CamRtShftPosX) -- mc.mcAxisSetPos(inst, 1, CamRtShftPosY) mc.mcCntlSetPoundVar(inst, mc.SV_HEAD_SHIFT_X, 0.000) mc.mcCntlSetPoundVar(inst, mc.SV_HEAD_SHIFT_Y, 0.000) end --cam to tks if (OldTool2 == 100) and (NewTool2 == 101) then -- local TempPosX = mc.mcAxisGetPos(inst, 0) -- local TempPosY = mc.mcAxisGetPos(inst, 1) -- local CamTKSShftPosX = (TempPosX + (TKSSftXVal - CamSftXVal)) -- local CamTKSShftPosY = (TempPosY + (TKSSftYVal - CamSftYVal)) -- mc.mcAxisSetPos(inst, 0, CamTKSShftPosX) -- mc.mcAxisSetPos(inst, 1, CamTKSShftPosY) mc.mcCntlSetPoundVar(inst, mc.SV_HEAD_SHIFT_X, TKSSftXVal) mc.mcCntlSetPoundVar(inst, mc.SV_HEAD_SHIFT_Y, TKSSftYVal) end --cam to tko if (OldTool2 == 100) and (NewTool2 == 102) then -- local TempPosX = mc.mcAxisGetPos(inst, 0) -- local TempPosY = mc.mcAxisGetPos(inst, 1) -- local CamTKOShftPosX = (TempPosX + (TKOSftXVal - CamSftXVal)) -- local CamTKOShftPosY = (TempPosY + (TKOSftYVal - CamSftYVal)) -- mc.mcAxisSetPos(inst, 0, CamTKOShftPosX) -- mc.mcAxisSetPos(inst, 1, CamTKOShftPosY) mc.mcCntlSetPoundVar(inst, mc.SV_HEAD_SHIFT_X, TKOSftXVal) mc.mcCntlSetPoundVar(inst, mc.SV_HEAD_SHIFT_Y, TKOSftYVal) end --Router shifts --rout to cam if (OldTool2 <= ATCMaxTlsVal) and (NewTool2 == 100) then -- local TempPosX = mc.mcAxisGetPos(inst, 0) -- local TempPosY = mc.mcAxisGetPos(inst, 1) -- local CamShftPosX = (TempPosX + CamSftXVal) -- local CamShftPosY = (TempPosY + CamSftYVal) -- mc.mcAxisSetPos(inst, 0, CamShftPosX) -- mc.mcAxisSetPos(inst, 1, CamShftPosY) mc.mcCntlSetPoundVar(inst, mc.SV_HEAD_SHIFT_X, CamSftXVal) mc.mcCntlSetPoundVar(inst, mc.SV_HEAD_SHIFT_Y, CamSftYVal) end --rout to tks if (OldTool2 <= ATCMaxTlsVal) and (NewTool2 == 101) then -- local TempPosX = mc.mcAxisGetPos(inst, 0) -- local TempPosY = mc.mcAxisGetPos(inst, 1) -- local TKSShftPosX = (TempPosX + TKSSftXVal) -- local TKSShftPosY = (TempPosY + TKSSftYVal) -- mc.mcAxisSetPos(inst, 0, TKSShftPosX) -- mc.mcAxisSetPos(inst, 1, TKSShftPosY) mc.mcCntlSetPoundVar(inst, mc.SV_HEAD_SHIFT_X, TKSSftXVal) mc.mcCntlSetPoundVar(inst, mc.SV_HEAD_SHIFT_Y, TKSSftYVal) end --rout to tko if (OldTool2 <= ATCMaxTlsVal) and (NewTool2 == 102) then -- local TempPosX = mc.mcAxisGetPos(inst, 0) -- local TempPosY = mc.mcAxisGetPos(inst, 1) -- local TKOShftPosX = (TempPosX + TKOSftXVal) -- local TKOShftPosY = (TempPosY + TKOSftYVal) -- mc.mcAxisSetPos(inst, 0, TKOShftPosX) -- mc.mcAxisSetPos(inst, 1, TKOShftPosY) mc.mcCntlSetPoundVar(inst, mc.SV_HEAD_SHIFT_X, TKOSftXVal) mc.mcCntlSetPoundVar(inst, mc.SV_HEAD_SHIFT_Y, TKOSftYVal) end --Tang Knife Standard shifts --tks to cam if (OldTool2 == 101) and (NewTool2 == 100) then -- local TempPosX = mc.mcAxisGetPos(inst, 0) -- local TempPosY = mc.mcAxisGetPos(inst, 1) -- local TKSCamShftPosX = (TempPosX - (TKSSftXVal - CamSftXVal)) -- local TKSCamShftPosY = (TempPosY - (TKSSftYVal - CamSftYVal)) -- mc.mcAxisSetPos(inst, 0, TKSCamShftPosX) -- mc.mcAxisSetPos(inst, 1, TKSCamShftPosY) mc.mcCntlSetPoundVar(inst, mc.SV_HEAD_SHIFT_X, CamSftXVal) mc.mcCntlSetPoundVar(inst, mc.SV_HEAD_SHIFT_Y, CamSftYVal) end --tks to rout if (OldTool2 == 101) and (NewTool2 <= ATCMaxTlsVal) then -- local TempPosX = mc.mcAxisGetPos(inst, 0) -- local TempPosY = mc.mcAxisGetPos(inst, 1) -- local TKSRtShftPosX = (TempPosX - TKSSftXVal) -- local TKSRtShftPosY = (TempPosY - TKSSftYVal) -- mc.mcAxisSetPos(inst, 0, TKSRtShftPosX) -- mc.mcAxisSetPos(inst, 1, TKSRtShftPosY) mc.mcCntlSetPoundVar(inst, mc.SV_HEAD_SHIFT_X, 0.000) mc.mcCntlSetPoundVar(inst, mc.SV_HEAD_SHIFT_Y, 0.000) end --tks to tko if (OldTool2 == 101) and (NewTool2 == 102) then -- local TempPosX = mc.mcAxisGetPos(inst, 0) -- local TempPosY = mc.mcAxisGetPos(inst, 1) -- local TKSTKOShftPosX = (TempPosX + (TKOSftXVal - TKSSftXVal)) -- local TKSTKOShftPosY = (TempPosY + (TKOSftYVal - TKSSftYVal)) -- mc.mcAxisSetPos(inst, 0, TKSTKOShftPosX) -- mc.mcAxisSetPos(inst, 1, TKSTKOShftPosY) mc.mcCntlSetPoundVar(inst, mc.SV_HEAD_SHIFT_X, TKOSftXVal) mc.mcCntlSetPoundVar(inst, mc.SV_HEAD_SHIFT_Y, TKOSftYVal) end --Tang Knife Oscillating shifts --tko to cam if (OldTool2 == 102) and (NewTool2 == 100) then -- local TempPosX = mc.mcAxisGetPos(inst, 0) -- local TempPosY = mc.mcAxisGetPos(inst, 1) -- local TKOCamShftPosX = (TempPosX - (TKOSftXVal - CamSftXVal)) -- local TKOCamShftPosY = (TempPosY - (TKOSftYVal - CamSftYVal)) -- mc.mcAxisSetPos(inst, 0, TKOCamShftPosX) -- mc.mcAxisSetPos(inst, 1, TKOCamShftPosY) mc.mcCntlSetPoundVar(inst, mc.SV_HEAD_SHIFT_X, CamSftXVal) mc.mcCntlSetPoundVar(inst, mc.SV_HEAD_SHIFT_Y, CamSftYVal) end --tko to rout if (OldTool2 == 102) and (NewTool2 <= ATCMaxTlsVal) then -- local TempPosX = mc.mcAxisGetPos(inst, 0) -- local TempPosY = mc.mcAxisGetPos(inst, 1) -- local TKORtShftPosX = (TempPosX - TKOSftXVal) -- local TKORtShftPosY = (TempPosY - TKOSftYVal) -- mc.mcAxisSetPos(inst, 0, TKORtShftPosX) -- mc.mcAxisSetPos(inst, 1, TKORtShftPosY) mc.mcCntlSetPoundVar(inst, mc.SV_HEAD_SHIFT_X, 0.000) mc.mcCntlSetPoundVar(inst, mc.SV_HEAD_SHIFT_Y, 0.000) end --tko to tks if (OldTool2 == 102) and (NewTool2 == 101) then -- local TempPosX = mc.mcAxisGetPos(inst, 0) -- local TempPosY = mc.mcAxisGetPos(inst, 1) -- local TKOTKSShftPosX = (TempPosX - (TKOSftXVal - TKSSftXVal)) -- local TKOTKSShftPosY = (TempPosY - (TKOSftYVal - TKSSftYVal)) -- mc.mcAxisSetPos(inst, 0, TKOTKSShftPosX) -- mc.mcAxisSetPos(inst, 1, TKOTKSShftPosY) mc.mcCntlSetPoundVar(inst, mc.SV_HEAD_SHIFT_X, TKSSftXVal) mc.mcCntlSetPoundVar(inst, mc.SV_HEAD_SHIFT_Y, TKSSftYVal) end end if (mc.mcInEditor() == 1) then headshift() end