Skip to content

Commit

Permalink
PopcornFX Plugin v2.19.0
Browse files Browse the repository at this point in the history
  • Loading branch information
PopcornFX Bot authored and ArthurPKFX committed Apr 5, 2024
1 parent b52489d commit e10dbcd
Show file tree
Hide file tree
Showing 1,052 changed files with 166,018 additions and 0 deletions.
30 changes: 30 additions & 0 deletions .github/workflows/draft-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
on:
push:
tags:
- v*.*.*

jobs:
release-on-tag:
runs-on: ubuntu-latest
permissions:
contents: write

steps:
- uses: actions/checkout@v3

- uses: jungwinter/split@master
id: split
with:
msg: ${{ github.ref_name }}
separator: "."

- name: Set environment
run: echo "VERSION=$(echo "${GITHUB_REF_NAME#v}" | sed 's/-LTS//g')" >> $GITHUB_ENV && echo "MINOR_VERSION=${{ steps.split.outputs._0 }}.${{ steps.split.outputs._1 }}" >> $GITHUB_ENV

- uses: ncipollo/release-action@v1
with:
draft: true
name: "After Effects Plugin: ${{ github.ref_name }}"
body: "PopcornFX Plugin ${{ github.ref_name }} for After Effects\n\n
You can download the PopcornFX Editor and find the full changelog here:\n
https://wiki.popcornfx.com/index.php?title=PK-Editor_${{ env.MINOR_VERSION }}#Changelog_${{ env.VERSION }}"
65 changes: 65 additions & 0 deletions AE.code-workspace
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
{
"folders": [
{
"path": "."
}
],
"settings": {
"C_Cpp.default.defines": [ "PK_BUILD_WITH_METAL_SUPPORT=1" ],
"C_Cpp.default.includePath": [
"../../Runtime",
"../../Runtime/include",
"../../Runtime/include/license/AfterEffects",
"../../Integrations/AfterEffects/PK-AfterEffects__Main/Sources",
"../../Integrations/AfterEffects/PK-AfterEffects__Main/Include",
"../../Integrations/AfterEffects/PK-AfterEffects__Main/Precompiled",
"../../Integrations/AfterEffects/AE_Suites",
"../../Integrations/AfterEffects/External/AE SDK/Util",
"../../Integrations/AfterEffects/External/AE SDK/Resources",
"../../Integrations/AfterEffects/External/AE SDK/Headers",
"../../Integrations/AfterEffects/External/AE SDK/Headers/SP",
"../../Integrations/AfterEffects/External/AE SDK/Headers/adobesdk",
"../../Integrations/AfterEffects/External/AE SDK/Headers/adobesdk/config",
"../../Integrations/AfterEffects/External/AE SDK/Headers/adobesdk/drawbotsuite",
"../../SDK/Samples/PK-Samples",
"../../SDK/Samples/External/imgui",
"../../SDK/Samples/External/GL/include",
"/usr/local/include/SDL2",
],
"lldb.launch.env": {
"AEBin": "\"/Applications/Adobe After Effects 2022/Adobe After Effects 2022.app/Contents/MacOS/After Effects\""
},
"terminal.integrated.env.osx": {
"AEBin": "\"/Applications/Adobe After Effects 2022/Adobe After Effects 2022.app/Contents/MacOS/After Effects\""
},
"files.associations": {
"array": "cpp",
"iterator": "cpp",
"string": "cpp",
"string_view": "cpp",
"vector": "cpp",
"__locale": "cpp"
},
},
"launch": {
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(lldb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "/Applications/Adobe After Effects 2022/Adobe After Effects 2022.app/Contents/MacOS/After Effects",
"args": ["--debug"],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "lldb",
"visualizerFile": "${workspaceRoot}/../../../configurations/visual studio/debugger/PopcornFX.natvis",
}
]
}
}
39 changes: 39 additions & 0 deletions AE_Effect_Attribute/Include/AEAttribute_Main.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
//----------------------------------------------------------------------------
// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/
//----------------------------------------------------------------------------
#pragma once

#ifndef __FX_AEATTRIBUTE_MAIN_H__
#define __FX_AEATTRIBUTE_MAIN_H__

#include <AEConfig.h>

#ifdef AE_OS_WIN
typedef unsigned short PixelType;
#include <Windows.h>
#endif

#include <entry.h>
#include <AE_Effect.h>

#include "PopcornFX_Define.h"

//----------------------------------------------------------------------------

extern "C" {
DllExport
PF_Err
EffectMain(
PF_Cmd cmd,
PF_InData *in_data,
PF_OutData *out_data,
PF_ParamDef *params[],
PF_LayerDef *output,
void *extra);

}

//----------------------------------------------------------------------------

#endif

58 changes: 58 additions & 0 deletions AE_Effect_Attribute/Include/AEAttribute_ParamDefine.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
//----------------------------------------------------------------------------
// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/
//----------------------------------------------------------------------------
#pragma once

#include <ae_precompiled.h>
#include <A.h>

#include <PopcornFX_Suite.h>

__AAEPK_BEGIN

//----------------------------------------------------------------------------

enum EPKParams
{
ATTRIBUTE_INPUT = 0,
ATTRIBUTE_PARAM,
ATTRIBUTE_NUM_PARAMS
};

//----------------------------------------------------------------------------

enum EStrIDType
{
StrID_NONE = 0,
StrID_Name,
StrID_Description,
StrID_Generic_Bool1,
StrID_Generic_Bool2,
StrID_Generic_Bool3,
StrID_Generic_Bool4,
StrID_Generic_Int1,
StrID_Generic_Int2,
StrID_Generic_Int3,
StrID_Generic_Int4,
StrID_Generic_Float1,
StrID_Generic_Float2,
StrID_Generic_Float3,
StrID_Generic_Float4,
StrID_Generic_Quaternion,

StrID_Generic_Infernal_Uuid,
StrID_Scale_Checkbox,
StrID_Generic_Infernal_Name,

StrID_Generic_Color_RGB,
StrID_Generic_Color_A,

StrID_Parameters_Reset,
StrID_Parameters_Reset_Button,

StrID_NUMTYPES
};

//----------------------------------------------------------------------------

__AAEPK_END
99 changes: 99 additions & 0 deletions AE_Effect_Attribute/Include/AEAttribute_PluginInterface.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
//----------------------------------------------------------------------------
// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/
//----------------------------------------------------------------------------
#pragma once

#ifndef __FX_CPluginInterface_H__
#define __FX_CPluginInterface_H__

#include "PopcornFX_Define.h"
#include "PopcornFX_BasePluginInterface.h"

#include <AE_Effect.h>
#include <AE_EffectCB.h>
#include <AE_Macros.h>
#include <Param_Utils.h>
#include <AE_EffectCBSuites.h>
#include <AE_GeneralPlug.h>
#include <AEFX_ChannelDepthTpl.h>
#include <AEGP_SuiteHandler.h>

#include <PopcornFX_Suite.h>

#include <unordered_map>
#include <thread>

__AAEPK_BEGIN

struct SAAEIOData;
struct SAttributeDesc;
struct SAttributeSequenceDataFlat;

//----------------------------------------------------------------------------

class CPluginInterface : public CBasePluginInterface
{
struct SAttributeData
{
//Memory Owned by effect
SAttributeDesc *m_DescAttribute;

bool m_UIVisibility[__Attribute_Parameters_Count];
bool m_IsDefault;

SAttributeData()
: m_DescAttribute(nullptr)
, m_IsDefault(true)
{
}
~SAttributeData()
{
m_DescAttribute = nullptr;
}
};
public:
~CPluginInterface();
static CPluginInterface &Instance();

PF_Err About(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output);
PF_Err GlobalSetup(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output);
PF_Err ParamsSetup(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output);
PF_Err GlobalSetdown(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output);

PF_Err SequenceSetup(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output);
PF_Err SequenceReSetup(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output);
PF_Err SequenceFlatten(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output);
PF_Err SequenceShutdown(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output);

PF_Err PreRender(SAAEIOData &AAEData);
PF_Err SmartRender(SAAEIOData &AAEData);
PF_Err UpdateParams(SAAEIOData &AAEData, PF_ParamDef *params[]);
PF_Err UpdateParamsUI(SAAEIOData &AAEData, PF_ParamDef *params[]);

PF_Err SetDefaultValueIFN(SAAEIOData &AAEData, PF_ParamDef *params[], SAttributeData *AttrData);

PF_Err HandleDataFromAEGP(SAAEIOData &AAEData, PF_ParamDef *params[]);

void UpdateBoolAttribute(SAAEIOData &AAEData, SAttributeDesc *descriptor, bool *uiVisibility);
void UpdateIntAttribute(SAAEIOData &AAEData, SAttributeDesc *descriptor, bool *uiVisibility);
void UpdateFloatAttribute(SAAEIOData &AAEData, SAttributeDesc *descriptor, bool *uiVisibility);

private:
CPluginInterface();
static CPluginInterface *m_Instance;
static uint32_t m_AttrUID;

bool _GetAttributeSequenceUID(SAAEIOData &AAEData, std::string &out);

PF_Err _RegisterAttributeInstancePlugin(SAAEIOData &AAEData, PF_ParamDef *params[], SAttributeSequenceDataFlat *sequenceData, bool setup);

std::unordered_map<std::string, SAttributeData*> m_AttributeData;

std::thread::id m_MainThreadID;
};

//----------------------------------------------------------------------------

__AAEPK_END

#endif
52 changes: 52 additions & 0 deletions AE_Effect_Attribute/Include/AEAttribute_SequenceData.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
//----------------------------------------------------------------------------
// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/
//----------------------------------------------------------------------------
#pragma once

#ifndef __AEATTRIBUTE_SEQUENCEDATA_H__
#define __AEATTRIBUTE_SEQUENCEDATA_H__

#include <ae_precompiled.h>
#include <A.h>
#include <string>

__AAEPK_BEGIN

//----------------------------------------------------------------------------

namespace SequenceCST
{
static const size_t MAX_PATH_LEN = 1024;
static const size_t MAX_NAME_LEN = 100;
static const size_t UUID_LEN = 64;
};

//----------------------------------------------------------------------------

struct SAttributeSequenceDataFlat
{
bool m_IsFlat = true;

char m_AttributeUUID[SequenceCST::UUID_LEN];
size_t m_AttributeUUIDLen;

char m_AttributeName[SequenceCST::MAX_NAME_LEN];
size_t m_AttributeNameLen;

bool m_IsDefault = true;

A_long m_LayerID;

void CopyFrom(SAttributeSequenceDataFlat* src);

void SetIsDefaultValue(bool value);
bool SetUUID(const char *uuid);
bool SetName(const char *name);
bool SetLayerID(bool value);
};

//----------------------------------------------------------------------------

__AAEPK_END

#endif // !__AAEFFECT_SEQUENCEDATA_H__
1 change: 1 addition & 0 deletions AE_Effect_Attribute/PkgInfo
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
eFKTFXTC
1 change: 1 addition & 0 deletions AE_Effect_Attribute/Precompiled/ae_precompiled.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#include "ae_precompiled.h"
13 changes: 13 additions & 0 deletions AE_Effect_Attribute/Precompiled/ae_precompiled.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#pragma once

#undef PV_MODULE_NAME
#undef PV_MODULE_SYM
#define PV_MODULE_NAME "AEPlugin"
#define PV_MODULE_SYM AEPlugin

#include <PopcornFX_Define.h>

#if defined(PK_WINDOWS)
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#endif
Loading

0 comments on commit e10dbcd

Please sign in to comment.