--[[ http://www.cgsfusion.com Written by : JUNE Written on : Sept, 2018 Copyright (c) 2018-2019, JUNE YU All rights reserved. ]]-- FuRegisterClass("CGS_Retime3D", CT_Tool, { REGS_Name = "Retime 3D", REGS_Category = "3D", REGS_OpIconString = "3Rt", REGS_OpDescription = "Time Stretcher for 3D system", REGS_Company = "CGSOFT FUSION", REGS_URL = "http://www.cgsfusion.com", REGS_HelpTopic = "http://azz.net/cgsfusion", REG_OpNoMask = true, REG_NoBlendCtrls = true, REG_NoObjMatCtrls = true, REG_NoMotionBlurCtrls = true, REG_NoPreCalcProcess = true, REG_Fuse_NoReload = true, REG_Fuse_NoEdit = true, REG_NoAutoProxy = true, REG_Version = 100, }) No = "v1.0" version = "2019.11.6" function Create() self:AddControlPage("Controls", { CT_Visible = false }) self:AddControlPage("Retime 3D") InTime = self:AddInput("Time", "Time", { LINKID_DataType = "Number", INPID_InputControl = "ScrewControl", INP_MinScale = 0.0, INP_MaxScale = 1000.0, INP_Default = 0, }) Input = self:AddInput("Input", "Input", { LINKID_DataType = "DataType3D", LINK_Main = 1, INP_SendRequest = false, INP_Required = false, }) OutImage = self:AddOutput("Output", "Output", { LINKID_DataType = "DataType3D", LINK_Main = 1, }) InSep = self:AddInput(string.rep('_', 9999), 'Sep', { LINKID_DataType = 'Text', INPID_InputControl = 'LabelControl', ICS_Name = string.rep('_', 9999), ICD_Width = 1, INP_External = false, INP_Passive = true, IC_Visible = true, }) Author = self:AddInput("Retime3D "..No.."\t\t"..version, "Author", { LINKID_DataType = "Text", --IC_ControlPage = 1, INPID_InputControl = "LabelControl", INP_External = false, INP_Passive = true, }) InAbout = self:AddInput("About", "About" ,{ LINKID_DataType = "Number", --IC_ControlPage = 1, INPID_InputControl = "ButtonControl", INP_External = false, INP_Passive = true, INP_Integer = false, BTNCS_Execute = [[ function AboutWindow() local ui = fu.UIManager local disp = bmd.UIDispatcher(ui) local width,height = 400,500 local x = fu:GetMousePos()[1] local y = fu:GetMousePos()[2] local URL1 = 'https://www.paypal.me/june3546' local URL2 = 'https://www.cgsfusion.com' win = disp:AddWindow({ ID = 'AboutWin', TargetID = 'AboutWin', WindowTitle = 'About', WindowFlags = {Window = true, WindowStaysOnTopHint = true}, Geometry = {x-(width/2), y+8, width, height}, --Geometry = {960-width/2, 540-height/2, width, height}, Spacing = 10, ui:VGroup{ ID = 'root', ui:TextEdit{ ID = 'AboutText', ReadOnly = true, Alignment = {AlignHCenter = true, AlignTop = true}, Font = ui:Font{Family = 'Microsoft YaHei',StyleName = 'Regular',MonoSpaced = true, StyleStrategy = {ForceIntegerMetrics = true},}, HTML = CGSFusionLogo() .. [=[

Retime3D

Version 1.0 - 2019-11-6

Time Stretcher for 3D system.

]=] .. WXPayImage() ..[=[

Copyright © 2018-2019 JunsCartoon. Author:JUNE YU

QQ:180244124      Wechat:cgsfusion

]=] }, ui:VGroup{ Weight = 0, ui:Label{ ID = "URL", Text = 'Donation: ' .. URL1 .. '', Alignment = {AlignHCenter = true, AlignTop = true}, WordWrap = true, OpenExternalLinks = true,}, ui:Label{ ID = "URL", Text = 'Website: ' .. URL2 .. '', Alignment = {AlignHCenter = true, AlignTop = true}, WordWrap = true, OpenExternalLinks = true,}, ui:Label{ ID = "EMAIL", Text = 'Email: ' .. 'june3546@163.com' .. '', Alignment = {AlignHCenter = true, AlignTop = true}, WordWrap = true, OpenExternalLinks = true,}, }, }, }) function win.On.AboutWin.Close(ev) disp:ExitLoop() end function win.On.DoneButton.Clicked(ev) disp:ExitLoop() end app:AddConfig('AboutWin', { Target { ID = 'AboutWin', }, Hotkeys { Target = 'AboutWin', Defaults = true, CONTROL_W = 'Execute{cmd = [=[app.UIManager:QueueEvent(obj, "Close", {})]=]}', CONTROL_F4 = 'Execute{cmd = [=[app.UIManager:QueueEvent(obj, "Close", {})]=]}', ESCAPE = 'Execute{cmd = [=[app.UIManager:QueueEvent(obj, "Close", {})]=]}', }, }) itm = win:GetItems() win:Show() disp:RunLoop() win:Hide() return win,win:GetItems() end function CGSFusionLogo() return [=[
]=] end function WXPayImage() return [=[
]=] end AboutWindow() ]], }) end function Process(req) local time = InTime:GetValue(req).Value local img = Input:GetSource(time, req:GetFlags()) OutImage:Set(req, img) end