void initc(void) #endif { #if PY_MAJOR_VERSION >= 3 PyObject *module = PyModule_Create(&moduledef); #else PyObject *module = Py_InitModule3("c", module_functions, module_doc); #endif Py_INCREF((PyObject *)&polypaths_planar_overrideVec2Type); Py_INCREF((PyObject *)&polypaths_planar_overrideSeq2Type); Py_INCREF((PyObject *)&polypaths_planar_overrideVec2ArrayType); Py_INCREF((PyObject *)&polypaths_planar_overrideAffineType); Py_INCREF((PyObject *)&polypaths_planar_overrideBBoxType); Py_INCREF((PyObject *)&polypaths_planar_overrideLineType); Py_INCREF((PyObject *)&polypaths_planar_overrideRayType); Py_INCREF((PyObject *)&polypaths_planar_overrideSegmentType); Py_INCREF((PyObject *)&polypaths_planar_overridePolygonType); INIT_TYPE(polypaths_planar_overrideVec2Type, "Vec2"); INIT_TYPE(polypaths_planar_overrideSeq2Type, "Seq2"); INIT_TYPE(polypaths_planar_overrideVec2ArrayType, "Vec2Array"); /* Override inheritance of tp_itemsize, ugly */ polypaths_planar_overrideVec2ArrayType.tp_itemsize = 0; INIT_TYPE(polypaths_planar_overrideAffineType, "Affine"); INIT_TYPE(polypaths_planar_overrideBBoxType, "BoundingBox"); INIT_TYPE(polypaths_planar_overrideLineType, "Line"); INIT_TYPE(polypaths_planar_overrideRayType, "Ray"); INIT_TYPE(polypaths_planar_overrideSegmentType, "LineSegment"); INIT_TYPE(polypaths_planar_overridePolygonType, "Polygon"); polypaths_planar_overrideTransformNotInvertibleError = PyErr_NewException( "polypaths_planar_override.TransformNotInvertibleError", NULL, NULL); if (polypaths_planar_overrideTransformNotInvertibleError == NULL) { goto fail; } if (PyModule_AddObject( module, "TransformNotInvertibleError", polypaths_planar_overrideTransformNotInvertibleError) < 0) { Py_DECREF(polypaths_planar_overrideTransformNotInvertibleError); goto fail; } #if PY_MAJOR_VERSION >= 3 return module; #else return; #endif fail: Py_DECREF((PyObject *)&polypaths_planar_overrideVec2Type); Py_DECREF((PyObject *)&polypaths_planar_overrideSeq2Type); Py_DECREF((PyObject *)&polypaths_planar_overrideVec2ArrayType); Py_DECREF((PyObject *)&polypaths_planar_overrideAffineType); Py_DECREF((PyObject *)&polypaths_planar_overrideBBoxType); Py_DECREF((PyObject *)&polypaths_planar_overrideLineType); Py_DECREF((PyObject *)&polypaths_planar_overrideRayType); Py_DECREF((PyObject *)&polypaths_planar_overrideSegmentType); Py_DECREF((PyObject *)&polypaths_planar_overridePolygonType); Py_DECREF(module); INITERROR; }
static void sequence_modifier_type_info_init(void) { #define INIT_TYPE(typeName) (modifiersTypes[seqModifierType_##typeName] = &seqModifier_##typeName) INIT_TYPE(ColorBalance); INIT_TYPE(Curves); INIT_TYPE(HueCorrect); INIT_TYPE(BrightContrast); #undef INIT_TYPE }
void node_socket_type_init(bNodeSocketType *types[]) { #define INIT_TYPE(name) types[node_socket_type_##name.type] = &node_socket_type_##name; INIT_TYPE(float); INIT_TYPE(vector); INIT_TYPE(rgba); INIT_TYPE(int); INIT_TYPE(boolean); INIT_TYPE(mesh); #undef INIT_TYPE }
static void type_init(void) { INIT_TYPE(undef, UNDEF); INIT_TYPE(generic, GENERIC); INIT_TYPE(string, STRING); INIT_TYPE(bool, BOOL); INIT_TYPE(byte, BYTE); INIT_TYPE(short, SHORT); INIT_TYPE(int, INT); INIT_TYPE(long, LONG); INIT_TYPE(float, FLOAT); INIT_TYPE(void, VOID); }
void tableBindingInit() { INIT_TYPE(Table); VALUE klass = rb_define_class("Table", rb_cObject); rb_define_alloc_func(klass, classAllocate<&TableType>); serializableBindingInit<Table>(klass); rb_define_class_method(klass, "_load", TableLoad); _rb_define_method(klass, "initialize", tableInitialize); _rb_define_method(klass, "resize", tableResize); _rb_define_method(klass, "xsize", tableXSize); _rb_define_method(klass, "ysize", tableYSize); _rb_define_method(klass, "zsize", tableZSize); _rb_define_method(klass, "[]", tableGetAt); _rb_define_method(klass, "[]=", tableSetAt); }
/* only called by BKE_modifier.h/modifier.c */ void modifier_type_init(ModifierTypeInfo *types[]) { #define INIT_TYPE(typeName) (types[eModifierType_##typeName] = &modifierType_##typeName) INIT_TYPE(None); INIT_TYPE(Curve); INIT_TYPE(Lattice); INIT_TYPE(Subsurf); INIT_TYPE(Build); INIT_TYPE(Array); INIT_TYPE(Mirror); INIT_TYPE(EdgeSplit); INIT_TYPE(Bevel); INIT_TYPE(Displace); INIT_TYPE(UVProject); INIT_TYPE(Decimate); INIT_TYPE(Smooth); INIT_TYPE(Cast); INIT_TYPE(Wave); INIT_TYPE(Armature); INIT_TYPE(Hook); INIT_TYPE(Softbody); INIT_TYPE(Cloth); INIT_TYPE(Collision); INIT_TYPE(Boolean); INIT_TYPE(MeshDeform); INIT_TYPE(Ocean); INIT_TYPE(ParticleSystem); INIT_TYPE(ParticleInstance); INIT_TYPE(Explode); INIT_TYPE(Shrinkwrap); INIT_TYPE(Fluidsim); INIT_TYPE(Mask); INIT_TYPE(SimpleDeform); INIT_TYPE(Multires); INIT_TYPE(Surface); INIT_TYPE(Smoke); INIT_TYPE(ShapeKey); INIT_TYPE(Solidify); INIT_TYPE(Screw); INIT_TYPE(Warp); INIT_TYPE(WeightVGEdit); INIT_TYPE(WeightVGMix); INIT_TYPE(WeightVGProximity); INIT_TYPE(DynamicPaint); INIT_TYPE(Remesh); INIT_TYPE(Skin); INIT_TYPE(LaplacianSmooth); INIT_TYPE(Triangulate); INIT_TYPE(UVWarp); INIT_TYPE(MeshCache); INIT_TYPE(LaplacianDeform); INIT_TYPE(Wireframe); #undef INIT_TYPE }
PyObject* moduleinit(PyObject* m) { if (m == NULL) return NULL; /* libgit2 version info */ ADD_CONSTANT_INT(m, LIBGIT2_VER_MAJOR) ADD_CONSTANT_INT(m, LIBGIT2_VER_MINOR) ADD_CONSTANT_INT(m, LIBGIT2_VER_REVISION) ADD_CONSTANT_STR(m, LIBGIT2_VERSION) /* libgit2 options */ ADD_CONSTANT_INT(m, GIT_OPT_GET_SEARCH_PATH); ADD_CONSTANT_INT(m, GIT_OPT_SET_SEARCH_PATH); ADD_CONSTANT_INT(m, GIT_OPT_GET_MWINDOW_SIZE); ADD_CONSTANT_INT(m, GIT_OPT_SET_MWINDOW_SIZE); /* Errors */ GitError = PyErr_NewException("_pygit2.GitError", NULL, NULL); Py_INCREF(GitError); PyModule_AddObject(m, "GitError", GitError); /* Repository */ INIT_TYPE(RepositoryType, NULL, PyType_GenericNew) ADD_TYPE(m, Repository) /* Oid */ INIT_TYPE(OidType, NULL, PyType_GenericNew) ADD_TYPE(m, Oid) ADD_CONSTANT_INT(m, GIT_OID_RAWSZ) ADD_CONSTANT_INT(m, GIT_OID_HEXSZ) ADD_CONSTANT_STR(m, GIT_OID_HEX_ZERO) ADD_CONSTANT_INT(m, GIT_OID_MINPREFIXLEN) /* * Objects */ INIT_TYPE(ObjectType, NULL, NULL) INIT_TYPE(CommitType, &ObjectType, NULL) INIT_TYPE(SignatureType, NULL, PyType_GenericNew) INIT_TYPE(TreeType, &ObjectType, NULL) INIT_TYPE(TreeEntryType, NULL, NULL) INIT_TYPE(TreeIterType, NULL, NULL) INIT_TYPE(TreeBuilderType, NULL, NULL) INIT_TYPE(BlobType, &ObjectType, NULL) INIT_TYPE(TagType, &ObjectType, NULL) ADD_TYPE(m, Object) ADD_TYPE(m, Commit) ADD_TYPE(m, Signature) ADD_TYPE(m, Tree) ADD_TYPE(m, TreeEntry) ADD_TYPE(m, TreeBuilder) ADD_TYPE(m, Blob) ADD_TYPE(m, Tag) ADD_CONSTANT_INT(m, GIT_OBJ_ANY) ADD_CONSTANT_INT(m, GIT_OBJ_COMMIT) ADD_CONSTANT_INT(m, GIT_OBJ_TREE) ADD_CONSTANT_INT(m, GIT_OBJ_BLOB) ADD_CONSTANT_INT(m, GIT_OBJ_TAG) /* Valid modes for index and tree entries. */ ADD_CONSTANT_INT(m, GIT_FILEMODE_NEW) ADD_CONSTANT_INT(m, GIT_FILEMODE_TREE) ADD_CONSTANT_INT(m, GIT_FILEMODE_BLOB) ADD_CONSTANT_INT(m, GIT_FILEMODE_BLOB_EXECUTABLE) ADD_CONSTANT_INT(m, GIT_FILEMODE_LINK) ADD_CONSTANT_INT(m, GIT_FILEMODE_COMMIT) /* * Log */ INIT_TYPE(WalkerType, NULL, NULL) ADD_TYPE(m, Walker); ADD_CONSTANT_INT(m, GIT_SORT_NONE) ADD_CONSTANT_INT(m, GIT_SORT_TOPOLOGICAL) ADD_CONSTANT_INT(m, GIT_SORT_TIME) ADD_CONSTANT_INT(m, GIT_SORT_REVERSE) /* * Reset */ ADD_CONSTANT_INT(m, GIT_RESET_SOFT) ADD_CONSTANT_INT(m, GIT_RESET_MIXED) ADD_CONSTANT_INT(m, GIT_RESET_HARD) /* * References */ INIT_TYPE(ReferenceType, NULL, NULL) INIT_TYPE(RefLogEntryType, NULL, NULL) INIT_TYPE(RefLogIterType, NULL, NULL) INIT_TYPE(NoteType, NULL, NULL) INIT_TYPE(NoteIterType, NULL, NULL) ADD_TYPE(m, Reference) ADD_TYPE(m, RefLogEntry) ADD_TYPE(m, Note) ADD_CONSTANT_INT(m, GIT_REF_INVALID) ADD_CONSTANT_INT(m, GIT_REF_OID) ADD_CONSTANT_INT(m, GIT_REF_SYMBOLIC) ADD_CONSTANT_INT(m, GIT_REF_LISTALL) /* * Branches */ INIT_TYPE(BranchType, &ReferenceType, NULL); ADD_TYPE(m, Branch) ADD_CONSTANT_INT(m, GIT_BRANCH_LOCAL) ADD_CONSTANT_INT(m, GIT_BRANCH_REMOTE) /* * Index & Working copy */ INIT_TYPE(IndexType, NULL, PyType_GenericNew) INIT_TYPE(IndexEntryType, NULL, PyType_GenericNew) INIT_TYPE(IndexIterType, NULL, NULL) ADD_TYPE(m, Index) ADD_TYPE(m, IndexEntry) /* Status */ ADD_CONSTANT_INT(m, GIT_STATUS_CURRENT) ADD_CONSTANT_INT(m, GIT_STATUS_INDEX_NEW) ADD_CONSTANT_INT(m, GIT_STATUS_INDEX_MODIFIED) ADD_CONSTANT_INT(m, GIT_STATUS_INDEX_DELETED) ADD_CONSTANT_INT(m, GIT_STATUS_WT_NEW) ADD_CONSTANT_INT(m, GIT_STATUS_WT_MODIFIED) ADD_CONSTANT_INT(m, GIT_STATUS_WT_DELETED) ADD_CONSTANT_INT(m, GIT_STATUS_IGNORED) /* Flags for ignored files */ /* Different checkout strategies */ ADD_CONSTANT_INT(m, GIT_CHECKOUT_NONE) ADD_CONSTANT_INT(m, GIT_CHECKOUT_SAFE) ADD_CONSTANT_INT(m, GIT_CHECKOUT_SAFE_CREATE) ADD_CONSTANT_INT(m, GIT_CHECKOUT_FORCE) ADD_CONSTANT_INT(m, GIT_CHECKOUT_ALLOW_CONFLICTS) ADD_CONSTANT_INT(m, GIT_CHECKOUT_REMOVE_UNTRACKED) ADD_CONSTANT_INT(m, GIT_CHECKOUT_REMOVE_IGNORED) ADD_CONSTANT_INT(m, GIT_CHECKOUT_UPDATE_ONLY) ADD_CONSTANT_INT(m, GIT_CHECKOUT_DONT_UPDATE_INDEX) ADD_CONSTANT_INT(m, GIT_CHECKOUT_NO_REFRESH) ADD_CONSTANT_INT(m, GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH) /* * Diff */ INIT_TYPE(DiffType, NULL, NULL) INIT_TYPE(DiffIterType, NULL, NULL) INIT_TYPE(PatchType, NULL, NULL) INIT_TYPE(HunkType, NULL, NULL) ADD_TYPE(m, Diff) ADD_TYPE(m, Patch) ADD_TYPE(m, Hunk) ADD_CONSTANT_INT(m, GIT_DIFF_NORMAL) ADD_CONSTANT_INT(m, GIT_DIFF_REVERSE) ADD_CONSTANT_INT(m, GIT_DIFF_FORCE_TEXT) ADD_CONSTANT_INT(m, GIT_DIFF_IGNORE_WHITESPACE) ADD_CONSTANT_INT(m, GIT_DIFF_IGNORE_WHITESPACE_CHANGE) ADD_CONSTANT_INT(m, GIT_DIFF_IGNORE_WHITESPACE_EOL) ADD_CONSTANT_INT(m, GIT_DIFF_IGNORE_SUBMODULES) ADD_CONSTANT_INT(m, GIT_DIFF_PATIENCE) ADD_CONSTANT_INT(m, GIT_DIFF_MINIMAL) ADD_CONSTANT_INT(m, GIT_DIFF_INCLUDE_IGNORED) ADD_CONSTANT_INT(m, GIT_DIFF_INCLUDE_UNTRACKED) ADD_CONSTANT_INT(m, GIT_DIFF_INCLUDE_UNMODIFIED) ADD_CONSTANT_INT(m, GIT_DIFF_RECURSE_UNTRACKED_DIRS) ADD_CONSTANT_INT(m, GIT_DIFF_RECURSE_UNTRACKED_DIRS) ADD_CONSTANT_INT(m, GIT_DIFF_DISABLE_PATHSPEC_MATCH) ADD_CONSTANT_INT(m, GIT_DIFF_IGNORE_CASE) ADD_CONSTANT_INT(m, GIT_DIFF_SHOW_UNTRACKED_CONTENT) ADD_CONSTANT_INT(m, GIT_DIFF_SKIP_BINARY_CHECK) ADD_CONSTANT_INT(m, GIT_DIFF_INCLUDE_TYPECHANGE) ADD_CONSTANT_INT(m, GIT_DIFF_INCLUDE_TYPECHANGE_TREES) ADD_CONSTANT_INT(m, GIT_DIFF_RECURSE_IGNORED_DIRS) /* Flags for diff find similar */ /* --find-renames */ ADD_CONSTANT_INT(m, GIT_DIFF_FIND_RENAMES) /* --break-rewrites=N */ ADD_CONSTANT_INT(m, GIT_DIFF_FIND_RENAMES_FROM_REWRITES) /* --find-copies */ ADD_CONSTANT_INT(m, GIT_DIFF_FIND_COPIES) /* --find-copies-harder */ ADD_CONSTANT_INT(m, GIT_DIFF_FIND_COPIES_FROM_UNMODIFIED) /* --break-rewrites=/M */ ADD_CONSTANT_INT(m, GIT_DIFF_FIND_AND_BREAK_REWRITES) /* Config */ ADD_CONSTANT_INT(m, GIT_CONFIG_LEVEL_LOCAL); ADD_CONSTANT_INT(m, GIT_CONFIG_LEVEL_GLOBAL); ADD_CONSTANT_INT(m, GIT_CONFIG_LEVEL_XDG); ADD_CONSTANT_INT(m, GIT_CONFIG_LEVEL_SYSTEM); INIT_TYPE(ConfigType, NULL, PyType_GenericNew) INIT_TYPE(ConfigIterType, NULL, NULL) ADD_TYPE(m, Config) ADD_TYPE(m, ConfigIter) /* Remotes */ INIT_TYPE(RemoteType, NULL, NULL) INIT_TYPE(RefspecType, NULL, NULL) INIT_TYPE(TransferProgressType, NULL, NULL) ADD_TYPE(m, Remote) ADD_TYPE(m, Refspec) ADD_TYPE(m, TransferProgress) /* Direction for the refspec */ ADD_CONSTANT_INT(m, GIT_DIRECTION_FETCH) ADD_CONSTANT_INT(m, GIT_DIRECTION_PUSH) /* Blame */ INIT_TYPE(BlameType, NULL, NULL) INIT_TYPE(BlameIterType, NULL, NULL) INIT_TYPE(BlameHunkType, NULL, NULL) ADD_TYPE(m, Blame) ADD_TYPE(m, BlameHunk) ADD_CONSTANT_INT(m, GIT_BLAME_NORMAL) ADD_CONSTANT_INT(m, GIT_BLAME_TRACK_COPIES_SAME_FILE) ADD_CONSTANT_INT(m, GIT_BLAME_TRACK_COPIES_SAME_COMMIT_MOVES) ADD_CONSTANT_INT(m, GIT_BLAME_TRACK_COPIES_SAME_COMMIT_COPIES) ADD_CONSTANT_INT(m, GIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES) /* Merge */ INIT_TYPE(MergeResultType, NULL, NULL) ADD_TYPE(m, MergeResult) /* Global initialization of libgit2 */ git_threads_init(); return m; }
PyObject * moduleinit(PyObject* m) { if (m == NULL) return NULL; /* libgit2 version info */ ADD_CONSTANT_INT(m, LIBGIT2_VER_MAJOR) ADD_CONSTANT_INT(m, LIBGIT2_VER_MINOR) ADD_CONSTANT_INT(m, LIBGIT2_VER_REVISION) ADD_CONSTANT_STR(m, LIBGIT2_VERSION) /* libgit2 options */ ADD_CONSTANT_INT(m, GIT_OPT_GET_MWINDOW_SIZE); ADD_CONSTANT_INT(m, GIT_OPT_SET_MWINDOW_SIZE); ADD_CONSTANT_INT(m, GIT_OPT_GET_MWINDOW_MAPPED_LIMIT); ADD_CONSTANT_INT(m, GIT_OPT_SET_MWINDOW_MAPPED_LIMIT); ADD_CONSTANT_INT(m, GIT_OPT_GET_SEARCH_PATH); ADD_CONSTANT_INT(m, GIT_OPT_SET_SEARCH_PATH); ADD_CONSTANT_INT(m, GIT_OPT_SET_CACHE_OBJECT_LIMIT); ADD_CONSTANT_INT(m, GIT_OPT_SET_CACHE_MAX_SIZE); ADD_CONSTANT_INT(m, GIT_OPT_ENABLE_CACHING); ADD_CONSTANT_INT(m, GIT_OPT_GET_CACHED_MEMORY); ADD_CONSTANT_INT(m, GIT_OPT_GET_TEMPLATE_PATH); ADD_CONSTANT_INT(m, GIT_OPT_SET_TEMPLATE_PATH); ADD_CONSTANT_INT(m, GIT_OPT_SET_SSL_CERT_LOCATIONS); ADD_CONSTANT_INT(m, GIT_OPT_SET_USER_AGENT); ADD_CONSTANT_INT(m, GIT_OPT_ENABLE_STRICT_OBJECT_CREATION); ADD_CONSTANT_INT(m, GIT_OPT_ENABLE_STRICT_SYMBOLIC_REF_CREATION); ADD_CONSTANT_INT(m, GIT_OPT_SET_SSL_CIPHERS); ADD_CONSTANT_INT(m, GIT_OPT_GET_USER_AGENT); ADD_CONSTANT_INT(m, GIT_OPT_ENABLE_OFS_DELTA); ADD_CONSTANT_INT(m, GIT_OPT_ENABLE_FSYNC_GITDIR); ADD_CONSTANT_INT(m, GIT_OPT_GET_WINDOWS_SHAREMODE); ADD_CONSTANT_INT(m, GIT_OPT_SET_WINDOWS_SHAREMODE); ADD_CONSTANT_INT(m, GIT_OPT_ENABLE_STRICT_HASH_VERIFICATION); ADD_CONSTANT_INT(m, GIT_OPT_SET_ALLOCATOR); ADD_CONSTANT_INT(m, GIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY); ADD_CONSTANT_INT(m, GIT_OPT_GET_PACK_MAX_OBJECTS); ADD_CONSTANT_INT(m, GIT_OPT_SET_PACK_MAX_OBJECTS); /* Errors */ GitError = PyErr_NewException("_pygit2.GitError", NULL, NULL); Py_INCREF(GitError); PyModule_AddObject(m, "GitError", GitError); AlreadyExistsError = PyErr_NewException("_pygit2.AlreadyExistsError", PyExc_ValueError, NULL); Py_INCREF(AlreadyExistsError); PyModule_AddObject(m, "AlreadyExistsError", AlreadyExistsError); InvalidSpecError = PyErr_NewException("_pygit2.InvalidSpecError", PyExc_ValueError, NULL); Py_INCREF(InvalidSpecError); PyModule_AddObject(m, "InvalidSpecError", InvalidSpecError); /* Repository */ INIT_TYPE(RepositoryType, NULL, PyType_GenericNew) ADD_TYPE(m, Repository) /* Oid */ INIT_TYPE(OidType, NULL, PyType_GenericNew) ADD_TYPE(m, Oid) ADD_CONSTANT_INT(m, GIT_OID_RAWSZ) ADD_CONSTANT_INT(m, GIT_OID_HEXSZ) ADD_CONSTANT_STR(m, GIT_OID_HEX_ZERO) ADD_CONSTANT_INT(m, GIT_OID_MINPREFIXLEN) /* * Objects */ INIT_TYPE(ObjectType, NULL, NULL) INIT_TYPE(CommitType, &ObjectType, NULL) INIT_TYPE(SignatureType, NULL, PyType_GenericNew) INIT_TYPE(TreeType, &ObjectType, NULL) INIT_TYPE(TreeEntryType, NULL, NULL) INIT_TYPE(TreeIterType, NULL, NULL) INIT_TYPE(TreeBuilderType, NULL, NULL) INIT_TYPE(BlobType, &ObjectType, NULL) INIT_TYPE(TagType, &ObjectType, NULL) ADD_TYPE(m, Object) ADD_TYPE(m, Commit) ADD_TYPE(m, Signature) ADD_TYPE(m, Tree) ADD_TYPE(m, TreeEntry) ADD_TYPE(m, TreeBuilder) ADD_TYPE(m, Blob) ADD_TYPE(m, Tag) ADD_CONSTANT_INT(m, GIT_OBJ_ANY) ADD_CONSTANT_INT(m, GIT_OBJ_COMMIT) ADD_CONSTANT_INT(m, GIT_OBJ_TREE) ADD_CONSTANT_INT(m, GIT_OBJ_BLOB) ADD_CONSTANT_INT(m, GIT_OBJ_TAG) /* Valid modes for index and tree entries. */ ADD_CONSTANT_INT(m, GIT_FILEMODE_TREE) ADD_CONSTANT_INT(m, GIT_FILEMODE_BLOB) ADD_CONSTANT_INT(m, GIT_FILEMODE_BLOB_EXECUTABLE) ADD_CONSTANT_INT(m, GIT_FILEMODE_LINK) ADD_CONSTANT_INT(m, GIT_FILEMODE_COMMIT) /* * Log */ INIT_TYPE(WalkerType, NULL, NULL) ADD_TYPE(m, Walker); ADD_CONSTANT_INT(m, GIT_SORT_NONE) ADD_CONSTANT_INT(m, GIT_SORT_TOPOLOGICAL) ADD_CONSTANT_INT(m, GIT_SORT_TIME) ADD_CONSTANT_INT(m, GIT_SORT_REVERSE) /* * Reset */ ADD_CONSTANT_INT(m, GIT_RESET_SOFT) ADD_CONSTANT_INT(m, GIT_RESET_MIXED) ADD_CONSTANT_INT(m, GIT_RESET_HARD) /* * References */ INIT_TYPE(ReferenceType, NULL, NULL) INIT_TYPE(RefLogEntryType, NULL, NULL) INIT_TYPE(RefLogIterType, NULL, NULL) INIT_TYPE(NoteType, NULL, NULL) INIT_TYPE(NoteIterType, NULL, NULL) ADD_TYPE(m, Reference) ADD_TYPE(m, RefLogEntry) ADD_TYPE(m, Note) ADD_CONSTANT_INT(m, GIT_REF_INVALID) ADD_CONSTANT_INT(m, GIT_REF_OID) ADD_CONSTANT_INT(m, GIT_REF_SYMBOLIC) ADD_CONSTANT_INT(m, GIT_REF_LISTALL) /* * Worktree */ INIT_TYPE(WorktreeType, NULL, NULL) ADD_TYPE(m, Worktree) /* * Branches */ INIT_TYPE(BranchType, &ReferenceType, NULL); ADD_TYPE(m, Branch) ADD_CONSTANT_INT(m, GIT_BRANCH_LOCAL) ADD_CONSTANT_INT(m, GIT_BRANCH_REMOTE) ADD_CONSTANT_INT(m, GIT_BRANCH_ALL) /* * Index & Working copy */ /* Status */ ADD_CONSTANT_INT(m, GIT_STATUS_CURRENT) ADD_CONSTANT_INT(m, GIT_STATUS_INDEX_NEW) ADD_CONSTANT_INT(m, GIT_STATUS_INDEX_MODIFIED) ADD_CONSTANT_INT(m, GIT_STATUS_INDEX_DELETED) ADD_CONSTANT_INT(m, GIT_STATUS_INDEX_RENAMED) ADD_CONSTANT_INT(m, GIT_STATUS_INDEX_TYPECHANGE) ADD_CONSTANT_INT(m, GIT_STATUS_WT_NEW) ADD_CONSTANT_INT(m, GIT_STATUS_WT_MODIFIED) ADD_CONSTANT_INT(m, GIT_STATUS_WT_DELETED) ADD_CONSTANT_INT(m, GIT_STATUS_WT_TYPECHANGE) ADD_CONSTANT_INT(m, GIT_STATUS_WT_RENAMED) ADD_CONSTANT_INT(m, GIT_STATUS_WT_UNREADABLE) ADD_CONSTANT_INT(m, GIT_STATUS_IGNORED) /* Flags for ignored files */ ADD_CONSTANT_INT(m, GIT_STATUS_CONFLICTED) /* Different checkout strategies */ ADD_CONSTANT_INT(m, GIT_CHECKOUT_NONE) ADD_CONSTANT_INT(m, GIT_CHECKOUT_SAFE) ADD_CONSTANT_INT(m, GIT_CHECKOUT_RECREATE_MISSING) ADD_CONSTANT_INT(m, GIT_CHECKOUT_FORCE) ADD_CONSTANT_INT(m, GIT_CHECKOUT_ALLOW_CONFLICTS) ADD_CONSTANT_INT(m, GIT_CHECKOUT_REMOVE_UNTRACKED) ADD_CONSTANT_INT(m, GIT_CHECKOUT_REMOVE_IGNORED) ADD_CONSTANT_INT(m, GIT_CHECKOUT_UPDATE_ONLY) ADD_CONSTANT_INT(m, GIT_CHECKOUT_DONT_UPDATE_INDEX) ADD_CONSTANT_INT(m, GIT_CHECKOUT_NO_REFRESH) ADD_CONSTANT_INT(m, GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH) /* * Diff */ INIT_TYPE(DiffType, NULL, NULL) INIT_TYPE(DeltasIterType, NULL, NULL) INIT_TYPE(DiffIterType, NULL, NULL) INIT_TYPE(DiffDeltaType, NULL, NULL) INIT_TYPE(DiffFileType, NULL, NULL) INIT_TYPE(DiffHunkType, NULL, NULL) INIT_TYPE(DiffLineType, NULL, NULL) INIT_TYPE(DiffStatsType, NULL, NULL) INIT_TYPE(PatchType, NULL, NULL) ADD_TYPE(m, Diff) ADD_TYPE(m, DiffDelta) ADD_TYPE(m, DiffFile) ADD_TYPE(m, DiffHunk) ADD_TYPE(m, DiffLine) ADD_TYPE(m, DiffStats) ADD_TYPE(m, Patch) ADD_CONSTANT_INT(m, GIT_DIFF_NORMAL) ADD_CONSTANT_INT(m, GIT_DIFF_REVERSE) ADD_CONSTANT_INT(m, GIT_DIFF_FORCE_TEXT) ADD_CONSTANT_INT(m, GIT_DIFF_IGNORE_WHITESPACE) ADD_CONSTANT_INT(m, GIT_DIFF_IGNORE_WHITESPACE_CHANGE) ADD_CONSTANT_INT(m, GIT_DIFF_IGNORE_WHITESPACE_EOL) ADD_CONSTANT_INT(m, GIT_DIFF_IGNORE_SUBMODULES) ADD_CONSTANT_INT(m, GIT_DIFF_PATIENCE) ADD_CONSTANT_INT(m, GIT_DIFF_MINIMAL) ADD_CONSTANT_INT(m, GIT_DIFF_INCLUDE_IGNORED) ADD_CONSTANT_INT(m, GIT_DIFF_INCLUDE_UNTRACKED) ADD_CONSTANT_INT(m, GIT_DIFF_INCLUDE_UNMODIFIED) ADD_CONSTANT_INT(m, GIT_DIFF_RECURSE_UNTRACKED_DIRS) ADD_CONSTANT_INT(m, GIT_DIFF_RECURSE_UNTRACKED_DIRS) ADD_CONSTANT_INT(m, GIT_DIFF_DISABLE_PATHSPEC_MATCH) ADD_CONSTANT_INT(m, GIT_DIFF_IGNORE_CASE) ADD_CONSTANT_INT(m, GIT_DIFF_SHOW_UNTRACKED_CONTENT) ADD_CONSTANT_INT(m, GIT_DIFF_SKIP_BINARY_CHECK) ADD_CONSTANT_INT(m, GIT_DIFF_SHOW_BINARY) ADD_CONSTANT_INT(m, GIT_DIFF_INCLUDE_TYPECHANGE) ADD_CONSTANT_INT(m, GIT_DIFF_INCLUDE_TYPECHANGE_TREES) ADD_CONSTANT_INT(m, GIT_DIFF_RECURSE_IGNORED_DIRS) ADD_CONSTANT_INT(m, GIT_DIFF_STATS_NONE) ADD_CONSTANT_INT(m, GIT_DIFF_STATS_FULL) ADD_CONSTANT_INT(m, GIT_DIFF_STATS_SHORT) ADD_CONSTANT_INT(m, GIT_DIFF_STATS_NUMBER) ADD_CONSTANT_INT(m, GIT_DIFF_STATS_INCLUDE_SUMMARY) /* Flags for diff find similar */ /* --find-renames */ ADD_CONSTANT_INT(m, GIT_DIFF_FIND_RENAMES) /* --break-rewrites=N */ ADD_CONSTANT_INT(m, GIT_DIFF_FIND_RENAMES_FROM_REWRITES) /* --find-copies */ ADD_CONSTANT_INT(m, GIT_DIFF_FIND_COPIES) /* --find-copies-harder */ ADD_CONSTANT_INT(m, GIT_DIFF_FIND_COPIES_FROM_UNMODIFIED) /* --break-rewrites=/M */ ADD_CONSTANT_INT(m, GIT_DIFF_FIND_AND_BREAK_REWRITES) /* DiffDelta and DiffFile flags */ ADD_CONSTANT_INT(m, GIT_DIFF_FLAG_BINARY) ADD_CONSTANT_INT(m, GIT_DIFF_FLAG_NOT_BINARY) ADD_CONSTANT_INT(m, GIT_DIFF_FLAG_VALID_ID) /* DiffDelta.status */ ADD_CONSTANT_INT(m, GIT_DELTA_UNMODIFIED) ADD_CONSTANT_INT(m, GIT_DELTA_ADDED) ADD_CONSTANT_INT(m, GIT_DELTA_DELETED) ADD_CONSTANT_INT(m, GIT_DELTA_MODIFIED) ADD_CONSTANT_INT(m, GIT_DELTA_RENAMED) ADD_CONSTANT_INT(m, GIT_DELTA_COPIED) ADD_CONSTANT_INT(m, GIT_DELTA_IGNORED) ADD_CONSTANT_INT(m, GIT_DELTA_UNTRACKED) ADD_CONSTANT_INT(m, GIT_DELTA_TYPECHANGE) ADD_CONSTANT_INT(m, GIT_DELTA_UNREADABLE) /* Config */ ADD_CONSTANT_INT(m, GIT_CONFIG_LEVEL_LOCAL); ADD_CONSTANT_INT(m, GIT_CONFIG_LEVEL_GLOBAL); ADD_CONSTANT_INT(m, GIT_CONFIG_LEVEL_XDG); ADD_CONSTANT_INT(m, GIT_CONFIG_LEVEL_SYSTEM); /* Blame */ ADD_CONSTANT_INT(m, GIT_BLAME_NORMAL) ADD_CONSTANT_INT(m, GIT_BLAME_TRACK_COPIES_SAME_FILE) ADD_CONSTANT_INT(m, GIT_BLAME_TRACK_COPIES_SAME_COMMIT_MOVES) ADD_CONSTANT_INT(m, GIT_BLAME_TRACK_COPIES_SAME_COMMIT_COPIES) ADD_CONSTANT_INT(m, GIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES) /* Merge */ ADD_CONSTANT_INT(m, GIT_MERGE_ANALYSIS_NONE) ADD_CONSTANT_INT(m, GIT_MERGE_ANALYSIS_NORMAL) ADD_CONSTANT_INT(m, GIT_MERGE_ANALYSIS_UP_TO_DATE) ADD_CONSTANT_INT(m, GIT_MERGE_ANALYSIS_FASTFORWARD) ADD_CONSTANT_INT(m, GIT_MERGE_ANALYSIS_UNBORN) /* Describe */ ADD_CONSTANT_INT(m, GIT_DESCRIBE_DEFAULT); ADD_CONSTANT_INT(m, GIT_DESCRIBE_TAGS); ADD_CONSTANT_INT(m, GIT_DESCRIBE_ALL); /* Stash */ ADD_CONSTANT_INT(m, GIT_STASH_DEFAULT); ADD_CONSTANT_INT(m, GIT_STASH_KEEP_INDEX); ADD_CONSTANT_INT(m, GIT_STASH_INCLUDE_UNTRACKED); ADD_CONSTANT_INT(m, GIT_STASH_INCLUDE_IGNORED); ADD_CONSTANT_INT(m, GIT_STASH_APPLY_DEFAULT); ADD_CONSTANT_INT(m, GIT_STASH_APPLY_REINSTATE_INDEX); /* Mailmap */ INIT_TYPE(MailmapType, NULL, PyType_GenericNew) ADD_TYPE(m, Mailmap) /* Global initialization of libgit2 */ git_libgit2_init(); return m; }
void initofx(void) { PyObject *mod = Py_InitModule("ofx", PyOFX_Methods); PyModule_AddIntConstant(mod, "TypeImageEffectHost", ofx::TypeImageEffectHost); PyModule_AddIntConstant(mod, "TypeImageEffect", ofx::TypeImageEffect); PyModule_AddIntConstant(mod, "TypeImageEffectInstance", ofx::TypeImageEffectInstance); PyModule_AddIntConstant(mod, "TypeParameter", ofx::TypeParameter); PyModule_AddIntConstant(mod, "TypeParameterInstance", ofx::TypeParameterInstance); PyModule_AddIntConstant(mod, "TypeClip", ofx::TypeClip); PyModule_AddIntConstant(mod, "TypeImage", ofx::TypeImage); PyModule_AddIntConstant(mod, "BitDepthNone", ofx::BitDepthNone); PyModule_AddIntConstant(mod, "BitDepthByte", ofx::BitDepthByte); PyModule_AddIntConstant(mod, "BitDepthShort", ofx::BitDepthShort); PyModule_AddIntConstant(mod, "BitDepthFloat", ofx::BitDepthFloat); #ifdef OFX_API_1_3 PyModule_AddIntConstant(mod, "BitDepthHalf", ofx::BitDepthHalf); #endif PyModule_AddIntConstant(mod, "ImageComponentNone", ofx::ImageComponentNone); #ifdef OFX_API_1_2 PyModule_AddIntConstant(mod, "ImageComponentRGB", ofx::ImageComponentRGB); #endif PyModule_AddIntConstant(mod, "ImageComponentRGBA", ofx::ImageComponentRGBA); PyModule_AddIntConstant(mod, "ImageComponentAlpha", ofx::ImageComponentAlpha); PyModule_AddIntConstant(mod, "ImageComponentYUVA", ofx::ImageComponentYUVA); PyModule_AddIntConstant(mod, "ImageFieldNone", ofx::ImageFieldNone); PyModule_AddIntConstant(mod, "ImageFieldBoth", ofx::ImageFieldBoth); PyModule_AddIntConstant(mod, "ImageFieldLower", ofx::ImageFieldLower); PyModule_AddIntConstant(mod, "ImageFieldUpper", ofx::ImageFieldUpper); PyModule_AddIntConstant(mod, "ImageFieldExtractBoth", ofx::ImageFieldExtractBoth); PyModule_AddIntConstant(mod, "ImageFieldExtractSingle", ofx::ImageFieldExtractSingle); PyModule_AddIntConstant(mod, "ImageFieldExtractDoubled", ofx::ImageFieldExtractDoubled); PyModule_AddIntConstant(mod, "ImageFieldOrderNone", ofx::ImageFieldOrderNone); PyModule_AddIntConstant(mod, "ImageFieldOrderLower", ofx::ImageFieldOrderLower); PyModule_AddIntConstant(mod, "ImageFieldOrderUpper", ofx::ImageFieldOrderUpper); PyModule_AddIntConstant(mod, "ImageOpaque", ofx::ImageOpaque); PyModule_AddIntConstant(mod, "ImagePreMultiplied", ofx::ImagePreMultiplied); PyModule_AddIntConstant(mod, "ImageUnPreMultiplied", ofx::ImageUnPreMultiplied); PyModule_AddIntConstant(mod, "ImageEffectContextGenerator", ofx::ImageEffectContextGenerator); PyModule_AddIntConstant(mod, "ImageEffectContextFilter", ofx::ImageEffectContextFilter); PyModule_AddIntConstant(mod, "ImageEffectContextTransition", ofx::ImageEffectContextTransition); PyModule_AddIntConstant(mod, "ImageEffectContextPaint", ofx::ImageEffectContextPaint); PyModule_AddIntConstant(mod, "ImageEffectContextGeneral", ofx::ImageEffectContextGeneral); PyModule_AddIntConstant(mod, "ImageEffectContextRetimer", ofx::ImageEffectContextRetimer); PyModule_AddIntConstant(mod, "RenderThreadUnsafe", ofx::RenderThreadUnsafe); PyModule_AddIntConstant(mod, "RenderThreadInstanceSafe", ofx::RenderThreadInstanceSafe); PyModule_AddIntConstant(mod, "RenderThreadFullySafe", ofx::RenderThreadFullySafe); PyModule_AddIntConstant(mod, "ParamTypeInteger", ofx::ParamTypeInteger); PyModule_AddIntConstant(mod, "ParamTypeDouble", ofx::ParamTypeDouble); PyModule_AddIntConstant(mod, "ParamTypeBoolean", ofx::ParamTypeBoolean); PyModule_AddIntConstant(mod, "ParamTypeChoice", ofx::ParamTypeChoice); PyModule_AddIntConstant(mod, "ParamTypeRGBA", ofx::ParamTypeRGBA); PyModule_AddIntConstant(mod, "ParamTypeRGB", ofx::ParamTypeRGB); PyModule_AddIntConstant(mod, "ParamTypeDouble2D", ofx::ParamTypeDouble2D); PyModule_AddIntConstant(mod, "ParamTypeInteger2D", ofx::ParamTypeInteger2D); PyModule_AddIntConstant(mod, "ParamTypeDouble3D", ofx::ParamTypeDouble3D); PyModule_AddIntConstant(mod, "ParamTypeInteger3D", ofx::ParamTypeInteger3D); PyModule_AddIntConstant(mod, "ParamTypeString", ofx::ParamTypeString); PyModule_AddIntConstant(mod, "ParamTypeCustom", ofx::ParamTypeCustom); PyModule_AddIntConstant(mod, "ParamTypeGroup", ofx::ParamTypeGroup); PyModule_AddIntConstant(mod, "ParamTypePage", ofx::ParamTypePage); PyModule_AddIntConstant(mod, "ParamTypePushButton", ofx::ParamTypePushButton); #ifdef OFX_API_1_2 PyModule_AddIntConstant(mod, "ParamTypeParametric", ofx::ParamTypeParametric); #endif PyModule_AddIntConstant(mod, "ParamInvalidateValueChange", ofx::ParamInvalidateValueChange); PyModule_AddIntConstant(mod, "ParamInvalidateValueChangeToEnd", ofx::ParamInvalidateValueChangeToEnd); PyModule_AddIntConstant(mod, "ParamInvalidateAll", ofx::ParamInvalidateAll); PyModule_AddIntConstant(mod, "StringParamSingleLine", ofx::StringParamSingleLine); PyModule_AddIntConstant(mod, "StringParamMultiLine", ofx::StringParamMultiLine); PyModule_AddIntConstant(mod, "StringParamFilePath", ofx::StringParamFilePath); PyModule_AddIntConstant(mod, "StringParamDirectoryPath", ofx::StringParamDirectoryPath); PyModule_AddIntConstant(mod, "StringParamLabel", ofx::StringParamLabel); #ifdef OFX_API_1_3 PyModule_AddIntConstant(mod, "StringParamRichText", ofx::StringParamRichText); #endif PyModule_AddIntConstant(mod, "DoubleParamPlain", ofx::DoubleParamPlain); PyModule_AddIntConstant(mod, "DoubleParamAngle", ofx::DoubleParamAngle); PyModule_AddIntConstant(mod, "DoubleParamScale", ofx::DoubleParamScale); PyModule_AddIntConstant(mod, "DoubleParamTime", ofx::DoubleParamTime); PyModule_AddIntConstant(mod, "DoubleParamAbsoluteTime", ofx::DoubleParamAbsoluteTime); PyModule_AddIntConstant(mod, "DoubleParamNormalisedX", ofx::DoubleParamNormalisedX); PyModule_AddIntConstant(mod, "DoubleParamNormalisedXAbsolute", ofx::DoubleParamNormalisedXAbsolute); PyModule_AddIntConstant(mod, "DoubleParamNormalisedY", ofx::DoubleParamNormalisedY); PyModule_AddIntConstant(mod, "DoubleParamNormalisedYAbsolute", ofx::DoubleParamNormalisedYAbsolute); PyModule_AddIntConstant(mod, "DoubleParamNormalisedXY", ofx::DoubleParamNormalisedXY); PyModule_AddIntConstant(mod, "DoubleParamNormalisedXYAbsolute", ofx::DoubleParamNormalisedXYAbsolute); #ifdef OFX_API_1_2 PyModule_AddIntConstant(mod, "DoubleParamX", ofx::DoubleParamX); PyModule_AddIntConstant(mod, "DoubleParamXAbsolute", ofx::DoubleParamXAbsolute); PyModule_AddIntConstant(mod, "DoubleParamY", ofx::DoubleParamY); PyModule_AddIntConstant(mod, "DoubleParamYAbsolute", ofx::DoubleParamYAbsolute); PyModule_AddIntConstant(mod, "DoubleParamXY", ofx::DoubleParamXY); PyModule_AddIntConstant(mod, "DoubleParamXYAbsolute", ofx::DoubleParamXYAbsolute); #endif #ifdef OFX_API_1_2 PyModule_AddIntConstant(mod, "CoordinatesCanonical", ofx::CoordinatesCanonical); PyModule_AddIntConstant(mod, "CoordinatesNormalised", ofx::CoordinatesNormalised); #endif PyModule_AddIntConstant(mod, "KeyDirectionPrev", ofx::KeyDirectionPrev); PyModule_AddIntConstant(mod, "KeyDirectionExact", ofx::KeyDirectionExact); PyModule_AddIntConstant(mod, "KeyDirectionNext", ofx::KeyDirectionNext); PyModule_AddIntConstant(mod, "MessageTypeFatal", ofx::MessageTypeFatal); PyModule_AddIntConstant(mod, "MessageTypeError", ofx::MessageTypeError); PyModule_AddIntConstant(mod, "MessageTypeMessage", ofx::MessageTypeMessage); PyModule_AddIntConstant(mod, "MessageTypeLog", ofx::MessageTypeLog); PyModule_AddIntConstant(mod, "MessageTypeQuestion", ofx::MessageTypeQuestion); #ifdef OFX_API_1_2 PyModule_AddIntConstant(mod, "MessageTypeWarning", ofx::MessageTypeWarning); #endif PyModule_AddIntConstant(mod, "ChangeUserEdited", ofx::ChangeUserEdited); PyModule_AddIntConstant(mod, "ChangePluginEdited", ofx::ChangePluginEdited); PyModule_AddIntConstant(mod, "ChangeTime", ofx::ChangeTime); PyModule_AddIntConstant(mod, "ActionLoad", ofx::ActionLoad); PyModule_AddIntConstant(mod, "ActionInteractLoseFocus", ofx::ActionInteractLoseFocus); PyModule_AddIntConstant(mod, "ActionInteractGainFocus", ofx::ActionInteractGainFocus); PyModule_AddIntConstant(mod, "ActionInteractKeyRepeat", ofx::ActionInteractKeyRepeat); PyModule_AddIntConstant(mod, "ActionInteractKeyUp", ofx::ActionInteractKeyUp); PyModule_AddIntConstant(mod, "ActionInteractKeyDown", ofx::ActionInteractKeyDown); PyModule_AddIntConstant(mod, "ActionInteractPenUp", ofx::ActionInteractPenUp); PyModule_AddIntConstant(mod, "ActionInteractPenDown", ofx::ActionInteractPenDown); PyModule_AddIntConstant(mod, "ActionInteractPenMotion", ofx::ActionInteractPenMotion); PyModule_AddIntConstant(mod, "ActionInteractDraw", ofx::ActionInteractDraw); PyModule_AddIntConstant(mod, "ActionImageEffectGetTimeDomain", ofx::ActionImageEffectGetTimeDomain); PyModule_AddIntConstant(mod, "ActionImageEffectGetClipPreferences", ofx::ActionImageEffectGetClipPreferences); PyModule_AddIntConstant(mod, "ActionImageEffectEndSequenceRender", ofx::ActionImageEffectEndSequenceRender); PyModule_AddIntConstant(mod, "ActionImageEffectBeginSequenceRender", ofx::ActionImageEffectBeginSequenceRender); PyModule_AddIntConstant(mod, "ActionImageEffectRender", ofx::ActionImageEffectRender); PyModule_AddIntConstant(mod, "ActionImageEffectIsIdentity", ofx::ActionImageEffectIsIdentity); PyModule_AddIntConstant(mod, "ActionImageEffectGetFramesNeeded", ofx::ActionImageEffectGetFramesNeeded); PyModule_AddIntConstant(mod, "ActionImageEffectGetRoI", ofx::ActionImageEffectGetRoI); PyModule_AddIntConstant(mod, "ActionImageEffectGetRoD", ofx::ActionImageEffectGetRoD); PyModule_AddIntConstant(mod, "ActionImageEffectDescribeInContext", ofx::ActionImageEffectDescribeInContext); PyModule_AddIntConstant(mod, "ActionEndInstanceEdit", ofx::ActionEndInstanceEdit); PyModule_AddIntConstant(mod, "ActionBeginInstanceEdit", ofx::ActionBeginInstanceEdit); PyModule_AddIntConstant(mod, "ActionUnload", ofx::ActionUnload); PyModule_AddIntConstant(mod, "ActionDescribe", ofx::ActionDescribe); PyModule_AddIntConstant(mod, "ActionCreateInstance", ofx::ActionCreateInstance); PyModule_AddIntConstant(mod, "ActionDestroyInstance", ofx::ActionDestroyInstance); PyModule_AddIntConstant(mod, "ActionInstanceChanged", ofx::ActionInstanceChanged); PyModule_AddIntConstant(mod, "ActionBeginInstanceChanged", ofx::ActionBeginInstanceChanged); PyModule_AddIntConstant(mod, "ActionEndInstanceChanged", ofx::ActionEndInstanceChanged); PyModule_AddIntConstant(mod, "ActionPurgeCaches", ofx::ActionPurgeCaches); PyModule_AddIntConstant(mod, "ActionSyncPrivateData", ofx::ActionSyncPrivateData); #ifdef OFX_API_1_3 PyModule_AddIntConstant(mod, "ActionOpenGLContextAttached", ofx::ActionOpenGLContextAttached); PyModule_AddIntConstant(mod, "ActionOpenGLContextDetached", ofx::ActionOpenGLContextAttached); #endif PyModule_AddIntConstant(mod, "SequentialRenderNotNeeded", ofx::SequentialRenderNotNeeded); PyModule_AddIntConstant(mod, "SequentialRenderRequired", ofx::SequentialRenderRequired); PyModule_AddIntConstant(mod, "SequentialRenderUnknown", ofx::SequentialRenderUnknown); PyModule_AddIntConstant(mod, "SequentialRenderAlways", ofx::SequentialRenderAlways); #ifdef OFX_API_1_2 PyModule_AddIntConstant(mod, "SequentialRenderIfPossible", ofx::SequentialRenderIfPossible); PyModule_AddIntConstant(mod, "SequentialRenderSometimes", ofx::SequentialRenderSometimes); #endif PyModule_AddIntConstant(mod, "StatOK", kOfxStatOK); PyModule_AddIntConstant(mod, "StatFailed", kOfxStatFailed); PyModule_AddIntConstant(mod, "StatErrFatal", kOfxStatErrFatal); PyModule_AddIntConstant(mod, "StatErrUnknown", kOfxStatErrUnknown); PyModule_AddIntConstant(mod, "StatErrMissingHostFeature", kOfxStatErrMissingHostFeature); PyModule_AddIntConstant(mod, "StatErrUnsupported", kOfxStatErrUnsupported); PyModule_AddIntConstant(mod, "StatErrExists", kOfxStatErrExists); PyModule_AddIntConstant(mod, "StatErrFormat", kOfxStatErrFormat); PyModule_AddIntConstant(mod, "StatErrMemory", kOfxStatErrMemory); PyModule_AddIntConstant(mod, "StatErrBadHandle", kOfxStatErrBadHandle); PyModule_AddIntConstant(mod, "StatErrBadIndex", kOfxStatErrBadIndex); PyModule_AddIntConstant(mod, "StatErrValue", kOfxStatErrValue); PyModule_AddIntConstant(mod, "StatErrImageFormat", kOfxStatErrImageFormat); PyModule_AddIntConstant(mod, "StatReplyYes", kOfxStatReplyYes); PyModule_AddIntConstant(mod, "StatReplyNo", kOfxStatReplyNo); PyModule_AddIntConstant(mod, "StatReplyDefault", kOfxStatReplyDefault); #ifdef OFX_API_1_3 PyModule_AddIntConstant(mod, "StatGLOutOfMemory", kOfxStatGLOutOfMemory); PyModule_AddIntConstant(mod, "StatGLRenderFailed", kOfxStatGLRenderFailed); #endif PyModule_AddStringConstant(mod, "PageSkipRow", kOfxParamPageSkipRow); PyModule_AddStringConstant(mod, "PageSkipColumn", kOfxParamPageSkipColumn); PyModule_AddIntConstant(mod, "MajorVersion", ofx::MajorVersion); PyModule_AddIntConstant(mod, "MinorVersion", ofx::MinorVersion); PyModule_AddIntConstant(mod, "PatchVersion", ofx::PatchVersion); PyModule_AddStringConstant(mod, "Version", ofx::Version); INIT_TYPE(PyOFXActionArgumentsType, "ofx.ActionArguments", PyOFXActionArguments); PyOFXActionArgumentsType.tp_flags = Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE; PyOFXActionArgumentsType.tp_new = PyOFXActionArguments_New; PyOFXActionArgumentsType.tp_init = PyOFXActionArguments_Init; PyOFXActionArgumentsType.tp_dealloc = PyOFXActionArguments_Delete; PyOFXActionArgumentsType.tp_setattro = PyOFXActionArguments_SetAttr; //PyObject_GenericSetAttr; PyOFXActionArgumentsType.tp_getattro = PyOFXActionArguments_GetAttr; //PyObject_GenericGetAttr; if (PyType_Ready(&PyOFXActionArgumentsType) < 0) { std::cerr << "Failed to intiialize ofx.ActionArguments class" << std::endl; Py_DECREF(mod); return; } INIT_TYPE(PyOFXRectIType, "ofx.RectI", PyOFXRectI); PyOFXRectIType.tp_flags = Py_TPFLAGS_DEFAULT; PyOFXRectIType.tp_new = PyOFXRectI_New; PyOFXRectIType.tp_init = PyOFXRectI_Init; PyOFXRectIType.tp_dealloc = PyOFXRectI_Delete; PyOFXRectIType.tp_getset = PyOFXRectI_GetSeters; if (PyType_Ready(&PyOFXRectIType) < 0) { std::cerr << "Failed to intiialize ofx.RectI class" << std::endl; Py_DECREF(mod); return; } INIT_TYPE(PyOFXRectDType, "ofx.RectD", PyOFXRectD); PyOFXRectDType.tp_flags = Py_TPFLAGS_DEFAULT; PyOFXRectDType.tp_new = PyOFXRectD_New; PyOFXRectDType.tp_init = PyOFXRectD_Init; PyOFXRectDType.tp_dealloc = PyOFXRectD_Delete; PyOFXRectDType.tp_getset = PyOFXRectD_GetSeters; if (PyType_Ready(&PyOFXRectDType) < 0) { std::cerr << "Failed to intiialize ofx.RectD class" << std::endl; Py_DECREF(mod); return; } INIT_TYPE(PyOFXRangeIType, "ofx.RangeI", PyOFXRangeI); PyOFXRangeIType.tp_flags = Py_TPFLAGS_DEFAULT; PyOFXRangeIType.tp_new = PyOFXRangeI_New; PyOFXRangeIType.tp_init = PyOFXRangeI_Init; PyOFXRangeIType.tp_dealloc = PyOFXRangeI_Delete; PyOFXRangeIType.tp_getset = PyOFXRangeI_GetSeters; if (PyType_Ready(&PyOFXRangeIType) < 0) { std::cerr << "Failed to intiialize ofx.RangeI class" << std::endl; Py_DECREF(mod); return; } INIT_TYPE(PyOFXRangeDType, "ofx.RangeD", PyOFXRangeD); PyOFXRangeDType.tp_flags = Py_TPFLAGS_DEFAULT; PyOFXRangeDType.tp_new = PyOFXRangeD_New; PyOFXRangeDType.tp_init = PyOFXRangeD_Init; PyOFXRangeDType.tp_dealloc = PyOFXRangeD_Delete; PyOFXRangeDType.tp_getset = PyOFXRangeD_GetSeters; if (PyType_Ready(&PyOFXRangeDType) < 0) { std::cerr << "Failed to intiialize ofx.RangeD class" << std::endl; Py_DECREF(mod); return; } Py_INCREF(&PyOFXActionArgumentsType); PyModule_AddObject(mod, "ActionArguments", (PyObject*)&PyOFXActionArgumentsType); Py_INCREF(&PyOFXRectIType); PyModule_AddObject(mod, "RectI", (PyObject*)&PyOFXRectIType); Py_INCREF(&PyOFXRectDType); PyModule_AddObject(mod, "RectD", (PyObject*)&PyOFXRectDType); Py_INCREF(&PyOFXRangeIType); PyModule_AddObject(mod, "RangeI", (PyObject*)&PyOFXRangeIType); Py_INCREF(&PyOFXRangeDType); PyModule_AddObject(mod, "RangeD", (PyObject*)&PyOFXRangeDType); Py_INCREF(&PyOFXRangeDType); PyModule_AddObject(mod, "FrameRange", (PyObject*)&PyOFXRangeDType); if (!PyOFX_InitException(mod)) { std::cerr << "Failed to intiialize exception classes" << std::endl; Py_DECREF(mod); return; } if (!PyOFX_InitHandle(mod)) { std::cerr << "Failed to intiialize handle classes" << std::endl; Py_DECREF(mod); return; } if (!PyOFX_InitPixel(mod)) { std::cerr << "Failed to intiialize pixel classes" << std::endl; Py_DECREF(mod); return; } if (!PyOFX_InitMessage(mod)) { std::cerr << "Failed to intiialize message classes" << std::endl; Py_DECREF(mod); return; } if (!PyOFX_InitMemory(mod)) { std::cerr << "Failed to intiialize memory classes" << std::endl; Py_DECREF(mod); return; } if (!PyOFX_InitProgress(mod)) { std::cerr << "Failed to intiialize progress classes" << std::endl; Py_DECREF(mod); return; } if (!PyOFX_InitTimeLine(mod)) { std::cerr << "Failed to intiialize timeline classes" << std::endl; Py_DECREF(mod); return; } if (!PyOFX_InitProperty(mod)) { std::cerr << "Failed to intiialize property classes" << std::endl; Py_DECREF(mod); return; } if (!PyOFX_InitParameter(mod)) { std::cerr << "Failed to intiialize parameter classes" << std::endl; Py_DECREF(mod); return; } if (!PyOFX_InitParameterSet(mod)) { std::cerr << "Failed to intiialize parameterset classes" << std::endl; Py_DECREF(mod); return; } if (!PyOFX_InitHost(mod)) { std::cerr << "Failed to intiialize host classes" << std::endl; Py_DECREF(mod); return; } if (!PyOFX_InitImage(mod)) { std::cerr << "Failed to intiialize image classes" << std::endl; Py_DECREF(mod); return; } if (!PyOFX_InitClip(mod)) { std::cerr << "Failed to intiialize clip classes" << std::endl; Py_DECREF(mod); return; } if (!PyOFX_InitInteract(mod)) { std::cerr << "Failed to intiialize interact classes" << std::endl; Py_DECREF(mod); return; } if (!PyOFX_InitImageEffect(mod)) { std::cerr << "Failed to intiialize imageeffect classes" << std::endl; Py_DECREF(mod); return; } if (!PyOFX_InitPlugin(mod)) { std::cerr << "Failed to intiialize plugin classes" << std::endl; Py_DECREF(mod); return; } if (!PyOFX_InitTest(mod)) { std::cerr << "Failed to intiialize test classes" << std::endl; Py_DECREF(mod); return; } }