|
1 | | -# PTZControl Bridge v2 (C++/CLI-first) |
| 1 | +# PTZControlBridge status |
2 | 2 |
|
3 | | -Diese Version verdrahtet die **C#-Apps ausschließlich zur C++/CLI-Bridge**. |
4 | | -Die Bridge kapselt: |
5 | | -- **Standard-PTZ** (UVC) via DirectShow/IAMCameraControl (Fallback auf `PTZControl.Uvc` intern). |
6 | | -- **Logitech XU** (IKsControl) als **Platzhalter**: `UseLogitechMotionControl`, `SavePreset`, `RecallPreset` (TODO). |
| 3 | +`PTZControlBridge` is an experimental C++/CLI bridge prototype. It is kept in |
| 4 | +the source tree for reference, but it is not the current backend for |
| 5 | +`PTZControlConsole`. |
7 | 6 |
|
8 | | -## Projekte |
9 | | -- `PTZControlBridge` (C++/CLI): Öffentliche API → `LogitechPtz` (Enumerate, GetRange, SetPTZ, Presets/Motion stubs). |
10 | | -- `PTZControl.Uvc` (C# Class Library): Managed-Fallback für Standard-PTZ. |
11 | | -- `PTZControlGUI` (WinForms): Referenziert **nur** die Bridge. |
12 | | -- `PTZControlConsole` (Console): Referenziert **nur** die Bridge. |
| 7 | +Current console architecture: |
13 | 8 |
|
14 | | -## Build |
15 | | -1. **PTZControl.Uvc** (Debug) bauen. |
16 | | -2. **PTZControlBridge** (Debug) bauen — referenziert die Uvc-DLL per HintPath. |
17 | | -3. **PTZControlGUI** und **PTZControlConsole** (Debug) bauen — referenzieren die Bridge-DLL per HintPath. |
| 9 | +- `PTZControlConsole` references `PTZControl.Uvc` directly. |
| 10 | +- Windows camera control is implemented through the console backend abstraction. |
| 11 | +- Linux preview support is implemented through the same console backend |
| 12 | + abstraction. |
| 13 | +- The current command syntax is documented in [docs/syntax.md](docs/syntax.md) |
| 14 | + and generated help files under [docs/generated](docs/generated). |
18 | 15 |
|
19 | | -> Passen Sie bei Bedarf die HintPaths an Ihre Ausgabeordner/Konfiguration an. |
| 16 | +Bridge limitations in the current source tree: |
20 | 17 |
|
21 | | -## Verwendung |
22 | | -```powershell |
23 | | -# Liste |
24 | | -PTZControlConsole --list |
| 18 | +- `PTZControlBridge` still references a Debug build output of `PTZControl.Uvc`. |
| 19 | +- Logitech XU methods in the bridge are placeholders. |
| 20 | +- The bridge is not used by the release packaging flow. |
| 21 | +- The bridge documentation must not be used as CLI syntax reference. |
25 | 22 |
|
26 | | -# Standard-PTZ |
27 | | -PTZControlConsole --camera "Rally" --pan 0 --tilt 50 --zoom 120 |
28 | | -
|
29 | | -# Presets (Stubs -> NotSupportedException, bis XU implementiert) |
30 | | -PTZControlConsole --preset --camera "Rally" --save 1 |
31 | | -PTZControlConsole --preset --camera "Rally" --recall 1 |
32 | | -``` |
33 | | - |
34 | | -## Nächste Schritte (Logitech XU) |
35 | | -- In `PTZControlBridge` echte Implementierung via **IKsControl**: |
36 | | - - Gerät über Moniker öffnen, **Extension Unit Node** finden (Logitech GUIDs). |
37 | | - - `KSP_NODE` + `IKsControl::KsProperty` mit passenden `KSPROPERTY_*` & Control-IDs. |
38 | | - - Mapping der Upstream-Konstanten (aus Ihrem Altcode) in `LogitechXuGuids.h` einfügen. |
39 | | -- Danach die GUI-Checkbox **„Motion Control“** und Preset-Buttons aktivieren. |
40 | | - |
41 | | -Lizenz-Hinweis: Wenn Sie Code aus dem GPL-3.0-Upstream übernehmen, bleibt die Veröffentlichung GPL-kompatibel. |
| 23 | +If the bridge becomes relevant again, update this document together with the |
| 24 | +project references, release packaging, and generated CLI documentation. |
0 commit comments