diff --git a/.clang-format-ignore b/.clang-format-ignore index e43de3c..00d0f10 100644 --- a/.clang-format-ignore +++ b/.clang-format-ignore @@ -21,7 +21,7 @@ Source/Effects/FsColorMatKey/* Source/Effects/FsColorThreshold/* #Source/Effects/FsCreateAlpha/* #Source/Effects/FsEdgeBlur/* -Source/Effects/FsEdgeLine/* +#Source/Effects/FsEdgeLine/* #Source/Effects/FsEdgeLine-Hi/* Source/Effects/FsExpsColors/* Source/Effects/FsExpsPos/* diff --git a/Source/Effects/FsEdgeLine/EdgeLine.cpp b/Source/Effects/FsEdgeLine/EdgeLine.cpp index e5d25a9..d41c85b 100644 --- a/Source/Effects/FsEdgeLine/EdgeLine.cpp +++ b/Source/Effects/FsEdgeLine/EdgeLine.cpp @@ -1,376 +1,283 @@ -//----------------------------------------------------------------------------------- /* - F's Plugins for VS2010/VS2012 + F's Plugins for VS2010/VS2012 */ -//----------------------------------------------------------------------------------- - +// clang-format off #include "EdgeLine.h" +// clang-format on +// Communicate parameters to After Effects +// Refer to Param_Utils.h +static PF_Err ParamsSetup(PF_InData *in_data, PF_OutData *out_data, + PF_ParamDef *params[], PF_LayerDef *output) { + PF_Err err = PF_Err_NONE; + PF_ParamDef def; -//------------------------------------------------------------------------------------------------- -//AfterEffextsにパラメータを通達する -//Param_Utils.hを参照のこと -static PF_Err ParamsSetup ( - PF_InData *in_data, - PF_OutData *out_data, - PF_ParamDef *params[], - PF_LayerDef *output) -{ - PF_Err err = PF_Err_NONE; - PF_ParamDef def; - - //---------------------------------------------------------------- - //色の指定 - AEFX_CLR_STRUCT(def); - PF_ADD_COLOR( STR_TARGET, - 0xFF, - 0x00, - 0x00, - ID_TARGET_COL - ); - //---------------------------------------------------------------- - //色の指定 - AEFX_CLR_STRUCT(def); - PF_ADD_COLOR( STR_SAMPLE, - 0x00, - 0xFF, - 0x00, - ID_SAMPLE_COL - ); + // Color specification + AEFX_CLR_STRUCT(def); + PF_ADD_COLOR(STR_TARGET, 0xFF, 0x00, 0x00, ID_TARGET_COL); + // Color specification + AEFX_CLR_STRUCT(def); + PF_ADD_COLOR(STR_SAMPLE, 0x00, 0xFF, 0x00, ID_SAMPLE_COL); - //---------------------------------------------------------------- - AEFX_CLR_STRUCT(def); - PF_ADD_FLOAT_SLIDER(STR_LEVEL, //Name - 0, //VALID_MIN - 100, //VALID_MAX - 0, //SLIDER_MIN - 10, //SLIDER_MAX - 1, //CURVE_TOLERANCE - 0, //DFLT - 1, //PREC - 0, //DISP - 0, //WANT_PHASE - ID_LEVEL - ); - //---------------------------------------------------------------- - AEFX_CLR_STRUCT(def); - PF_ADD_SLIDER( STR_LENGTH, //パラメータの名前 - 0, //数値入力する場合の最小値 - 200, //数値入力する場合の最大値 - 0, //スライダーの最小値 - 20, //スライダーの最大値 - 10, //デフォルトの値 - ID_LENGTH - ); - //---------------------------------------------------------------- - //色の指定 - AEFX_CLR_STRUCT(def); - PF_ADD_COLOR( STR_DRAW, - 0x00, - 0x00, - 0xFF, - ID_DRAW_COL - ); - //---------------------------------------------------------------- - out_data->num_params = ID_NUM_PARAMS; + AEFX_CLR_STRUCT(def); + PF_ADD_FLOAT_SLIDER(STR_LEVEL, // Name + 0, // VALID_MIN + 100, // VALID_MAX + 0, // SLIDER_MIN + 10, // SLIDER_MAX + 1, // CURVE_TOLERANCE + 0, // DFLT + 1, // PREC + 0, // DISP + 0, // WANT_PHASE + ID_LEVEL); + AEFX_CLR_STRUCT(def); + PF_ADD_SLIDER(STR_LENGTH, // Parameter name + 0, // Minimum value for numeric input + 200, // Maximum value for numeric input + 0, // Slider minimum value + 20, // Slider maximum value + 10, // Default value + ID_LENGTH); + // Color specification + AEFX_CLR_STRUCT(def); + PF_ADD_COLOR(STR_DRAW, 0x00, 0x00, 0xFF, ID_DRAW_COL); + out_data->num_params = ID_NUM_PARAMS; - return err; + return err; } -//------------------------------------------------------------------------------------------------- -static PF_Err -HandleChangedParam( - PF_InData *in_data, - PF_OutData *out_data, - PF_ParamDef *params[], - PF_LayerDef *outputP, - PF_UserChangedParamExtra *extraP) -{ - return PF_Err_NONE; +static PF_Err HandleChangedParam(PF_InData *in_data, PF_OutData *out_data, + PF_ParamDef *params[], PF_LayerDef *outputP, + PF_UserChangedParamExtra *extraP) { + return PF_Err_NONE; } -//----------------------------------------------------------------------------------- -static PF_Err -QueryDynamicFlags( - PF_InData *in_data, - PF_OutData *out_data, - PF_ParamDef *params[], - void *extra) -{ - PF_Err err = PF_Err_NONE; - return err; +static PF_Err QueryDynamicFlags(PF_InData *in_data, PF_OutData *out_data, + PF_ParamDef *params[], void *extra) { + PF_Err err = PF_Err_NONE; + return err; } -//------------------------------------------------------------------------------------------------- -static PF_Err GetParams(CFsAE *ae, ParamInfo8 *infoP) -{ - PF_Err err = PF_Err_NONE; +static PF_Err GetParams(CFsAE *ae, ParamInfo8 *infoP) { + PF_Err err = PF_Err_NONE; - ERR(ae->GetCOLOR(ID_TARGET_COL,&infoP->targetCol)); - ERR(ae->GetCOLOR(ID_SAMPLE_COL,&infoP->sampleCol)); - PF_FpLong v; - ERR(ae->GetFLOAT(ID_LEVEL,&v)); - if(!err){ - infoP->level = (A_u_char)((double)PF_MAX_CHAN8 * v/100); - } - ERR(ae->GetADD(ID_LENGTH,&infoP->length)); - if (infoP->length>0){ - infoP->length = ae->downScale(infoP->length); - } - ERR(ae->GetCOLOR(ID_DRAW_COL,&infoP->drawCol)); - - return err; + ERR(ae->GetCOLOR(ID_TARGET_COL, &infoP->targetCol)); + ERR(ae->GetCOLOR(ID_SAMPLE_COL, &infoP->sampleCol)); + PF_FpLong v; + ERR(ae->GetFLOAT(ID_LEVEL, &v)); + if (!err) { + infoP->level = (A_u_char)((double)PF_MAX_CHAN8 * v / 100); + } + ERR(ae->GetADD(ID_LENGTH, &infoP->length)); + if (infoP->length > 0) { + infoP->length = ae->downScale(infoP->length); + } + ERR(ae->GetCOLOR(ID_DRAW_COL, &infoP->drawCol)); + + return err; } -//------------------------------------------------------------------------------------------------- -static ParamInfo16 convTo16(ParamInfo8 *info) -{ - ParamInfo16 ret; - AEFX_CLR_STRUCT(ret); - ret.targetCol = info->targetCol; - ret.sampleCol = info->sampleCol; - ret.level = info->level; - ret.length = info->length; - ret.drawCol = CONV8TO16(info->drawCol); - ret.w = info->w; - ret.h = info->h; +static ParamInfo16 convTo16(ParamInfo8 *info) { + ParamInfo16 ret; + AEFX_CLR_STRUCT(ret); + ret.targetCol = info->targetCol; + ret.sampleCol = info->sampleCol; + ret.level = info->level; + ret.length = info->length; + ret.drawCol = CONV8TO16(info->drawCol); + ret.w = info->w; + ret.h = info->h; - ret.ae = info->ae; - return ret; + ret.ae = info->ae; + return ret; } -//------------------------------------------------------------------------------------------------- -static ParamInfo32 convTo32(ParamInfo8 *info) -{ - ParamInfo32 ret; - AEFX_CLR_STRUCT(ret); - ret.targetCol = info->targetCol; - ret.sampleCol = info->sampleCol; - ret.level = info->level; - ret.length = info->length; - ret.drawCol = CONV8TO32(info->drawCol); - ret.w = info->w; - ret.h = info->h; - ret.ae = info->ae; - return ret; +static ParamInfo32 convTo32(ParamInfo8 *info) { + ParamInfo32 ret; + AEFX_CLR_STRUCT(ret); + ret.targetCol = info->targetCol; + ret.sampleCol = info->sampleCol; + ret.level = info->level; + ret.length = info->length; + ret.drawCol = CONV8TO32(info->drawCol); + ret.w = info->w; + ret.h = info->h; + ret.ae = info->ae; + return ret; } -//------------------------------------------------------------------------------------------------- -static PF_Err -FilterImage8 ( - refconType refcon, - A_long xL, - A_long yL, - PF_Pixel8 *inP, - PF_Pixel8 *outP) -{ - PF_Err err = PF_Err_NONE; - ParamInfo8 * niP = reinterpret_cast(refcon); - if (compPix8Lv(*inP,niP->targetCol,niP->level)==FALSE) return err; - - int x0 = xL - niP->length; - if (x0<0) x0=0; - int x1 = xL + niP->length; - if (x1>=niP->w) x1 = niP->w -1; - int y0 = yL - niP->length; - if (y0<0) x0=0; - int y1 = yL + niP->length; - if (y1>=niP->h) y1 = niP->h -1; +static PF_Err FilterImage8(refconType refcon, A_long xL, A_long yL, + PF_Pixel8 *inP, PF_Pixel8 *outP) { + PF_Err err = PF_Err_NONE; + ParamInfo8 *niP = reinterpret_cast(refcon); + if (compPix8Lv(*inP, niP->targetCol, niP->level) == FALSE) return err; - for ( int y = y0; y<=y1; y++){ - for ( int x = x0; x<=x1; x++){ - if (compPix8Lv(niP->ae->in->getPixel8(x,y),niP->sampleCol,niP->level)==TRUE) { - *outP = niP->drawCol; - break; - } - } - } + int x0 = xL - niP->length; + if (x0 < 0) x0 = 0; + int x1 = xL + niP->length; + if (x1 >= niP->w) x1 = niP->w - 1; + int y0 = yL - niP->length; + if (y0 < 0) x0 = 0; + int y1 = yL + niP->length; + if (y1 >= niP->h) y1 = niP->h - 1; + for (int y = y0; y <= y1; y++) { + for (int x = x0; x <= x1; x++) { + if (compPix8Lv(niP->ae->in->getPixel8(x, y), niP->sampleCol, + niP->level) == TRUE) { + *outP = niP->drawCol; + break; + } + } + } - return err; + return err; } -//------------------------------------------------------------------------------------------------- -static PF_Err -FilterImage16 ( - refconType refcon, - A_long xL, - A_long yL, - PF_Pixel16 *inP, - PF_Pixel16 *outP) -{ - PF_Err err = PF_Err_NONE; - ParamInfo16 * niP = reinterpret_cast(refcon); - PF_Pixel t = CONV16TO8(*inP); - if (compPix8Lv(t,niP->targetCol,niP->level)==FALSE) return err; +static PF_Err FilterImage16(refconType refcon, A_long xL, A_long yL, + PF_Pixel16 *inP, PF_Pixel16 *outP) { + PF_Err err = PF_Err_NONE; + ParamInfo16 *niP = reinterpret_cast(refcon); + PF_Pixel t = CONV16TO8(*inP); + if (compPix8Lv(t, niP->targetCol, niP->level) == FALSE) return err; - int x0 = xL - niP->length; - if (x0<0) x0=0; - int x1 = xL + niP->length; - if (x1>=niP->w) x1 = niP->w -1; - int y0 = yL - niP->length; - if (y0<0) x0=0; - int y1 = yL + niP->length; - if (y1>=niP->h) y1 = niP->h -1; + int x0 = xL - niP->length; + if (x0 < 0) x0 = 0; + int x1 = xL + niP->length; + if (x1 >= niP->w) x1 = niP->w - 1; + int y0 = yL - niP->length; + if (y0 < 0) x0 = 0; + int y1 = yL + niP->length; + if (y1 >= niP->h) y1 = niP->h - 1; - for ( int y = y0; y<=y1; y++){ - for ( int x = x0; x<=x1; x++){ - PF_Pixel t2 = CONV16TO8(niP->ae->in->getPixel16(x, y)); - if (compPix8Lv(t2,niP->sampleCol,niP->level)==TRUE) { - *outP = niP->drawCol; - break; - } - } - } + for (int y = y0; y <= y1; y++) { + for (int x = x0; x <= x1; x++) { + PF_Pixel t2 = CONV16TO8(niP->ae->in->getPixel16(x, y)); + if (compPix8Lv(t2, niP->sampleCol, niP->level) == TRUE) { + *outP = niP->drawCol; + break; + } + } + } - - return err; + return err; } -//------------------------------------------------------------------------------------------------- -static PF_Err -FilterImage32 ( - refconType refcon, - A_long xL, - A_long yL, - PF_PixelFloat *inP, - PF_PixelFloat *outP) -{ - PF_Err err = PF_Err_NONE; - ParamInfo32 * niP = reinterpret_cast(refcon); - if (compPix32_8Lv(*inP,niP->targetCol,niP->level)==FALSE) return err; - - int x0 = xL - niP->length; - if (x0<0) x0=0; - int x1 = xL + niP->length; - if (x1>=niP->w) x1 = niP->w -1; - int y0 = yL - niP->length; - if (y0<0) x0=0; - int y1 = yL + niP->length; - if (y1>=niP->h) y1 = niP->h -1; +static PF_Err FilterImage32(refconType refcon, A_long xL, A_long yL, + PF_PixelFloat *inP, PF_PixelFloat *outP) { + PF_Err err = PF_Err_NONE; + ParamInfo32 *niP = reinterpret_cast(refcon); + if (compPix32_8Lv(*inP, niP->targetCol, niP->level) == FALSE) return err; - for ( int y = y0; y<=y1; y++){ - for ( int x = x0; x<=x1; x++){ - if (compPix32_8Lv(niP->ae->in->getPixel32(x,y),niP->sampleCol,niP->level)==TRUE) { - *outP = niP->drawCol; - break; - } - } - } + int x0 = xL - niP->length; + if (x0 < 0) x0 = 0; + int x1 = xL + niP->length; + if (x1 >= niP->w) x1 = niP->w - 1; + int y0 = yL - niP->length; + if (y0 < 0) x0 = 0; + int y1 = yL + niP->length; + if (y1 >= niP->h) y1 = niP->h - 1; + for (int y = y0; y <= y1; y++) { + for (int x = x0; x <= x1; x++) { + if (compPix32_8Lv(niP->ae->in->getPixel32(x, y), niP->sampleCol, + niP->level) == TRUE) { + *outP = niP->drawCol; + break; + } + } + } - return err; + return err; } -//------------------------------------------------------------------------------------------------- -static PF_Err - Exec (CFsAE *ae , ParamInfo8 *infoP) -{ - PF_Err err = PF_Err_NONE; +static PF_Err Exec(CFsAE *ae, ParamInfo8 *infoP) { + PF_Err err = PF_Err_NONE; - //画面をコピー - ERR(ae->CopyInToOut()); - - if ( infoP->length<=0) - { - return err; - } - infoP->ae = ae; - infoP->w = ae->in->width(); - infoP->h = ae->in->height(); - switch(ae->pixelFormat()) - { - case PF_PixelFormat_ARGB128: - ParamInfo32 info32; - info32 = convTo32(infoP); - ERR(ae->iterate32((refconType)&info32,FilterImage32)); - break; - case PF_PixelFormat_ARGB64: - ParamInfo16 info16; - info16 = convTo16(infoP); - ERR(ae->iterate16((refconType)&info16,FilterImage16)); - break; - case PF_PixelFormat_ARGB32: - ERR(ae->iterate8((refconType)infoP,FilterImage8)); - break; - } + // Copy screen + ERR(ae->CopyInToOut()); + if (infoP->length <= 0) { + return err; + } + infoP->ae = ae; + infoP->w = ae->in->width(); + infoP->h = ae->in->height(); + switch (ae->pixelFormat()) { + case PF_PixelFormat_ARGB128: + ParamInfo32 info32; + info32 = convTo32(infoP); + ERR(ae->iterate32((refconType)&info32, FilterImage32)); + break; + case PF_PixelFormat_ARGB64: + ParamInfo16 info16; + info16 = convTo16(infoP); + ERR(ae->iterate16((refconType)&info16, FilterImage16)); + break; + case PF_PixelFormat_ARGB32: + ERR(ae->iterate8((refconType)infoP, FilterImage8)); + break; + } - return err; + return err; } -//------------------------------------------------------------------------------------------------- -//レンダリングのメイン +// Main rendering function /* - SmartFXに対応していないホスト(After Effects7以前のもの)はこの関数が呼び出されて描画する - この関数を書いておけば一応v6.5対応になる + Hosts that do not support SmartFX (After Effects 7 and earlier) call + this function for rendering Writing this function provides basic v6.5 + compatibility */ -static PF_Err -Render ( - PF_InData *in_data, - PF_OutData *out_data, - PF_ParamDef *params[], - PF_LayerDef *output ) -{ +static PF_Err Render(PF_InData *in_data, PF_OutData *out_data, + PF_ParamDef *params[], PF_LayerDef *output) { + PF_Err err = PF_Err_NONE; + PF_Handle pixelTable = NULL; - PF_Err err = PF_Err_NONE; - PF_Handle pixelTable = NULL; - - CFsAE ae(in_data,out_data,params,output,ID_NUM_PARAMS); - err =ae.resultErr(); - if (!err){ - ERR(ae.CopyInToOut()); - ParamInfo8 info; - ERR(GetParams(&ae,&info)); - ERR(Exec(&ae,&info)); - } - return err; + CFsAE ae(in_data, out_data, params, output, ID_NUM_PARAMS); + err = ae.resultErr(); + if (!err) { + ERR(ae.CopyInToOut()); + ParamInfo8 info; + ERR(GetParams(&ae, &info)); + ERR(Exec(&ae, &info)); + } + return err; } -//----------------------------------------------------------------------------------- /* - SmartFX対応の場合、まずこの関数が呼ばれてパラメータの獲得を行う + For SmartFX support, this function is called first to acquire parameters */ #if defined(SUPPORT_SMARTFX) -static PF_Err -PreRender( - PF_InData *in_data, - PF_OutData *out_data, - PF_PreRenderExtra *extraP) -{ - PF_Err err = PF_Err_NONE; - CFsAE ae(in_data,out_data,extraP,sizeof(ParamInfo8),ID_NUM_PARAMS); - err = ae.resultErr(); - if (!err){ - - ParamInfo8 *infoP = reinterpret_cast(ae.LockPreRenderData()); - if (infoP){ - ae.SetHostPreRenderData(); - ERR(GetParams(&ae,infoP)); - ERR(ae.UnSetPreRenderData()); - ae.UnlockPreRenderData(); - }else{ - err = PF_Err_OUT_OF_MEMORY; - } - } - return err; +static PF_Err PreRender(PF_InData *in_data, PF_OutData *out_data, + PF_PreRenderExtra *extraP) { + PF_Err err = PF_Err_NONE; + CFsAE ae(in_data, out_data, extraP, sizeof(ParamInfo8), ID_NUM_PARAMS); + err = ae.resultErr(); + if (!err) { + ParamInfo8 *infoP = reinterpret_cast(ae.LockPreRenderData()); + if (infoP) { + ae.SetHostPreRenderData(); + ERR(GetParams(&ae, infoP)); + ERR(ae.UnSetPreRenderData()); + ae.UnlockPreRenderData(); + } else { + err = PF_Err_OUT_OF_MEMORY; + } + } + return err; } #endif -//----------------------------------------------------------------------------------- + #if defined(SUPPORT_SMARTFX) -static PF_Err -SmartRender( - PF_InData *in_data, - PF_OutData *out_data, - PF_SmartRenderExtra *extraP) -{ - PF_Err err = PF_Err_NONE, - err2 = PF_Err_NONE; +static PF_Err SmartRender(PF_InData *in_data, PF_OutData *out_data, + PF_SmartRenderExtra *extraP) { + PF_Err err = PF_Err_NONE, err2 = PF_Err_NONE; - CFsAE ae(in_data,out_data,extraP,ID_NUM_PARAMS); - err = ae.resultErr(); - if (!err){ - ParamInfo8 *infoP = reinterpret_cast(ae.LockPreRenderData()); - if (infoP){ - ERR(Exec(&ae,infoP)); - ERR2(ae.UnsetSmartRender()); - ae.UnlockPreRenderData(); - }else{ - err = PF_Err_OUT_OF_MEMORY; - } - } - return err; + CFsAE ae(in_data, out_data, extraP, ID_NUM_PARAMS); + err = ae.resultErr(); + if (!err) { + ParamInfo8 *infoP = reinterpret_cast(ae.LockPreRenderData()); + if (infoP) { + ERR(Exec(&ae, infoP)); + ERR2(ae.UnsetSmartRender()); + ae.UnlockPreRenderData(); + } else { + err = PF_Err_OUT_OF_MEMORY; + } + } + return err; } #endif diff --git a/Source/Effects/FsEdgeLine/EdgeLine.h b/Source/Effects/FsEdgeLine/EdgeLine.h index a36f1b1..face75f 100644 --- a/Source/Effects/FsEdgeLine/EdgeLine.h +++ b/Source/Effects/FsEdgeLine/EdgeLine.h @@ -1,13 +1,10 @@ -//----------------------------------------------------------------------------------- /* - EdgeLine for VS2010 + EdgeLine for VS2010 */ -//----------------------------------------------------------------------------------- #pragma once -#ifndef EdgeLine_H -#define EdgeLine_H +// clang-format off #include "Fs_Target.h" #include "AEConfig.h" @@ -37,76 +34,66 @@ #include "../FsLibrary/FsAE.h" //#include "FsAE.h" +// clang-format on -//ユーザーインターフェースのID -//ParamsSetup関数とRender関数のparamsパラメータのIDになる +// User interface ID +// Used as parameter ID for ParamsSetup and Render functions enum { - ID_INPUT = 0, // default input layer - - ID_TARGET_COL, - ID_SAMPLE_COL, - ID_LEVEL, - ID_LENGTH, - ID_DRAW_COL, - ID_NUM_PARAMS + ID_INPUT = 0, // default input layer + + ID_TARGET_COL, + ID_SAMPLE_COL, + ID_LEVEL, + ID_LENGTH, + ID_DRAW_COL, + ID_NUM_PARAMS }; -//UIの表示文字列 -#define STR_TARGET "TargetColor" -#define STR_SAMPLE "SampleColor" -#define STR_LEVEL "level(%)" -#define STR_LENGTH "length(px)" -#define STR_DRAW "DrawColor" +// UI display strings +#define STR_TARGET "TargetColor" +#define STR_SAMPLE "SampleColor" +#define STR_LEVEL "level(%)" +#define STR_LENGTH "length(px)" +#define STR_DRAW "DrawColor" - -//UIのパラメータ +// UI parameters typedef struct ParamInfo8 { - PF_Pixel targetCol; - PF_Pixel sampleCol; - A_u_char level; - A_long length; - PF_Pixel drawCol; - A_long w; - A_long h; - CFsAE *ae; + PF_Pixel targetCol; + PF_Pixel sampleCol; + A_u_char level; + A_long length; + PF_Pixel drawCol; + A_long w; + A_long h; + CFsAE *ae; } ParamInfo8; typedef struct ParamInfo16 { - PF_Pixel targetCol; - PF_Pixel sampleCol; - A_u_char level; - A_long length; - PF_Pixel16 drawCol; - A_long w; - A_long h; - CFsAE *ae; + PF_Pixel targetCol; + PF_Pixel sampleCol; + A_u_char level; + A_long length; + PF_Pixel16 drawCol; + A_long w; + A_long h; + CFsAE *ae; } ParamInfo16; typedef struct ParamInfo32 { - PF_Pixel targetCol; - PF_Pixel sampleCol; - A_u_char level; - A_long length; - PF_PixelFloat drawCol; - A_long w; - A_long h; - CFsAE *ae; + PF_Pixel targetCol; + PF_Pixel sampleCol; + A_u_char level; + A_long length; + PF_PixelFloat drawCol; + A_long w; + A_long h; + CFsAE *ae; } ParamInfo32; -//------------------------------------------------------- - -//----------------------------------------------------------------------------------- extern "C" { -DllExport -PF_Err -EntryPointFunc ( - PF_Cmd cmd, - PF_InData *in_data, - PF_OutData *out_data, - PF_ParamDef *params[], - PF_LayerDef *output, - void *extra); +DllExport PF_Err EntryPointFunc(PF_Cmd cmd, PF_InData *in_data, + PF_OutData *out_data, PF_ParamDef *params[], + PF_LayerDef *output, void *extra); } -#endif // EdgeLine_H diff --git a/Source/Effects/FsEdgeLine/Fs_Entry.h b/Source/Effects/FsEdgeLine/Fs_Entry.h index ddf1c4f..239ed7d 100644 --- a/Source/Effects/FsEdgeLine/Fs_Entry.h +++ b/Source/Effects/FsEdgeLine/Fs_Entry.h @@ -1,13 +1,10 @@ -//----------------------------------------------------------------------------------- /* - EdgeLine for VS2010 + EdgeLine for VS2010 */ -//----------------------------------------------------------------------------------- #pragma once -#ifndef FSENRTY_H -#define FSENRTY_H +// clang-format off #include "Fs_Target.h" #include "AEConfig.h" @@ -34,194 +31,141 @@ #ifdef AE_OS_WIN #include #endif +// clang-format on -//----------------------------------------------------------------------------------- -static PF_Err -About ( - PF_InData *in_data, - PF_OutData *out_data, - PF_ParamDef *params[], - PF_LayerDef *output ) -{ - PF_Err err = PF_Err_NONE; - CFsAE ae; - err = ae.About(in_data,out_data,params,output); - return err; +static PF_Err About(PF_InData *in_data, PF_OutData *out_data, + PF_ParamDef *params[], PF_LayerDef *output) { + PF_Err err = PF_Err_NONE; + CFsAE ae; + err = ae.About(in_data, out_data, params, output); + return err; } -//----------------------------------------------------------------------------------- -static PF_Err -GlobalSetup ( - PF_InData *in_data, - PF_OutData *out_data, - PF_ParamDef *params[], - PF_LayerDef *output ) -{ - PF_Err err = PF_Err_NONE; - CFsAE ae; - err = ae.GlobalSetup(in_data,out_data,params,output); - return err; +static PF_Err GlobalSetup(PF_InData *in_data, PF_OutData *out_data, + PF_ParamDef *params[], PF_LayerDef *output) { + PF_Err err = PF_Err_NONE; + CFsAE ae; + err = ae.GlobalSetup(in_data, out_data, params, output); + return err; } -//------------------------------------------------------------------------------------------------- -static PF_Err GlobalSetdown( - PF_InData *in_data) -{ - PF_Err err = PF_Err_NONE; - CFsAE ae; - err = ae.GlobalSetdown(in_data); - return PF_Err_NONE; +static PF_Err GlobalSetdown(PF_InData *in_data) { + PF_Err err = PF_Err_NONE; + CFsAE ae; + err = ae.GlobalSetdown(in_data); + return PF_Err_NONE; } -//------------------------------------------------------------------------------------------------- -static PF_Err SequenceSetup ( - PF_InData *in_data, - PF_OutData *out_data, - PF_ParamDef *params[], - PF_LayerDef *output ) -{ - - return PF_Err_NONE; +static PF_Err SequenceSetup(PF_InData *in_data, PF_OutData *out_data, + PF_ParamDef *params[], PF_LayerDef *output) { + return PF_Err_NONE; } -//------------------------------------------------------------------------------------------------- -static PF_Err SequenceSetdown ( - PF_InData *in_data, - PF_OutData *out_data, - PF_ParamDef *params[], - PF_LayerDef *output ) -{ - return PF_Err_NONE; +static PF_Err SequenceSetdown(PF_InData *in_data, PF_OutData *out_data, + PF_ParamDef *params[], PF_LayerDef *output) { + return PF_Err_NONE; } - -//------------------------------------------------------------------------------------------------- -static PF_Err SequenceResetup ( - PF_InData *in_data, - PF_OutData *out_data, - PF_ParamDef *params[], - PF_LayerDef *output ) -{ - return PF_Err_NONE; +static PF_Err SequenceResetup(PF_InData *in_data, PF_OutData *out_data, + PF_ParamDef *params[], PF_LayerDef *output) { + return PF_Err_NONE; } /* -//------------------------------------------------------------------------------------------------- static PF_Err HandleChangedParam( - PF_InData *in_data, - PF_OutData *out_data, - PF_ParamDef *params[], - PF_LayerDef *outputP, - PF_UserChangedParamExtra *extraP) + PF_InData *in_data, + PF_OutData *out_data, + PF_ParamDef *params[], + PF_LayerDef *outputP, + PF_UserChangedParamExtra *extraP) { - PF_Err err = PF_Err_NONE; - return err; + PF_Err err = PF_Err_NONE; return err; } */ /* -//----------------------------------------------------------------------------------- static PF_Err -QueryDynamicFlags( - PF_InData *in_data, - PF_OutData *out_data, - PF_ParamDef *params[], - void *extra) +QueryDynamicFlags( + PF_InData *in_data, + PF_OutData *out_data, + PF_ParamDef *params[], + void *extra) { - PF_Err err = PF_Err_NONE; - return err; + PF_Err err = PF_Err_NONE; + return err; } */ -//----------------------------------------------------------------------------------- -static PF_Err -RespondtoAEGP ( - PF_InData *in_data, - PF_OutData *out_data, - PF_ParamDef *params[], - PF_LayerDef *output, - void* extraP) -{ - PF_Err err = PF_Err_NONE; - - AEGP_SuiteHandler suites(in_data->pica_basicP); - - suites.ANSICallbacksSuite1()->sprintf( out_data->return_msg, - "%s", - reinterpret_cast(extraP)); +static PF_Err RespondtoAEGP(PF_InData *in_data, PF_OutData *out_data, + PF_ParamDef *params[], PF_LayerDef *output, + void *extraP) { + PF_Err err = PF_Err_NONE; + + AEGP_SuiteHandler suites(in_data->pica_basicP); + + suites.ANSICallbacksSuite1()->sprintf(out_data->return_msg, "%s", + reinterpret_cast(extraP)); - return err; + return err; } -//----------------------------------------------------------------------------------- -DllExport PF_Err -EntryPointFunc ( - PF_Cmd cmd, - PF_InData *in_data, - PF_OutData *out_data, - PF_ParamDef *params[], - PF_LayerDef *output, - void *extraP) -{ - PF_Err err = PF_Err_NONE; - - try - { - CFsAE ae; - switch (cmd) { - case PF_Cmd_ABOUT: - err = About(in_data,out_data,params,output); - break; - case PF_Cmd_GLOBAL_SETUP: - err = GlobalSetup( in_data,out_data,params,output); - break; - case PF_Cmd_GLOBAL_SETDOWN: - err = GlobalSetdown(in_data); - break; - case PF_Cmd_PARAMS_SETUP: - err = ParamsSetup( in_data,out_data,params,output); - break; - case PF_Cmd_SEQUENCE_SETUP: - err = SequenceSetup(in_data,out_data,params,output); - break; - case PF_Cmd_SEQUENCE_SETDOWN: - err = SequenceSetdown(in_data,out_data,params,output); - break; - case PF_Cmd_SEQUENCE_RESETUP: - err = SequenceResetup(in_data,out_data,params,output); - break; - case PF_Cmd_RENDER: - err = Render(in_data,out_data,params,output); - break; +DllExport PF_Err EntryPointFunc(PF_Cmd cmd, PF_InData *in_data, + PF_OutData *out_data, PF_ParamDef *params[], + PF_LayerDef *output, void *extraP) { + PF_Err err = PF_Err_NONE; + + try { + CFsAE ae; + switch (cmd) { + case PF_Cmd_ABOUT: + err = About(in_data, out_data, params, output); + break; + case PF_Cmd_GLOBAL_SETUP: + err = GlobalSetup(in_data, out_data, params, output); + break; + case PF_Cmd_GLOBAL_SETDOWN: + err = GlobalSetdown(in_data); + break; + case PF_Cmd_PARAMS_SETUP: + err = ParamsSetup(in_data, out_data, params, output); + break; + case PF_Cmd_SEQUENCE_SETUP: + err = SequenceSetup(in_data, out_data, params, output); + break; + case PF_Cmd_SEQUENCE_SETDOWN: + err = SequenceSetdown(in_data, out_data, params, output); + break; + case PF_Cmd_SEQUENCE_RESETUP: + err = SequenceResetup(in_data, out_data, params, output); + break; + case PF_Cmd_RENDER: + err = Render(in_data, out_data, params, output); + break; #if defined(SUPPORT_SMARTFX) - case PF_Cmd_SMART_PRE_RENDER: - err = PreRender(in_data,out_data,reinterpret_cast(extraP)); - break; - case PF_Cmd_SMART_RENDER: - err = SmartRender( in_data,out_data,reinterpret_cast(extraP)); - break; + case PF_Cmd_SMART_PRE_RENDER: + err = PreRender(in_data, out_data, + reinterpret_cast(extraP)); + break; + case PF_Cmd_SMART_RENDER: + err = SmartRender(in_data, out_data, + reinterpret_cast(extraP)); + break; #endif - case PF_Cmd_COMPLETELY_GENERAL: - err = RespondtoAEGP(in_data,out_data,params,output,extraP); - break; - case PF_Cmd_DO_DIALOG: - //err = PopDialog(in_data,out_data,params,output); - break; - case PF_Cmd_USER_CHANGED_PARAM: - err = HandleChangedParam( in_data, - out_data, - params, - output, - reinterpret_cast(extraP)); - break; - case PF_Cmd_QUERY_DYNAMIC_FLAGS: - err = QueryDynamicFlags(in_data, - out_data, - params, - reinterpret_cast(extraP)); - break; - } - } - catch(PF_Err &thrown_err){ - err = thrown_err; - } - return err; + case PF_Cmd_COMPLETELY_GENERAL: + err = RespondtoAEGP(in_data, out_data, params, output, extraP); + break; + case PF_Cmd_DO_DIALOG: + // err = PopDialog(in_data,out_data,params,output); + break; + case PF_Cmd_USER_CHANGED_PARAM: + err = HandleChangedParam( + in_data, out_data, params, output, + reinterpret_cast(extraP)); + break; + case PF_Cmd_QUERY_DYNAMIC_FLAGS: + err = QueryDynamicFlags( + in_data, out_data, params, + reinterpret_cast(extraP)); + break; + } + } catch (PF_Err &thrown_err) { + err = thrown_err; + } + return err; } - -//------------------------------------------------------------------------------------------------- #endif \ No newline at end of file diff --git a/Source/Effects/FsEdgeLine/Fs_Target.h b/Source/Effects/FsEdgeLine/Fs_Target.h index 2aaeba8..9695f77 100644 --- a/Source/Effects/FsEdgeLine/Fs_Target.h +++ b/Source/Effects/FsEdgeLine/Fs_Target.h @@ -1,72 +1,59 @@ -//----------------------------------------------------------------------------------- /* - F's Plugins for VS2010/VS2012 + F's Plugins for VS2010/VS2012 */ -//----------------------------------------------------------------------------------- - #pragma once -#ifndef Fs_TARGET_H -#define Fs_TARGET_H - -//----------------------------------------------------------------------------------- -//プラグインの識別に使われる名前 -#define FS_NAME "F's EdgeLine" +// clang-format off +#include "FsVersion.h" +// clang-format on -//----------------------------------------------------------------------------------- -//プラグインの説明に使われる文字 -#define FS_DESCRIPTION "境界線を描く" +// Name used for plugin identification +#define FS_NAME "F's EdgeLine" -//----------------------------------------------------------------------------------- - //プラグインが表示されるメニュー名 - //#define FS_CATEGORY "F's Plugins-Channel" - //#define FS_CATEGORY "F's Plugins-Draw" - //#define FS_CATEGORY "F's Plugins-Filter" - #define FS_CATEGORY "NF's Plugins-Cell" - //#define FS_CATEGORY "F's Plugins-Colorize" - //#define FS_CATEGORY "F's Plugins-Script" - //#define FS_CATEGORY "F's Plugins-Test" +// Text used for plugin description +#define FS_DESCRIPTION "Draw boundary lines" -//----------------------------------------------------------- -#define SUPPORT_SMARTFX //これを有効にするとSmartFX+Float_Colorに対応する -//#define NO_USE_FSGRAPHICS //これを有効にするとFsGraphics関係がインクルードされない +// Menu name where plugin is displayed +// #define FS_CATEGORY "F's Plugins-Channel" +// #define FS_CATEGORY "F's Plugins-Draw" +// #define FS_CATEGORY "F's Plugins-Filter" +#define FS_CATEGORY "NF's Plugins-Cell" +// #define FS_CATEGORY "F's Plugins-Colorize" +// #define FS_CATEGORY "F's Plugins-Script" +// #define FS_CATEGORY "F's Plugins-Test" -//----------------------------------------------------------------------------------- -#include "FsVersion.h" +#define SUPPORT_SMARTFX // Enable this to support SmartFX+Float_Color +// #define NO_USE_FSGRAPHICS // Enable this to exclude FsGraphics related +// includes -//----------------------------------------------------------------------------------- -//out_flags +// out_flags /* out_data->out_flags - PF_OutFlag_PIX_INDEPENDENT 1024 - PF_OutFlag_NON_PARAM_VARY 4 - PF_OutFlag_DEEP_COLOR_AWARE 33554432 - PF_OutFlag_USE_OUTPUT_EXTENT 64 - PF_OutFlag_I_EXPAND_BUFFER 512 - PF_OutFlag_I_DO_DIALOG 32 + PF_OutFlag_PIX_INDEPENDENT 1024 + PF_OutFlag_NON_PARAM_VARY 4 + PF_OutFlag_DEEP_COLOR_AWARE 33554432 + PF_OutFlag_USE_OUTPUT_EXTENT 64 + PF_OutFlag_I_EXPAND_BUFFER 512 + PF_OutFlag_I_DO_DIALOG 32 */ -#define FS_OUT_FLAGS 33556032 //通常はこちら -//#define FS_OUT_FLAGS 33556036 //こっちを有効にすると毎フレームごとに描画する。NON_PARAM_VARYを動作中に切り替えるときもこちらに -//#define FS_OUT_FLAGS 1600 //8bitのみ +#define FS_OUT_FLAGS 33556032 // Usually use this one +// #define FS_OUT_FLAGS 33556036 // Enable this to render every frame. +// Also use this when switching NON_PARAM_VARY during operation #define +// FS_OUT_FLAGS 1600 // 8bit only -//----------------------------------------------------------------------------------- -//out_flags2 +// out_flags2 /* out_data->out_flags2 - PF_OutFlag2_FLOAT_COLOR_AWARE - PF_OutFlag2_PARAM_GROUP_START_COLLAPSED_FLAG - PF_OutFlag2_SUPPORTS_SMART_RENDER - PF_OutFlag2_SUPPORTS_QUERY_DYNAMIC_FLAGS - PF_OutFlag2_DOESNT_NEED_EMPTY_PIXELS; + PF_OutFlag2_FLOAT_COLOR_AWARE + PF_OutFlag2_PARAM_GROUP_START_COLLAPSED_FLAG + PF_OutFlag2_SUPPORTS_SMART_RENDER + PF_OutFlag2_SUPPORTS_QUERY_DYNAMIC_FLAGS + PF_OutFlag2_DOESNT_NEED_EMPTY_PIXELS; */ #if defined(SUPPORT_SMARTFX) #define FS_OUT_FLAGS2 134222921 #else #define FS_OUT_FLAGS2 134217801 #endif - - -//----------------------------------------------------------------------------------- -#endif