{"id":19321293,"url":"https://github.com/academysoftwarefoundation/openfx","last_synced_at":"2025-04-09T05:09:12.836Z","repository":{"id":1964878,"uuid":"2895569","full_name":"AcademySoftwareFoundation/openfx","owner":"AcademySoftwareFoundation","description":"OpenFX effects API","archived":false,"fork":false,"pushed_at":"2024-09-10T16:12:36.000Z","size":17237,"stargazers_count":405,"open_issues_count":44,"forks_count":119,"subscribers_count":42,"default_branch":"main","last_synced_at":"2024-09-10T18:06:29.937Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"nvie/gitflow","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AcademySoftwareFoundation.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"Support/CMakeLists.txt","governance":"GOVERNANCE.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2011-12-02T01:52:08.000Z","updated_at":"2024-09-10T16:12:40.000Z","dependencies_parsed_at":"2023-12-29T00:19:47.595Z","dependency_job_id":"520a56cd-2a92-4bcf-b45e-139cf8035d18","html_url":"https://github.com/AcademySoftwareFoundation/openfx","commit_stats":{"total_commits":474,"total_committers":21,"mean_commits":"22.571428571428573","dds":0.4641350210970464,"last_synced_commit":"470a412412c9aa946d35cb54f29a4fe85baec55a"},"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AcademySoftwareFoundation%2Fopenfx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AcademySoftwareFoundation%2Fopenfx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AcademySoftwareFoundation%2Fopenfx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AcademySoftwareFoundation%2Fopenfx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AcademySoftwareFoundation","download_url":"https://codeload.github.com/AcademySoftwareFoundation/openfx/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247980837,"owners_count":21027808,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T01:36:29.283Z","updated_at":"2025-04-09T05:09:12.805Z","avatar_url":"https://github.com/AcademySoftwareFoundation.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- SPDX-License-Identifier: CC-BY-4.0 --\u003e\n![Build](https://github.com/AcademySoftwareFoundation/openfx/actions/workflows/build.yml/badge.svg)\n\n# OpenFX image processing plug-in standard\n\nThe authoritative source for information about OFX is http://openeffects.org/\n\n* [OpenFX Build Instructions](https://github.com/AcademySoftwareFoundation/openfx/blob/master/install.md)\n* [OpenFX Documentation](https://openfx.readthedocs.io/en/latest) - start here\n* [OpenFX Documentation: Reference](https://openfx.readthedocs.io/en/latest/Reference)\n* [Programming Guide By Example](https://openfx.readthedocs.io/en/latest/Guide)\n* [OpenFX Wiki](https://wiki.aswf.io/pages/viewpage.action?pageId=49844871) \n\nHere are some [Ways to get involved](https://tac.aswf.io/engagement/#OpenFX) with OpenFX.\n\n## Why a Standard?\nVFX plug-in vendors were frustrated for years because host application vendors created proprietary plug-in interfaces. As a result, each plug-in vendor had to port their plug-ins to all the different hosts and hosts couldn't use each other's plug-ins, limiting the selection of effects available to artists. The need for a standard interface was clear, so Bruno Nicoletti of The Foundry led the effort to develop a standard. That standard is OFX.\n\nOFX is a win for artists because there is no waiting for plug-in vendors to port their cool effects to your application. Once a host compositing or editing application adopts OFX, all OFX plug-ins on the market instantly become available on that host.\n\nAnd OFX is a win for plug-in vendors because they can concentrate on what they do best: making cool effects\n\n## OFX Terminology\n### Host\nA video compositing or editing application, such as The Foundry Nuke, Assimilate Scratch, Sony Vegas, or FilmLight Baselight\n### Plug-in\nVideo software, such as GenArts Sapphire or RE:Vison Effects which adds a wider variety of effects to a host application.\n### Open Effects\nA standardized software interface between VFX host applications and plug-ins (also known as OpenFX and OFX).\n### Editor\nAn application which allows you to manipulate a video timeline by adding, removing, and changing the in and out points of video clips. Effects, Generators, Transition, Compositors and Retiming effects are commonly used in editors.\n### Compositor\nAn application which allows you build a video clip by layering video clips, still images, and effects.\n\n## Contributing\n\nPlease read the [Contribution Guidelines](https://github.com/ofxa/openfx/wiki/Extending-OpenFX-Guidelines) for how to submit pull requests for fixes and changes to the standard.\n\n# Building Libs and Plugins\n\nYou can build the examples, support lib, and host support lib using Conan and CMake.\n\nOn all OSes (even Windows with Mingw), you should be able to use `scripts/build-cmake.sh`. For more details, see [install.md](install.md).\n\n# Building Docs\n\nSee instructions in [Documentation/README.md](Documentation/README.md).\n\n# Producing a Release\n\n## Pre-release\n\n* Update the release notes and documentation and version number\n* Tag (locally) the desired version with e.g. `OFX_Release_1.x_pre_1`\n   - use `git tag -a -s` to sign with the release gpg key\n* Push that tag to github, and email everyone to test that tagged build.\n\n## Release\n\n* Tag (locally) the desired version with e.g. `OFX_Release_1.x`\n   - use `git tag -a -s` to sign with the release gpg key\n* Push that tag to github, then create the release on github from that tag.\n* Publish the release on github; that will run the release publish workflow, creating and uploading the sigstore-signed artifacts.\n\n# Releases\n\nRelease bundles are named like `openfx-\u003cOS\u003e-release-\u003cREL\u003e.tar.gz` and `openfx_plugins-\u003cOS\u003e-release-\u003cREL\u003e.tar.gz`.\nThe `openfx-*` bundles contain all the header files as well as the support libs. They look like this:\n\n```\nOpenFX\n├── include\n│  └── openfx\n│     ├── ofxCore.h...\n│     ├── HostSupport/*.h\n│     └── Support/*.h\n└── lib\n   ├── lib*\n```\n\nso you can add compiler/linker options `-I.../OpenFX/include` `-LOpenFX/lib` and then in source files `#include \"openfx/ofxCore.h\"` etc.\n\nThe `openfx-plugins-*` bundles contain all the sample plugins for the OS. Copy these into your [plugin install dir](https://openfx.readthedocs.io/en/latest/Reference/ofxPackaging.html#installation-directory-hierarchy) and they should show up in your host application.\n\n## Verifying Release Signatures\n\nWe use [`sigstore`](https://github.com/marketplace/actions/gh-action-sigstore-python) to sign our github releases. \nRelease signatures are created using short-lived certificates, and audit trails are stored online using `rekor.sigstore.com`. \nTo verify a release artifact (`.tar.gz` file), download its associated `.tar.gz.sigstore.json`, and then use [`cosign`](https://docs.sigstore.dev/cosign/system_config/installation/) to verify the signature like this:\n```\ncosign verify-blob \\\n  openfx-mac-release-x.y.tar.gz \\\n  --bundle openfx-mac-release-x.y.tar.gz.sigstore.json \\\n  --new-bundle-format \\\n  --certificate-identity-regexp='https://github.com/AcademySoftwareFoundation/openfx/.*' \\ --certificate-oidc-issuer='https://token.actions.githubusercontent.com'\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facademysoftwarefoundation%2Fopenfx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Facademysoftwarefoundation%2Fopenfx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facademysoftwarefoundation%2Fopenfx/lists"}