├── Readme
├── 1.png
├── 2.jpg
└── 3.jpg
├── Skeleton.cpp
├── Win
├── Skeleton.v11.suo
├── SkeletonPiPL.aps
├── Skeleton.vcxproj.user
├── SkeletonPiPL.rc
├── Skeleton.sln
├── Skeleton.vcxproj.filters
└── Skeleton.vcxproj
├── .gitignore
├── README.md
├── SkeletonPiPL.r
├── Skeleton_Strings.h
├── Skeleton_Strings.cpp
├── Skeleton.h
└── LICENSE
/Readme/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/smallpath/mask-keying/HEAD/Readme/1.png
--------------------------------------------------------------------------------
/Readme/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/smallpath/mask-keying/HEAD/Readme/2.jpg
--------------------------------------------------------------------------------
/Readme/3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/smallpath/mask-keying/HEAD/Readme/3.jpg
--------------------------------------------------------------------------------
/Skeleton.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/smallpath/mask-keying/HEAD/Skeleton.cpp
--------------------------------------------------------------------------------
/Win/Skeleton.v11.suo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/smallpath/mask-keying/HEAD/Win/Skeleton.v11.suo
--------------------------------------------------------------------------------
/Win/SkeletonPiPL.aps:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/smallpath/mask-keying/HEAD/Win/SkeletonPiPL.aps
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Debug files
2 | Win/TestResults/
3 | Win/x64/
4 | Win/Skeleton.sdf
5 |
6 | # Compiled Object files
7 | *.slo
8 | *.lo
9 | *.o
10 | *.obj
11 |
12 | # Precompiled Headers
13 | *.gch
14 | *.pch
15 |
16 | # Compiled Dynamic libraries
17 | *.so
18 | *.dylib
19 | *.dll
20 |
21 | # Fortran module files
22 | *.mod
23 |
24 | # Compiled Static libraries
25 | *.lai
26 | *.la
27 | *.a
28 | *.lib
29 |
30 | # Executables
31 | *.exe
32 | *.out
33 | *.app
34 |
--------------------------------------------------------------------------------
/Win/Skeleton.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | C:\Program Files\Adobe\Adobe After Effects CC 2014\Support Files\AfterFX.exe
5 | WindowsLocalDebugger
6 | -debug
7 |
8 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # MaskKeying
2 | A plugin for Adobe After Effects written by C/C++,built to keying animation with mask vertices
3 |
4 | # Install
5 | Download the latest release,then extract *.aex to the plugin folder of After effects
6 |
7 | Restart After effects
8 |
9 | # UI
10 | 
11 |
12 | # Demo
13 |
14 | Before:
15 | 
16 |
17 | After:
18 | 
19 |
20 | # How to use
21 | 1. Apply effect to the layer.
22 | 2. Create a mask to the layer.The vertice will lead the plugin to keying pixels around it,depends on the BG Threshold
23 | 3. Select the mask in the effect panel.Then the keying is already done.
24 |
25 | # Tip
26 | You can reset the mask by clicking 'reset mask currently'.The mask will be set to a rectangle,then you can drag any vertice to keying
27 |
28 | # License
29 | Apache License v2.0
30 |
31 |
32 |
--------------------------------------------------------------------------------
/Win/SkeletonPiPL.rc:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 16000 PiPL DISCARDABLE
6 | BEGIN
7 | 0x0001,
8 | 0, 0x0,
9 | 12, 0x0,
10 | "MIB8",
11 | "dnik",
12 | 0, 0x0,
13 | 4, 0x0,
14 | "TKFe",
15 |
16 | "MIB8",
17 | "eman",
18 | 0, 0x0,
19 | 12, 0x0,
20 | "\x0BSp Mask Key",
21 |
22 | "MIB8",
23 | "gtac",
24 | 0, 0x0,
25 | 12, 0x0,
26 | "\x09Smallpath\0\0",
27 |
28 | "MIB8",
29 | "4668",
30 | 0, 0x0,
31 | 16, 0x0,
32 | "EntryPointFunc\0\0",
33 |
34 | "MIB8",
35 | "RVPe",
36 | 0, 0x0,
37 | 4, 0x0,
38 | 2, 0,
39 |
40 | "MIB8",
41 | "RVSe",
42 | 0, 0x0,
43 | 4, 0x0,
44 | 13, 4,
45 |
46 | "MIB8",
47 | 0x65564552L,
48 | 0L,
49 | 4L
50 | 524289L,
51 |
52 | "MIB8",
53 | 0x65494E46L,
54 | 0L,
55 | 2L
56 | 0L,
57 |
58 | "MIB8",
59 | "OLGe",
60 | 0L,
61 | 4L,
62 | 33554432L,
63 |
64 | "MIB8",
65 | "2LGe",
66 | 0L,
67 | 4L,
68 | 0L,
69 |
70 | "MIB8",
71 | "ANMe",
72 | 0, 0x0,
73 | 12, 0x0,
74 | "\x0BADBE Sp Key",
75 |
76 | "MIB8",
77 | 0x6165464CL,
78 | 0L,
79 | 4L
80 | 0L,
81 |
82 |
83 | END
84 |
85 |
--------------------------------------------------------------------------------
/Win/Skeleton.sln:
--------------------------------------------------------------------------------
1 | Microsoft Visual Studio Solution File, Format Version 11.00
2 | # Visual Studio 2010
3 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Skeleton", "Skeleton.vcxproj", "{2C8DED3E-111D-4272-A54A-F1865F02A90E}"
4 | EndProject
5 | Global
6 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
7 | Debug|x64 = Debug|x64
8 | Debug|x86 = Debug|x86
9 | Release|x64 = Release|x64
10 | Release|x86 = Release|x86
11 | EndGlobalSection
12 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
13 | {2C8DED3E-111D-4272-A54A-F1865F02A90E}.Debug|x64.ActiveCfg = Debug|x64
14 | {2C8DED3E-111D-4272-A54A-F1865F02A90E}.Debug|x64.Build.0 = Debug|x64
15 | {2C8DED3E-111D-4272-A54A-F1865F02A90E}.Debug|x86.ActiveCfg = Debug|Win32
16 | {2C8DED3E-111D-4272-A54A-F1865F02A90E}.Debug|x86.Build.0 = Debug|Win32
17 | {2C8DED3E-111D-4272-A54A-F1865F02A90E}.Release|x64.ActiveCfg = Release|x64
18 | {2C8DED3E-111D-4272-A54A-F1865F02A90E}.Release|x64.Build.0 = Release|x64
19 | {2C8DED3E-111D-4272-A54A-F1865F02A90E}.Release|x86.ActiveCfg = Release|Win32
20 | {2C8DED3E-111D-4272-A54A-F1865F02A90E}.Release|x86.Build.0 = Release|Win32
21 | EndGlobalSection
22 | GlobalSection(SolutionProperties) = preSolution
23 | HideSolutionNode = FALSE
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/SkeletonPiPL.r:
--------------------------------------------------------------------------------
1 | #include "AEConfig.h"
2 | #include "AE_EffectVers.h"
3 |
4 | #ifndef AE_OS_WIN
5 | #include
6 | #endif
7 |
8 | resource 'PiPL' (16000) {
9 | { /* array properties: 12 elements */
10 | /* [1] */
11 | Kind {
12 | AEEffect
13 | },
14 | /* [2] */
15 | Name {
16 | "Sp Mask Key"
17 | },
18 | /* [3] */
19 | Category {
20 | "Smallpath"
21 | },
22 | #ifdef AE_OS_WIN
23 | #ifdef AE_PROC_INTELx64
24 | CodeWin64X86 {"EntryPointFunc"},
25 | #else
26 | CodeWin32X86 {"EntryPointFunc"},
27 | #endif
28 | #else
29 | #ifdef AE_OS_MAC
30 | CodeMachOPowerPC {"EntryPointFunc"},
31 | CodeMacIntel32 {"EntryPointFunc"},
32 | CodeMacIntel64 {"EntryPointFunc"},
33 | #endif
34 | #endif
35 | /* [6] */
36 | AE_PiPL_Version {
37 | 2,
38 | 0
39 | },
40 | /* [7] */
41 | AE_Effect_Spec_Version {
42 | PF_PLUG_IN_VERSION,
43 | PF_PLUG_IN_SUBVERS
44 | },
45 | /* [8] */
46 | AE_Effect_Version {
47 | 524289 /* 1.0 */
48 | },
49 | /* [9] */
50 | AE_Effect_Info_Flags {
51 | 0
52 | },
53 | /* [10] */
54 | AE_Effect_Global_OutFlags {
55 | 0x02000000 //50332160
56 |
57 | },
58 | AE_Effect_Global_OutFlags_2 {
59 | 0x00000000
60 | },
61 | /* [11] */
62 | AE_Effect_Match_Name {
63 | "ADBE Sp Key"
64 | },
65 | /* [12] */
66 | AE_Reserved_Info {
67 | 0
68 | }
69 | }
70 | };
71 |
72 |
--------------------------------------------------------------------------------
/Skeleton_Strings.h:
--------------------------------------------------------------------------------
1 | /*******************************************************************/
2 | /* */
3 | /* ADOBE CONFIDENTIAL */
4 | /* _ _ _ _ _ _ _ _ _ _ _ _ _ */
5 | /* */
6 | /* Copyright 2007 Adobe Systems Incorporated */
7 | /* All Rights Reserved. */
8 | /* */
9 | /* NOTICE: All information contained herein is, and remains the */
10 | /* property of Adobe Systems Incorporated and its suppliers, if */
11 | /* any. The intellectual and technical concepts contained */
12 | /* herein are proprietary to Adobe Systems Incorporated and its */
13 | /* suppliers and may be covered by U.S. and Foreign Patents, */
14 | /* patents in process, and are protected by trade secret or */
15 | /* copyright law. Dissemination of this information or */
16 | /* reproduction of this material is strictly forbidden unless */
17 | /* prior written permission is obtained from Adobe Systems */
18 | /* Incorporated. */
19 | /* */
20 | /*******************************************************************/
21 |
22 | #pragma once
23 |
24 | typedef enum {
25 | StrID_NONE,
26 | StrID_Name,
27 | StrID_Description,
28 | StrID_Flood_Seed_Param_Name,
29 | StrID_BG_Param_Name,
30 | StrID_Set_Mask_Param_Name,
31 | StrID_NUMTYPES
32 | } StrIDType;
33 |
--------------------------------------------------------------------------------
/Skeleton_Strings.cpp:
--------------------------------------------------------------------------------
1 | /*******************************************************************/
2 | /* */
3 | /* ADOBE CONFIDENTIAL */
4 | /* _ _ _ _ _ _ _ _ _ _ _ _ _ */
5 | /* */
6 | /* Copyright 2007 Adobe Systems Incorporated */
7 | /* All Rights Reserved. */
8 | /* */
9 | /* NOTICE: All information contained herein is, and remains the */
10 | /* property of Adobe Systems Incorporated and its suppliers, if */
11 | /* any. The intellectual and technical concepts contained */
12 | /* herein are proprietary to Adobe Systems Incorporated and its */
13 | /* suppliers and may be covered by U.S. and Foreign Patents, */
14 | /* patents in process, and are protected by trade secret or */
15 | /* copyright law. Dissemination of this information or */
16 | /* reproduction of this material is strictly forbidden unless */
17 | /* prior written permission is obtained from Adobe Systems */
18 | /* Incorporated. */
19 | /* */
20 | /*******************************************************************/
21 |
22 | #include "Skeleton.h"
23 |
24 | typedef struct {
25 | A_u_long index;
26 | A_char str[256];
27 | } TableString;
28 |
29 |
30 |
31 | TableString g_strs[StrID_NUMTYPES] = {
32 | StrID_NONE, "",
33 | StrID_Name, "Sp Mask Key v1.0",
34 | StrID_Description, "My first plug-in.\r\rRemove pixels around every mask point,based on pixel threshold.\rFor your keying pleasure.\r\rCopyright 2015 Smallpath.",
35 | StrID_Flood_Seed_Param_Name, "Mask",
36 | StrID_BG_Param_Name, "BG Threshold",
37 | StrID_Set_Mask_Param_Name, "",
38 | };
39 |
40 |
41 | char *GetStringPtr(int strNum)
42 | {
43 | return g_strs[strNum].str;
44 | }
45 |
--------------------------------------------------------------------------------
/Skeleton.h:
--------------------------------------------------------------------------------
1 | /*******************************************************************/
2 | /* */
3 | /* ADOBE CONFIDENTIAL */
4 | /* _ _ _ _ _ _ _ _ _ _ _ _ _ */
5 | /* */
6 | /* Copyright 2007 Adobe Systems Incorporated */
7 | /* All Rights Reserved. */
8 | /* */
9 | /* NOTICE: All information contained herein is, and remains the */
10 | /* property of Adobe Systems Incorporated and its suppliers, if */
11 | /* any. The intellectual and technical concepts contained */
12 | /* herein are proprietary to Adobe Systems Incorporated and its */
13 | /* suppliers and may be covered by U.S. and Foreign Patents, */
14 | /* patents in process, and are protected by trade secret or */
15 | /* copyright law. Dissemination of this information or */
16 | /* reproduction of this material is strictly forbidden unless */
17 | /* prior written permission is obtained from Adobe Systems */
18 | /* Incorporated. */
19 | /* */
20 | /*******************************************************************/
21 |
22 | /*
23 | Skeleton.h
24 | */
25 |
26 | #pragma once
27 |
28 | #ifndef SKELETON_H
29 | #define SKELETON_H
30 |
31 | typedef unsigned char u_char;
32 | typedef unsigned short u_short;
33 | typedef unsigned short u_int16;
34 | typedef unsigned long u_long;
35 | typedef short int int16;
36 | #define PF_TABLE_BITS 12
37 | #define PF_TABLE_SZ_16 4096
38 |
39 | #define PF_DEEP_COLOR_AWARE 1 // make sure we get 16bpc pixels;
40 | // AE_Effect.h checks for this.
41 |
42 | #include "AEConfig.h"
43 |
44 | #ifdef AE_OS_WIN
45 | typedef unsigned short PixelType;
46 | #include
47 | #endif
48 |
49 | #include "stdio.h"
50 | #include "entry.h"
51 | #include "AE_Effect.h"
52 | #include "AE_EffectCB.h"
53 | #include "AE_Macros.h"
54 | #include "Param_Utils.h"
55 | #include "AE_EffectCBSuites.h"
56 | #include "String_Utils.h"
57 | #include "AE_GeneralPlug.h"
58 | #include "AEFX_ChannelDepthTpl.h"
59 | #include "AEGP_SuiteHandler.h"
60 | #include "AEFX_SuiteHelper.h"
61 | #include "PF_Masks.h"
62 | #include
63 | #include
64 |
65 | #include "Skeleton_Strings.h"
66 | #pragma comment(lib,"ws2_32.lib")
67 | /* Versioning information */
68 |
69 | #define MAJOR_VERSION 1
70 | #define MINOR_VERSION 0
71 | #define BUG_VERSION 0
72 | #define STAGE_VERSION PF_Stage_DEVELOP
73 | #define BUILD_VERSION 1
74 | #define MaxSize 50
75 |
76 | /* Parameter defaults */
77 |
78 | #define SKELETON_SLIDER_MIN 0
79 | #define SKELETON_SLIDER_MAX 100
80 | #define SKELETON_SLIDER_DFLT 10
81 |
82 | struct stack_node {
83 | int x;
84 | int y;
85 | struct stack_node * next;
86 | };
87 | typedef stack_node stack_list;
88 | typedef stack_list * link;
89 |
90 | typedef struct {
91 | PF_Boolean initializedB;
92 | AEGP_PluginID my_id;
93 | } my_global_data, *my_global_dataP, **my_global_dataH;
94 |
95 | enum {
96 | SKELETON_INPUT = 0,
97 | SKELETON_Flood_Seed,
98 | SKELETON_BG,
99 | SKELETON_Set_Mask,
100 | SKELETON_NUM_PARAMS
101 | };
102 |
103 | enum {
104 | SKELETON_View_Mode_DISK_ID = 1,
105 | SKELETON_Flood_Seed_DISK_ID,
106 | SKELETON_BG_DISK_ID,
107 | SKELETON_Set_Mask_DISK_ID
108 | };
109 |
110 | typedef struct GainInfo{
111 | PF_FpLong gainF;
112 | } GainInfo, *GainInfoP, **GainInfoH;
113 |
114 | #ifdef __cplusplus
115 | extern "C" {
116 | #endif
117 |
118 | DllExport PF_Err
119 | EntryPointFunc(
120 | PF_Cmd cmd,
121 | PF_InData *in_data,
122 | PF_OutData *out_data,
123 | PF_ParamDef *params[],
124 | PF_LayerDef *output,
125 | void *extra) ;
126 |
127 | #ifdef __cplusplus
128 | }
129 | #endif
130 |
131 | #endif // SKELETON_H
--------------------------------------------------------------------------------
/Win/Skeleton.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {b69af876-1d29-49fa-9917-fd2efa165225}
6 | ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe
7 |
8 |
9 | {e1cf207c-552f-4fd4-96ed-76ccc9ebdf72}
10 |
11 |
12 | {728b7ff5-0e0a-45d2-999a-696b548f9a28}
13 |
14 |
15 | {f2f05dcb-eed5-4aa5-b2d0-504449ce3cf4}
16 |
17 |
18 |
19 |
20 | Resources
21 |
22 |
23 |
24 |
25 | Headers
26 |
27 |
28 | Headers
29 |
30 |
31 | Headers\AE
32 |
33 |
34 | Headers\AE
35 |
36 |
37 | Headers\AE
38 |
39 |
40 | Headers\AE
41 |
42 |
43 | Headers\AE
44 |
45 |
46 | Headers\AE
47 |
48 |
49 | Headers\AE
50 |
51 |
52 | Headers\AE
53 |
54 |
55 | Headers\AE
56 |
57 |
58 | Headers\AE
59 |
60 |
61 | Headers\AE
62 |
63 |
64 | Headers\AE
65 |
66 |
67 | Headers\AE
68 |
69 |
70 | Headers\AE
71 |
72 |
73 | Headers\AE
74 |
75 |
76 | Headers\AE
77 |
78 |
79 | Headers\AE
80 |
81 |
82 | Headers\AE
83 |
84 |
85 | Headers\AE
86 |
87 |
88 |
89 |
90 | Supporting code
91 |
92 |
93 | Supporting code
94 |
95 |
96 |
97 |
98 | Headers\AE
99 |
100 |
101 |
102 |
103 | Resources
104 |
105 |
106 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "{}"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright {yyyy} {name of copyright owner}
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
--------------------------------------------------------------------------------
/Win/Skeleton.vcxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | Win32
7 |
8 |
9 | Debug
10 | x64
11 |
12 |
13 | Release
14 | Win32
15 |
16 |
17 | Release
18 | x64
19 |
20 |
21 |
22 | {2C8DED3E-111D-4272-A54A-F1865F02A90E}
23 | Skeleton
24 | Sp_Mask_Key
25 |
26 |
27 |
28 | DynamicLibrary
29 | false
30 | v110
31 |
32 |
33 | DynamicLibrary
34 | false
35 | v110
36 |
37 |
38 | DynamicLibrary
39 | false
40 | v110
41 |
42 |
43 | DynamicLibrary
44 | false
45 | v110
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 | <_ProjectFileVersion>10.0.40219.1
69 | C:\Program Files\Adobe\Adobe After Effects CC 2014\Support Files\Plug-ins\
70 | $(AE_PLUGIN_BUILD_DIR)\
71 | $(Platform)\$(Configuration)\
72 | $(Platform)\$(Configuration)\
73 | true
74 | true
75 | $(AE_PLUGIN_BUILD_DIR)\
76 | $(AE_PLUGIN_BUILD_DIR)\
77 | $(Platform)\$(Configuration)\
78 | $(Platform)\$(Configuration)\
79 | true
80 | true
81 | AllRules.ruleset
82 | AllRules.ruleset
83 |
84 |
85 |
86 |
87 | AllRules.ruleset
88 | AllRules.ruleset
89 |
90 |
91 |
92 |
93 | .aex
94 | .aex
95 | .aex
96 | .aex
97 |
98 |
99 | $(ProjectName)
100 |
101 |
102 |
103 | _DEBUG;%(PreprocessorDefinitions)
104 | true
105 | true
106 | X64
107 | .\Debug/Skeleton.tlb
108 |
109 |
110 |
111 |
112 | Disabled
113 | ..\..\..\Headers;..\..\..\Headers\SP;..\..\..\Headers\Win;..\..\..\Resources;..\..\..\Util;%(AdditionalIncludeDirectories)
114 | MSWindows;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
115 | MultiThreadedDebugDLL
116 | 4Bytes
117 | true
118 |
119 |
120 | AE_Effect.h
121 | $(IntDir)$(TargetName).pch
122 | NoListing
123 | $(IntDir)
124 | $(IntDir)
125 | $(IntDir)vc$(PlatformToolsetVersion).pdb
126 | true
127 | Level3
128 | true
129 | true
130 | ProgramDatabase
131 | Default
132 |
133 |
134 | _DEBUG;%(PreprocessorDefinitions)
135 | 0x0409
136 |
137 |
138 | NotSet
139 | $(OutDir)$(TargetName)$(TargetExt)
140 | true
141 | true
142 | $(IntDir)$(TargetName).pdb
143 |
144 |
145 | false
146 |
147 |
148 | $(IntDir)/$(TargetName).lib
149 | MachineX64
150 |
151 |
152 |
153 |
154 | $(IntDir)$(TargetName).bsc
155 |
156 |
157 |
158 |
159 | _DEBUG;%(PreprocessorDefinitions)
160 | true
161 | true
162 | X64
163 | .\Debug/Skeleton.tlb
164 |
165 |
166 |
167 |
168 | MaxSpeed
169 | ..\..\..\Headers;..\..\..\Headers\SP;..\..\..\Headers\Win;..\..\..\Resources;..\..\..\Util;%(AdditionalIncludeDirectories)
170 | MultiThreadedDLL
171 | 4Bytes
172 | true
173 |
174 |
175 | AE_Effect.h
176 | $(IntDir)$(TargetName).pch
177 | NoListing
178 | $(IntDir)
179 | $(IntDir)
180 | $(IntDir)vc$(PlatformToolsetVersion).pdb
181 | true
182 | Level3
183 | true
184 | true
185 | ProgramDatabase
186 | Default
187 | MSWindows;WIN32;_WINDOWS;%(PreprocessorDefinitions)
188 |
189 |
190 | %(PreprocessorDefinitions)
191 | 0x0409
192 |
193 |
194 | NotSet
195 | $(OutDir)$(TargetName)$(TargetExt)
196 | true
197 |
198 |
199 | $(IntDir)$(TargetName).pdb
200 |
201 |
202 | false
203 |
204 |
205 | $(IntDir)/$(TargetName).lib
206 | MachineX64
207 |
208 |
209 | $(IntDir)$(TargetName).bsc
210 |
211 |
212 |
213 |
214 | _DEBUG;%(PreprocessorDefinitions)
215 | true
216 | true
217 | X64
218 | .\Debug/Skeleton.tlb
219 |
220 |
221 |
222 |
223 | Disabled
224 | ..\..\..\Headers;..\..\..\Headers\SP;..\..\..\Headers\Win;..\..\..\Resources;..\..\..\Util;%(AdditionalIncludeDirectories)
225 | MSWindows;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
226 | MultiThreadedDebugDLL
227 | 4Bytes
228 | true
229 |
230 |
231 | AE_Effect.h
232 | $(IntDir)$(TargetName).pch
233 | NoListing
234 | $(IntDir)
235 | $(IntDir)
236 | $(IntDir)vc$(PlatformToolsetVersion).pdb
237 | true
238 | Level3
239 | true
240 | true
241 | ProgramDatabase
242 | Default
243 |
244 |
245 | _DEBUG;%(PreprocessorDefinitions)
246 | 0x0409
247 |
248 |
249 | NotSet
250 | $(OutDir)$(TargetName)$(TargetExt)
251 | true
252 | true
253 | $(IntDir)$(TargetName).pdb
254 |
255 |
256 | false
257 |
258 |
259 | $(IntDir)/$(TargetName).lib
260 | MachineX86
261 |
262 |
263 | $(IntDir)$(TargetName).bsc
264 |
265 |
266 |
267 |
268 | _DEBUG;%(PreprocessorDefinitions)
269 | true
270 | true
271 | X64
272 | .\Debug/Skeleton.tlb
273 |
274 |
275 |
276 |
277 | MaxSpeed
278 | ..\..\..\Headers;..\..\..\Headers\SP;..\..\..\Headers\Win;..\..\..\Resources;..\..\..\Util;%(AdditionalIncludeDirectories)
279 | MultiThreadedDLL
280 | 4Bytes
281 | true
282 |
283 |
284 | AE_Effect.h
285 | $(IntDir)$(TargetName).pch
286 | NoListing
287 | $(IntDir)
288 | $(IntDir)
289 | $(IntDir)vc$(PlatformToolsetVersion).pdb
290 | true
291 | Level3
292 | true
293 | true
294 | ProgramDatabase
295 | Default
296 | MSWindows;WIN32;_WINDOWS;%(PreprocessorDefinitions)
297 |
298 |
299 | %(PreprocessorDefinitions)
300 | 0x0409
301 |
302 |
303 | NotSet
304 | $(OutDir)$(TargetName)$(TargetExt)
305 | true
306 |
307 |
308 | $(IntDir)$(TargetName).pdb
309 |
310 |
311 | false
312 |
313 |
314 | $(IntDir)/$(TargetName).lib
315 | MachineX86
316 |
317 |
318 | $(IntDir)$(TargetName).bsc
319 |
320 |
321 |
322 |
323 | Compiling the PiPL
324 | Compiling the PiPL
325 | cl /I "$(ProjectDir)..\..\..\Headers" /EP ".."\\"%(Filename).r" > "$(IntDir)"\\"%(Filename).rr"
326 | "$(ProjectDir)..\..\..\Resources\PiPLTool" "$(IntDir)%(Filename).rr" "$(IntDir)%(Filename).rrc"
327 | cl /D "MSWindows" /EP $(IntDir)%(Filename).rrc > "$(ProjectDir)"\\"%(Filename)".rc
328 |
329 | cl /I "$(ProjectDir)..\..\..\Headers" /EP ".."\\"%(Filename).r" > "$(IntDir)"\\"%(Filename).rr"
330 | "$(ProjectDir)..\..\..\Resources\PiPLTool" "$(IntDir)%(Filename).rr" "$(IntDir)%(Filename).rrc"
331 | cl /D "MSWindows" /EP $(IntDir)%(Filename).rrc > "$(ProjectDir)"\\"%(Filename)".rc
332 |
333 | $(ProjectDir)%(Filename).rc;%(Outputs)
334 | $(ProjectDir)%(Filename).rc;%(Outputs)
335 | Compiling the PiPL
336 | Compiling the PiPL
337 | cl /I "$(ProjectDir)..\..\..\Headers" /EP ".."\\"%(Filename).r" > "$(IntDir)"\\"%(Filename).rr"
338 | "$(ProjectDir)..\..\..\Resources\PiPLTool" "$(IntDir)%(Filename).rr" "$(IntDir)%(Filename).rrc"
339 | cl /D "MSWindows" /EP $(IntDir)%(Filename).rrc > "$(ProjectDir)"\\"%(Filename)".rc
340 |
341 | cl /I "$(ProjectDir)..\..\..\Headers" /EP ".."\\"%(Filename).r" > "$(IntDir)"\\"%(Filename).rr"
342 | "$(ProjectDir)..\..\..\Resources\PiPLTool" "$(IntDir)%(Filename).rr" "$(IntDir)%(Filename).rrc"
343 | cl /D "MSWindows" /EP $(IntDir)%(Filename).rrc > "$(ProjectDir)"\\"%(Filename)".rc
344 |
345 | $(ProjectDir)%(Filename).rc;%(Outputs)
346 | $(ProjectDir)%(Filename).rc;%(Outputs)
347 |
348 |
349 |
350 |
351 |
352 |
353 |
354 |
355 |
356 |
357 |
358 |
359 |
360 |
361 |
362 |
363 |
364 |
365 |
366 |
367 |
368 |
369 |
370 |
371 |
372 |
373 |
374 |
375 |
376 |
377 |
378 |
379 |
380 |
381 |
382 |
383 |
384 |
385 |
--------------------------------------------------------------------------------