Mike-Solar 4fc8b80d7e core: turn olivecore into liboakcore.so with a pure C ABI
liboakcore is now a shared library that exposes only a C ABI:
- every value class (Rational, TimeRange, Color, Bezier, AudioParams,
  SampleBuffer) and the free-function groups (StringUtils, fraction
  utils, Timecode) is wrapped in an opaque-handle C API under
  core/include/olive/core/oakcore/ (init/copy/free + self-first
  functions), implemented in core/src/capi/
- consumers keep the original C++ API unchanged through same-name
  wrapper classes that hold the handle and forward across the C
  boundary; original implementations moved to core/src/oliveimpl
  (namespace olive::core::internal) and are hidden from export
- TimeRangeList/TimeRangeListFrameIterator are reimplemented inline
  over the wrapper (iterators/containers don't cross C ABI)
- generic Value container stays internal (unused by consumers) and is
  no longer part of the public umbrella header
- hidden visibility + OAKCORE_BUILD export macro; nm shows zero
  olive::* symbols exported
- install into the platform's standard libdir (GNUInstallDirs);
  Windows DLLs next to the executables, macOS into the app bundle
- TimelineWorkArea::in/out/length now return by value: the wrapped
  TimeRange getters return values, and forwarding them through const
  references dangled (found via RenderWorkerFootageTest crash)
- tests: 9 new pure C ABI test executables (oakcore_*_test) covering
  every public C function; 4 stale legacy core tests removed (they
  targeted a long-renamed API and were never built due to a malformed
  option() that also kept OLIVECORE_BUILD_TESTS off)
- CI/CD: oakcore.dll staged for NSIS, liboakcore.so added to the
  AppImage validation list, build-tree DLL copies on Windows
2026-07-19 23:49:40 +08:00
2026-01-16 21:22:05 +08:00
2026-07-13 14:32:17 +08:00
2026-01-05 14:24:28 +08:00
2026-01-05 14:24:28 +08:00
2024-05-13 14:49:53 +02:00
2026-07-17 22:51:46 +08:00
2026-01-05 16:22:26 +08:00

Oak Video EditorCI

中文

Oak Video Editor is a free non-linear video editor for Windows, macOS, and Linux.

This project is a community-maintained fork of Olive Video Editor. screen

NOTE: Oak Video Editor is alpha software and is considered highly unstable. While we highly appreciate users testing and providing usage information, please use at your own risk.

Binaries

The binary can be downloaded here:

v0.4.2

v0.4.1

v0.4.0

Building from Source

See docs/build.md for build instructions on Windows (MSYS2), Linux (Debian/Ubuntu, Fedora, Arch Linux), and macOS.

Roadmap

Version Theme Core Deliverables Boundary Notes
0.3 Plugin Architecture Milestone Production-ready OpenFX host support Not about quantity of plugins, but "any OFX plugin loads without crashing"
0.4 Color, Audio & Performance .cube/.3dl support, scopes (waveform/vectorscope/histogram), three-way color wheels, waveform auto-sync, BWF timecode sync, audio meters (LUFS/VU), proxy media workflow, hardware-accelerated export (NVENC/VideoToolbox), batch render queue Combines the previous 0.4-0.6 scope into one usability milestone: color workflow, audio sync, and 4K/8K performance
0.5 Animation, Tracking & Collaboration Bézier keyframe curve editor, basic point tracking, image stabilizer, full multicam angle switching, OpenTimelineIO, EDL/XML import/export Combines the previous 0.7-0.8 scope into one timeline/interchange milestone
0.6 Stability Milestone Project file format freeze (backward compatibility promise), crash recovery, autosave, memory optimization "Feature freeze" testing period before 1.0
1.0 Production Ready Complete documentation, installers, known issues list, community support channels Declared "ready for serious projects"
S
Description
No description provided
Readme GPL-3.0
73 MiB
Languages
C++ 87.8%
C 8.2%
CMake 3.3%
GLSL 0.5%