app: migrate all engine access to the C ABI facade (nm U _ZN5olive = 0)

Every app module now reaches liboakengine exclusively through
oakengine_* C calls, EngineEventBridge subscriptions and app-side
handle headers (cliphandle/keyframehandle/nodevaluehandle/oakvaluehelper).
Direct C++ command construction, engine signal connect()s, and engine
type usage in MOC-visible signatures are gone: 557 -> 0 undefined
olive:: symbols in oak-editor.
This commit is contained in:
2026-07-26 22:43:21 +08:00
parent f95590e924
commit 0aa5879f35
256 changed files with 12357 additions and 4044 deletions
+23 -3
View File
@@ -23,7 +23,7 @@
#include <QDir>
#include <QHBoxLayout>
#include "render/lutlibrary.h"
#include "oakengine/lut.h"
namespace olive
{
@@ -68,8 +68,28 @@ void LutFileField::refresh_library_entries()
library_combo_->clear();
library_combo_->addItem(tr("Other (Custom File)..."), QString());
const QStringList library_dirs = LUTLibrary::get_directories();
const QStringList luts = LUTLibrary::get_lut_files();
QStringList library_dirs;
{
int dir_count = oakengine_lut_directory_count();
for (int i = 0; i < dir_count; i++) {
char buf[4096];
int len = oakengine_lut_directory_at(i, buf, sizeof(buf));
if (len > 0) {
library_dirs.append(QString::fromUtf8(buf, len));
}
}
}
QStringList luts;
{
int file_count = oakengine_lut_file_count();
for (int i = 0; i < file_count; i++) {
char buf[4096];
int len = oakengine_lut_file_at(i, buf, sizeof(buf));
if (len > 0) {
luts.append(QString::fromUtf8(buf, len));
}
}
}
for (const QString &lut : luts) {
// Show the path relative to the library directory that contains it
QString display = lut;