New scrcpy/ADB capture engine that captures Android device screens over ADB using screencap polling. Supports USB and WiFi ADB connections with device auto-discovery. Engine-aware display picker shows Android devices when scrcpy engine is selected, with inline ADB connect form for WiFi devices. Key changes: - New scrcpy_engine.py using adb screencap polling (~1-2 FPS over WiFi) - Engine-aware GET /config/displays?engine_type= API - ADB connect/disconnect API endpoints (POST /adb/connect, /adb/disconnect) - Display picker supports engine-specific device lists - Stream/test modals pass engine type to display picker - Test template handler changed to sync def to prevent event loop blocking - Restart script merges registry PATH for newly-installed tools - All engines (including unavailable) shown in engine list with status flag Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
38 lines
1.4 KiB
PowerShell
38 lines
1.4 KiB
PowerShell
# Restart the WLED Screen Controller server
|
|
# Stop any running instance
|
|
$procs = Get-CimInstance Win32_Process -Filter "Name='python.exe'" |
|
|
Where-Object { $_.CommandLine -like '*wled_controller.main*' }
|
|
foreach ($p in $procs) {
|
|
Write-Host "Stopping server (PID $($p.ProcessId))..."
|
|
Stop-Process -Id $p.ProcessId -Force -ErrorAction SilentlyContinue
|
|
}
|
|
if ($procs) { Start-Sleep -Seconds 2 }
|
|
|
|
# Merge registry PATH with current PATH so newly-installed tools (e.g. scrcpy) are visible
|
|
$regUser = [Environment]::GetEnvironmentVariable('PATH', 'User')
|
|
if ($regUser) {
|
|
$currentDirs = $env:PATH -split ';' | ForEach-Object { $_.TrimEnd('\') }
|
|
foreach ($dir in ($regUser -split ';')) {
|
|
if ($dir -and ($currentDirs -notcontains $dir.TrimEnd('\'))) {
|
|
$env:PATH = "$env:PATH;$dir"
|
|
}
|
|
}
|
|
}
|
|
|
|
# Start server detached
|
|
Write-Host "Starting server..."
|
|
Start-Process -FilePath python -ArgumentList '-m', 'wled_controller.main' `
|
|
-WorkingDirectory 'c:\Users\Alexei\Documents\wled-screen-controller\server' `
|
|
-WindowStyle Hidden
|
|
|
|
Start-Sleep -Seconds 3
|
|
|
|
# Verify it's running
|
|
$check = Get-CimInstance Win32_Process -Filter "Name='python.exe'" |
|
|
Where-Object { $_.CommandLine -like '*wled_controller.main*' }
|
|
if ($check) {
|
|
Write-Host "Server started (PID $($check[0].ProcessId))"
|
|
} else {
|
|
Write-Host "WARNING: Server does not appear to be running!"
|
|
}
|