Single source of truth for audio interfaces shared between Carbon Trinity and Carbon Audio systems. This repository centralizes interface definitions to prevent API inconsistencies and maintain compatibility between systems.
include/ITr2AudEmitter.h- Interface for audio emittersinclude/ITr2Audio.h- Interface for audio functionality on assetsinclude/IAudioInputMgr.h- Interface for audio input management
To use this library in your project, add the following to your CMakeLists.txt:
find_package(CarbonTrinityAudioAPI REQUIRED)
target_link_libraries(YourTarget INTERFACE CarbonTrinityAudioAPI)- run after cloning this repository, or any carbon-component,
cdinto it and rungit submodule update --init - At the top level of your project (alongside your CMakeLists.txt file) create a file called:
CMakeUserPresets.json - Copy the contents of the
CMakePresets.jsonfile intoCMakeUserPresets.jsonand delete everything from theconfigurePresetsarray - Add a new preset into the
configurePresetsarray:
{
"name": "local",
// inherit all of the settings from this preset in CMakePresets.json
"inherits": "carbon_windows_vcpkg_vs",
"environment": {
// put any other environment variables that you want here
"CCP_EVE_PERFORCE_BRANCH_PATH": "D:/perforce/eve-frontier/branches/sandbox/VCPKG-MIGRATION"
},
"cacheVariables": {
// put any extra cache variables that you want in here
}
}NOTE: set inherits to carbon_osx_vcpkg for MacOS development
- run
cmake -S . --preset local - your project should be configured
- Insert any dependencies you might need into the
vcpkg.jsonfile - Consult the VCPKG documentation or our migration guide for more information on the VCPKG integration.
- For information on common VCPKG workflows, consult this wiki page
This pipeline automates handling open pull requests (PRs) when new commits are pushed to the repository.
-
Trigger on Commit
- The pipeline runs automatically every time a commit is pushed to any branch.
-
Check for Open PRs
- It checks if the committed branch is the target branch of any open PRs.
-
Filter PRs
- The pipeline identifies and sorts PRs into two categories:
- Domestic PRs: Source branch belongs to the same repository.
- International PRs: Source branch comes from a forked repository.
- The pipeline identifies and sorts PRs into two categories:
-
Dynamic Builds
- For each PR, the pipeline creates a separate build step using GitHub Actions' matrix logic to handle PRs in parallel.
-
Merge Logic
- Merges the latest changes from the target branch (committed branch) into the source branch of each PR.
- Pushes the updated source branch back:
- Domestic PRs: Push to the same repo.
- International PRs: Push to the forked repo.
-
Conflict Handling
- If there are merge conflicts that require manual resolution, the specific PR build step fails.
- The pipeline is dynamic and scales with the number of open PRs.
- Conflicts must be resolved manually, and affected builds will display the failure in the CI logs.
- Parallel builds ensure efficient processing of multiple PRs.
This setup ensures all PRs remain up-to-date with the latest changes from the target branch.
© 2026 CCP Games
This software is provided by CCP Games and does not include or distribute any third-party libraries or frameworks.
Trademark Notice: CCP Games is a trademark of CCP ehf.
This project is licensed under the MIT License. Nothing in the MIT License grants any rights to CCP Games' trademarks or game content.