Change project name;
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
import { defineUserConfig } from "vuepress";
|
||||
import { hopeTheme } from "vuepress-theme-hope";
|
||||
|
||||
export default defineUserConfig({
|
||||
base: process.env.BASE || "/",
|
||||
locales: {
|
||||
"/": {
|
||||
lang: "en-US",
|
||||
title: "Oak Video Editor",
|
||||
description:
|
||||
"Open-source, non-linear video editor focused on speed and clarity.",
|
||||
},
|
||||
"/zh/": {
|
||||
lang: "zh-CN",
|
||||
title: "Oak 视频编辑器",
|
||||
description: "面向创作者的开源非线性剪辑软件。",
|
||||
},
|
||||
},
|
||||
theme: hopeTheme({
|
||||
logo: "/images/oak-icon.png",
|
||||
locales: {
|
||||
"/": {
|
||||
selectLanguageName: "English",
|
||||
navbar: [
|
||||
{ text: "Home", link: "/" },
|
||||
{ text: "Build", link: "/build.html" },
|
||||
{ text: "Project Files", link: "/project-file-reference.html" },
|
||||
{ text: "Test Plan", link: "/test-plan.html" },
|
||||
],
|
||||
sidebar: [
|
||||
{
|
||||
text: "Documentation",
|
||||
children: [
|
||||
"/build.md",
|
||||
"/project-file-reference.md",
|
||||
"/test-plan.md",
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
"/zh/": {
|
||||
selectLanguageName: "简体中文",
|
||||
navbar: [
|
||||
{ text: "首页", link: "/zh/" },
|
||||
{ text: "构建", link: "/zh/build.html" },
|
||||
{ text: "工程文件", link: "/zh/project-file-reference.html" },
|
||||
{ text: "测试计划", link: "/zh/test-plan.html" },
|
||||
],
|
||||
sidebar: [
|
||||
{
|
||||
text: "文档",
|
||||
children: [
|
||||
"/zh/build.md",
|
||||
"/zh/project-file-reference.md",
|
||||
"/zh/test-plan.md",
|
||||
"/zh/structure.md",
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
}),
|
||||
});
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 6.8 KiB |
@@ -0,0 +1,33 @@
|
||||
---
|
||||
home: true
|
||||
title: Oak Video Editor
|
||||
heroImage: /images/oak-icon.png
|
||||
heroText: Oak Video Editor
|
||||
heroFullScreen: false
|
||||
tagline: A modern, open-source, non-linear editor with a focus on speed and clarity.
|
||||
actions:
|
||||
- text: Read the Docs
|
||||
link: /build.html
|
||||
type: primary
|
||||
- text: View Project Files
|
||||
link: /project-file-reference.html
|
||||
type: secondary
|
||||
features:
|
||||
- title: Fast Editing
|
||||
details: Responsive timeline, smart caching, and efficient media handling.
|
||||
- title: Built for Creators
|
||||
details: Clean UI, configurable shortcuts, and clear project structure.
|
||||
- title: Open Source
|
||||
details: Transparent development with room for community ideas.
|
||||
footer: Copyright © Oak Video Editor
|
||||
---
|
||||
|
||||
## About Oak
|
||||
|
||||
Oak Video Editor is a renamed fork of Olive, focused on delivering a polished, creator-friendly editing experience. This site hosts build notes, project file references, and test plans for contributors.
|
||||
|
||||
## Quick Start
|
||||
|
||||
- Build from source on Windows, macOS, or Linux using the Build guide.
|
||||
- Learn how project data is stored in the Project File Reference.
|
||||
- Keep releases solid by following the Test Plan.
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
# Build Guide
|
||||
|
||||
This document describes how to build Olive from source. For Chinese, see
|
||||
This document describes how to build Oak Video Editor from source. For Chinese, see
|
||||
[`docs/build-zh.md`](docs/build-zh.md).
|
||||
|
||||
## Prerequisites
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Olive Project File Reference
|
||||
# Oak Video Editor Project File Reference
|
||||
|
||||
This document describes Olive's XML project format as implemented in the current codebase. It is intended to be detailed enough to implement a compatible reader/writer.
|
||||
This document describes Oak Video Editor's XML project format as implemented in the current codebase. It is intended to be detailed enough to implement a compatible reader/writer.
|
||||
|
||||
> Source of truth: `app/node/project.cpp`, `app/node/node.cpp`, `app/node/value.*`, `app/node/keyframe.*`, `app/node/project/serializer/*`.
|
||||
|
||||
@@ -61,7 +61,7 @@ Attributes:
|
||||
- `file`: plugin binary path (fallback).
|
||||
|
||||
Loading behavior:
|
||||
- If `plugins` exists, Olive adds each `bundle` (or `file` if `bundle` empty) to the OFX plugin path, scans, then registers plugin nodes before parsing `<nodes>`.
|
||||
- If `plugins` exists, Oak Video Editor adds each `bundle` (or `file` if `bundle` empty) to the OFX plugin path, scans, then registers plugin nodes before parsing `<nodes>`.
|
||||
|
||||
### 3.3 `nodes`
|
||||
The node graph. Each `<node>` is written by `Node::Save()` and read by `Node::Load()`.
|
||||
@@ -307,11 +307,10 @@ These are written by `ProjectSerializer230220::Save()` depending on SaveData.
|
||||
## 8. OpenFX Node Compatibility Notes
|
||||
|
||||
- OpenFX nodes are identified by OFX plugin identifier (`Plugin::getIdentifier()`).
|
||||
- The `plugins` list ensures Olive can locate external plugins before instantiating nodes.
|
||||
- The `plugins` list ensures Oak Video Editor can locate external plugins before instantiating nodes.
|
||||
- If a plugin cannot be found at load time, the node cannot be instantiated and will be skipped.
|
||||
|
||||
## 9. Versioning
|
||||
|
||||
- Root `olive` element `version` controls which serializer is used.
|
||||
- Newer files may be rejected with `kProjectTooNew` if no serializer exists.
|
||||
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
# Olive Testing Strategy and Plan
|
||||
# Oak Video Editor Testing Strategy and Plan
|
||||
|
||||
This document describes the automated testing strategy for Olive, including unit tests, integration tests, and CI execution.
|
||||
This document describes the automated testing strategy for Oak Video Editor, including unit tests, integration tests, and CI execution.
|
||||
|
||||
## Goals
|
||||
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
---
|
||||
home: true
|
||||
title: Oak 视频编辑器
|
||||
heroImage: /images/oak-icon.png
|
||||
heroText: Oak 视频编辑器
|
||||
heroFullScreen: false
|
||||
tagline: 现代开源的非线性剪辑器,强调速度与清晰度。
|
||||
actions:
|
||||
- text: 阅读文档
|
||||
link: /zh/build.html
|
||||
type: primary
|
||||
- text: 查看工程文件
|
||||
link: /zh/project-file-reference.html
|
||||
type: secondary
|
||||
features:
|
||||
- title: 快速剪辑
|
||||
details: 响应式时间线、智能缓存与高效媒体管理。
|
||||
- title: 面向创作者
|
||||
details: 简洁界面、可配置快捷键与清晰的工程结构。
|
||||
- title: 开源透明
|
||||
details: 公开开发流程,欢迎社区参与。
|
||||
footer: Copyright © Oak Video Editor
|
||||
---
|
||||
|
||||
## 关于 Oak
|
||||
|
||||
Oak 视频编辑器是 Olive 的重命名分支,目标是打造更完善、更友好的剪辑体验。本网站提供构建说明、工程文件参考与测试计划等贡献者文档。
|
||||
|
||||
## 快速开始
|
||||
|
||||
- 按《构建指南》在 Windows/macOS/Linux 上从源码构建。
|
||||
- 在《工程文件参考》了解项目数据结构。
|
||||
- 按《测试计划》确保发布质量。
|
||||
@@ -0,0 +1,116 @@
|
||||
# 构建指南
|
||||
|
||||
本文档介绍如何从源码构建 Oak Video Editor。
|
||||
|
||||
## 依赖
|
||||
|
||||
- CMake 3.20+
|
||||
- Ninja(推荐)
|
||||
- Qt 6(含私有头文件)
|
||||
- FFmpeg 开发库
|
||||
- OpenImageIO
|
||||
- OpenColorIO(2.x)
|
||||
- OpenEXR
|
||||
- Expat
|
||||
- PortAudio
|
||||
- OpenGL 头文件
|
||||
- XKB common(Linux)
|
||||
|
||||
## Linux(Ubuntu/Debian)
|
||||
|
||||
安装依赖:
|
||||
|
||||
```bash
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y \
|
||||
ninja-build pkg-config \
|
||||
qt6-base-dev qt6-base-dev-tools qt6-base-private-dev qt6-tools-dev qt6-tools-dev-tools \
|
||||
libavcodec-dev libavformat-dev libavfilter-dev libavutil-dev libswscale-dev libswresample-dev \
|
||||
libopencolorio-dev libopenimageio-dev libopenexr-dev libexpat1-dev \
|
||||
portaudio19-dev libgl1-mesa-dev libxkbcommon-dev
|
||||
```
|
||||
|
||||
配置并构建:
|
||||
|
||||
```bash
|
||||
cmake -S . -B build -G Ninja -DBUILD_TESTS=ON -DBUILD_QT6=ON
|
||||
cmake --build build --config Release
|
||||
```
|
||||
|
||||
运行测试:
|
||||
|
||||
```bash
|
||||
ctest --test-dir build --output-on-failure -C Release
|
||||
```
|
||||
|
||||
## macOS(非官方支持)
|
||||
|
||||
说明:macOS **非官方支持**,目前只做 CI 自动化测试,不做人工测试。
|
||||
|
||||
安装依赖:
|
||||
|
||||
```bash
|
||||
brew update
|
||||
brew install ninja pkg-config qt@6 ffmpeg openimageio opencolorio openexr portaudio expat
|
||||
```
|
||||
|
||||
构建 OpenTimelineIO(可选,如需 OTIO 支持):
|
||||
|
||||
```bash
|
||||
git clone --depth 1 --branch v0.16.0 https://github.com/PixarAnimationStudios/OpenTimelineIO.git
|
||||
cmake -S OpenTimelineIO -B OpenTimelineIO/build -G Ninja \
|
||||
-DOTIO_SHARED_LIBS=ON \
|
||||
-DOTIO_PYTHON_BINDINGS=OFF \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX="${PWD}/otio-install"
|
||||
cmake --build OpenTimelineIO/build
|
||||
cmake --install OpenTimelineIO/build
|
||||
```
|
||||
|
||||
配置并构建:
|
||||
|
||||
```bash
|
||||
export PATH="$(brew --prefix qt@6)/bin:$PATH"
|
||||
export CMAKE_PREFIX_PATH="$(brew --prefix qt@6)"
|
||||
export OTIO_LOCATION="${PWD}/otio-install"
|
||||
export OCIO_LOCATION="$(brew --prefix opencolorio)"
|
||||
|
||||
cmake -S . -B build -G Ninja -DBUILD_TESTS=ON -DBUILD_QT6=ON \
|
||||
-DOTIO_LOCATION="${OTIO_LOCATION}" \
|
||||
-DOCIO_LOCATION="${OCIO_LOCATION}"
|
||||
cmake --build build --config Release
|
||||
```
|
||||
|
||||
运行测试:
|
||||
|
||||
```bash
|
||||
ctest --test-dir build --output-on-failure -C Release
|
||||
```
|
||||
|
||||
## Windows
|
||||
|
||||
Qt 6 请使用系统安装器或 CI action。其余依赖建议用 vcpkg。
|
||||
|
||||
```powershell
|
||||
choco install -y ninja
|
||||
$env:VCPKG_ROOT = "C:\vcpkg"
|
||||
& "$env:VCPKG_ROOT\vcpkg.exe" install ffmpeg openimageio opencolorio openexr expat portaudio --triplet x64-windows
|
||||
```
|
||||
|
||||
配置并构建:
|
||||
|
||||
```powershell
|
||||
cmake -S . -B build -G Ninja `
|
||||
-DBUILD_TESTS=ON `
|
||||
-DBUILD_QT6=ON `
|
||||
-DCMAKE_BUILD_TYPE=Release `
|
||||
-DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_ROOT\scripts\buildsystems\vcpkg.cmake" `
|
||||
-DCMAKE_PREFIX_PATH="$env:Qt6_DIR"
|
||||
cmake --build build --config Release
|
||||
```
|
||||
|
||||
运行测试:
|
||||
|
||||
```powershell
|
||||
ctest --test-dir build --output-on-failure -C Release
|
||||
```
|
||||
@@ -1,6 +1,6 @@
|
||||
# Olive 项目文件参考手册(详细版)
|
||||
# Oak Video Editor 项目文件参考手册(详细版)
|
||||
|
||||
本文档基于当前源代码实现,描述 Olive 的 XML 项目文件格式,目标是足够详细以实现兼容读写器。
|
||||
本文档基于当前源代码实现,描述 Oak Video Editor 的 XML 项目文件格式,目标是足够详细以实现兼容读写器。
|
||||
|
||||
> 代码来源:`app/node/project.cpp`、`app/node/node.cpp`、`app/node/value.*`、`app/node/keyframe.*`、`app/node/project/serializer/*`。
|
||||
|
||||
@@ -303,4 +303,3 @@
|
||||
|
||||
- 根元素 `version` 决定使用哪个序列化器。
|
||||
- 若缺少对应版本,会报 `kProjectTooNew` 或 `kProjectTooOld`。
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Olive 项目结构概览(中文)
|
||||
Oak Video Editor 项目结构概览(中文)
|
||||
==========================
|
||||
|
||||
这份文档是基于当前仓库目录组织的快速导航,便于后续查找代码位置。
|
||||
@@ -1,6 +1,6 @@
|
||||
# Olive 测试策略与计划
|
||||
# Oak Video Editor 测试策略与计划
|
||||
|
||||
本文档描述 Olive 的自动化测试策略,包括单元测试、集成测试以及 CI 执行方式。
|
||||
本文档描述 Oak Video Editor 的自动化测试策略,包括单元测试、集成测试以及 CI 执行方式。
|
||||
|
||||
## 目标
|
||||
|
||||
Reference in New Issue
Block a user