Skip to content

Commit 2103784

Browse files
committed
Document PTZControl2 GUI and package releases
1 parent e8cad45 commit 2103784

4 files changed

Lines changed: 100 additions & 2 deletions

File tree

.github/workflows/gh-release.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ jobs:
2828
- name: Publish PTZControlConsole (x64)
2929
run: dotnet publish PTZControlConsole/PTZControlConsole.csproj -c Release -r win-x64 --self-contained false -o ${{ github.workspace }}\console-win-x64
3030

31+
- name: Publish PTZControl2 (x64)
32+
run: dotnet publish PTZControl2/PTZControl2.csproj -c Release -r win-x64 --self-contained false -o ${{ github.workspace }}\ptzcontrol2-win-x64
33+
3134
- name: Upload PTZControl (x64) as artifact
3235
uses: actions/upload-artifact@v4
3336
with:
@@ -40,6 +43,12 @@ jobs:
4043
name: PTZControlConsole-win-x64
4144
path: ${{ github.workspace }}\console-win-x64\*
4245

46+
- name: Upload PTZControl2 (x64) as artifact
47+
uses: actions/upload-artifact@v4
48+
with:
49+
name: PTZControl2-win-x64
50+
path: ${{ github.workspace }}\ptzcontrol2-win-x64\*
51+
4352
build-x86:
4453
runs-on: windows-2025-vs2026
4554
steps:
@@ -59,6 +68,9 @@ jobs:
5968
- name: Publish PTZControlConsole (x86)
6069
run: dotnet publish PTZControlConsole/PTZControlConsole.csproj -c Release -r win-x86 --self-contained false -o ${{ github.workspace }}\console-win-x86
6170

71+
- name: Publish PTZControl2 (x86)
72+
run: dotnet publish PTZControl2/PTZControl2.csproj -c Release -r win-x86 --self-contained false -o ${{ github.workspace }}\ptzcontrol2-win-x86
73+
6274
- name: Upload PTZControl (x86) as artifact
6375
uses: actions/upload-artifact@v4
6476
with:
@@ -71,6 +83,12 @@ jobs:
7183
name: PTZControlConsole-win-x86
7284
path: ${{ github.workspace }}\console-win-x86\*
7385

86+
- name: Upload PTZControl2 (x86) as artifact
87+
uses: actions/upload-artifact@v4
88+
with:
89+
name: PTZControl2-win-x86
90+
path: ${{ github.workspace }}\ptzcontrol2-win-x86\*
91+
7492
build-linux-x64:
7593
runs-on: ubuntu-latest
7694
steps:
@@ -126,12 +144,24 @@ jobs:
126144
name: PTZControlConsole-win-x64
127145
path: PTZControlConsole-${{ env.TAG_NAME }}-win-x64
128146

147+
- name: Download PTZControl2 x64 artifact
148+
uses: actions/download-artifact@v4
149+
with:
150+
name: PTZControl2-win-x64
151+
path: PTZControl2-${{ env.TAG_NAME }}-win-x64
152+
129153
- name: Download console x86 artifact
130154
uses: actions/download-artifact@v4
131155
with:
132156
name: PTZControlConsole-win-x86
133157
path: PTZControlConsole-${{ env.TAG_NAME }}-win-x86
134158

159+
- name: Download PTZControl2 x86 artifact
160+
uses: actions/download-artifact@v4
161+
with:
162+
name: PTZControl2-win-x86
163+
path: PTZControl2-${{ env.TAG_NAME }}-win-x86
164+
135165
- name: Download console linux x64 beta artifact
136166
uses: actions/download-artifact@v4
137167
with:
@@ -155,6 +185,8 @@ jobs:
155185
(cd PTZControl-win-x86 && zip -r ../PTZControl-win-x86.zip .)
156186
(cd PTZControlConsole-${{ env.TAG_NAME }}-win-x64 && zip -r ../PTZControlConsole-win-x64.zip .)
157187
(cd PTZControlConsole-${{ env.TAG_NAME }}-win-x86 && zip -r ../PTZControlConsole-win-x86.zip .)
188+
(cd PTZControl2-${{ env.TAG_NAME }}-win-x64 && zip -r ../PTZControl2-win-x64.zip .)
189+
(cd PTZControl2-${{ env.TAG_NAME }}-win-x86 && zip -r ../PTZControl2-win-x86.zip .)
158190
tar -czf PTZControlConsole-linux-x64-beta.tar.gz PTZControlConsole-${{ env.TAG_NAME }}-linux-x64-beta
159191
160192
- name: Create Release
@@ -167,5 +199,7 @@ jobs:
167199
./PTZControl-win-x86.zip
168200
./PTZControlConsole-win-x64.zip
169201
./PTZControlConsole-win-x86.zip
202+
./PTZControl2-win-x64.zip
203+
./PTZControl2-win-x86.zip
170204
./PTZControlConsole-linux-x64-beta.tar.gz
171205

README.md

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,26 @@ verbs for camera discovery, camera selection, zoom, pan/tilt, presets, metadata,
1616
and diagnostics so PTZ camera actions can be integrated into existing production
1717
workflows.
1818

19+
## Purpose of the PTZControl2 GUI
20+
21+
`PTZControl2` is the fork's modern Windows GUI for interactive camera operation.
22+
It offers a larger, clearer, dark-mode capable control surface than the classic
23+
GUI while keeping the familiar preset and camera-slot workflow.
24+
25+
![PTZControl2 dark-mode main window](docs/assets/ptzcontrol2-main-window.png)
26+
27+
Highlights include large live-operation buttons, per-camera settings, preset
28+
names, camera aliases, optional live preview, camera diagnostics, picture
29+
controls, and Windows device display-name rename support with UAC elevation when
30+
required. See [PTZControl2 GUI](docs/ptzcontrol2.md) for details.
31+
32+
PTZControl2 is currently promoted as a Windows application. Linux/macOS GUI
33+
behavior is not part of the supported release scope yet.
34+
1935
Important additions in this fork include:
2036

2137
- A .NET-based `PTZControlConsole` command-line application.
38+
- A modern Windows-only `PTZControl2` GUI application.
2239
- Cross-platform console support for Windows and experimental Linux builds, with
2340
macOS support planned for the same backend architecture.
2441
- Modern CLI verbs for device discovery, camera information, zoom, pan/tilt,
@@ -30,8 +47,8 @@ Important additions in this fork include:
3047
registry storage, while Linux/macOS use JSON metadata files.
3148
- Config export/import commands for moving preset names and camera slot aliases
3249
between systems.
33-
- GitHub Actions release packaging for the Windows GUI, Windows console builds,
34-
and experimental Linux console builds.
50+
- GitHub Actions release packaging for the classic Windows GUI, PTZControl2
51+
Windows GUI, Windows console builds, and experimental Linux console builds.
3552
- Guided Windows/Linux camera test scripts to collect reproducible feedback from
3653
real PTZ Pro 2 camera tests.
3754

@@ -51,6 +68,7 @@ packaging, and cross-platform metadata work. See [LICENSE](LICENSE) and
5168
- [Command syntax](docs/syntax.md)
5269
- [Generated CLI help](docs/generated/cli-help.md)
5370
- [Generated example output](docs/generated/example-output.md)
71+
- [PTZControl2 GUI](docs/ptzcontrol2.md)
5472
- [Stream Deck guide](docs/streamdeck.md)
5573
- [Bitfocus Companion guide](docs/bitfocus-companion.md)
5674
- [Linux installation](install-linux.md)
39.8 KB
Loading

docs/ptzcontrol2.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# PTZControl2 GUI
2+
3+
`PTZControl2` is the modern Windows GUI in this fork. It is designed for live
4+
camera operation where the classic GUI is too small, too dense, or too hard to
5+
use repeatedly during production work.
6+
7+
![PTZControl2 dark-mode main window](assets/ptzcontrol2-main-window.png)
8+
9+
## Why PTZControl2 exists
10+
11+
The original `PTZControl.exe` remains available for compatibility, but
12+
`PTZControl2` provides a more operator-friendly control surface:
13+
14+
- Larger preset, home, default, pan/tilt, and zoom buttons.
15+
- A clearer layout for live operation on smaller control displays.
16+
- Light and dark theme support.
17+
- A modern Settings dialog with camera, movement, preset, compatibility, and
18+
appearance sections.
19+
- Better status feedback for success and warning states.
20+
21+
## Main features
22+
23+
- Camera selection by slot with compact names and full device path tooltips.
24+
- Camera slot aliases and preset names.
25+
- Per-camera movement settings such as pan/tilt inversion.
26+
- Per-camera compatibility options for standard UVC controls versus Logitech
27+
extension controls.
28+
- Optional Windows live preview window for checking the selected camera image.
29+
- Camera monitor window with current zoom, pan, tilt, and picture-control
30+
values.
31+
- Picture controls for supported cameras: brightness, contrast, sharpness, and
32+
saturation.
33+
- Windows device display-name rename support with UAC elevation when required.
34+
35+
## Platform scope
36+
37+
PTZControl2 is currently promoted as a Windows GUI application. The project uses
38+
Avalonia, but Linux/macOS GUI behavior is not part of the supported release
39+
scope yet because camera control, live preview, and device rename features are
40+
currently Windows-oriented.
41+
42+
## Relation to PTZControlConsole
43+
44+
Use `PTZControl2` for interactive operation. Use `PTZControlConsole` for
45+
automation from scripts, Stream Deck, Bitfocus Companion, batch files, and other
46+
external control systems.

0 commit comments

Comments
 (0)