cli: add oak-cli, the first pure C ABI consumer of liboakengine
- oak-cli info prints project/sequence/footage details; oak-cli render writes PPM frames and a PCM WAV through the facade only - no engine C++ headers, no Qt headers, links just liboakengine - exit code 2 marks rendering-unavailable so ctest can skip cleanly on machines without a GL render backend; info test runs everywhere - facade fix uncovered by the CLI: project load now absolutizes the path, so relative footage paths can't be mistaken for a moved project; the fixture project now carries probed footage wired into its sequence so it renders real content - packaged like the other binaries (Linux bin install, macOS bundle, Windows DLL copies); DESTDIR-verified
This commit is contained in:
@@ -193,7 +193,12 @@ int oakengine_project_load(OakEngineProject *self, const char *path,
|
||||
return OAKENGINE_E_STATE;
|
||||
}
|
||||
|
||||
const QString filename = QString::fromUtf8(path);
|
||||
// Normalize to an absolute path so the stored filename matches the
|
||||
// file's saved_url; otherwise the footage validator treats the project
|
||||
// as moved (absolute saved_url vs. relative filename) and rewrites
|
||||
// relative footage paths against the caller's cwd.
|
||||
const QString filename =
|
||||
QFileInfo(QString::fromUtf8(path)).absoluteFilePath();
|
||||
project->set_filename(filename);
|
||||
|
||||
olive::ProjectSerializer::Result result = olive::ProjectSerializer::load(
|
||||
|
||||
Reference in New Issue
Block a user