個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗OQL is a free and open-source show-control application inspired by QLab, built with C++20 and Qt6. It is designed for live theatre, concerts, and events — letting you build and fire cue lists with precision timing, audio/video playback, and flexible automation.
This project is open to external contributions. Whether you're a developer, sound designer, or live-events professional, your input is welcome.
Coming soon.
git clone https://github.com/teonactl/oql.git
cd oql
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)
./build/oql
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(sysctl -n hw.logicalcpu)
open build/oql.app
Install Qt6 via the Qt online installer, then:
cmake -B build -DCMAKE_PREFIX_PATH="C:/Qt/6.x.x/msvc2022_64"
cmake --build build --config Release
src/
├── engine/ # Core logic — no UI dependencies
│ ├── Cue.h/cpp Base cue class
│ ├── AudioCue QMediaPlayer-based audio playback + slice system
│ ├── VideoCue Video playback with QVideoWidget
│ ├── TextCue Text output cue
│ ├── ControlCues Stop, Fade, Pause, Speed, Play, Effect, ResetEffect
│ ├── MicCue Live microphone passthrough with VU meter
│ ├── RecordCue Microphone → WAV recording → AudioCue link
│ ├── ScriptCue QJSEngine JavaScript automation
│ ├── GroupCue Collapsible cue container
│ ├── LabelCue Visual-only label
│ ├── CueList Flat cue list with playhead and autofollow
│ ├── Workspace File I/O (.oql JSON format)
│ └── AppSettings Per-user settings via QSettings
└── ui/ # Qt Widgets UI
├── MainWindow Main application window + toolbar + Show Mode
├── CueListView Custom table view with drag-and-drop
├── CueListModel QAbstractTableModel with visible-row mapping
├── InspectorPanel Per-cue property editor
├── WaveformView Waveform rendering and editing (configurable resolution)
├── ActiveCuesPanel Live view of currently playing cues
├── CueInfoBar Bottom status bar
├── VideoOutputWindow Dedicated fullscreen video output
├── TextOutputWindow Dedicated fullscreen text output
├── WebServer Built-in HTTP server for web remote
├── ScriptEditorDialog JavaScript editor for Script cues
└── SettingsDialog Project and app settings (shortcuts, language, waveform)
translations/
oql_en.ts / oql_es.ts / oql_fr.ts Qt Linguist translation files
resources/
webui.html Touch-friendly web remote interface
Workspaces are saved as .oql files (JSON). The format is intentionally simple and human-readable — you can inspect and edit them with any text editor.
OQL is actively looking for contributors. All skill levels and backgrounds are welcome.
std::unique_ptr or Qt parent-child ownershipsrc/engine/) must stay UI-free# Fork on GitHub, then:
git clone https://github.com/<your-username>/oql.git
cd oql
cmake -B build && cmake --build build -j$(nproc)
Open an issue or start a discussion if you want to talk through an idea before diving in.
OQL is released under the MIT License. See LICENSE for details.
Inspired by QLab by Figure 53 — the gold standard for show control. OQL is an independent project with no affiliation to Figure 53.