205 lines
7.0 KiB (Stored with Git LFS)
Markdown
205 lines
7.0 KiB (Stored with Git LFS)
Markdown
# StreamDock 플러그인 디버깅 방법
|
|
|
|
## 중요: 반드시 개발자 콘솔을 열어서 확인하세요!
|
|
|
|
StreamDock은 Electron 기반이므로 Chrome 개발자 도구로 디버그할 수 있습니다.
|
|
|
|
## 방법 1: 키보드 단축키 (가장 빠름)
|
|
|
|
1. StreamDock 프로그램이 실행 중인 상태에서
|
|
2. StreamDock 창을 클릭해서 포커스를 맞춘 후
|
|
3. 다음 키를 눌러보세요:
|
|
- **F12**
|
|
- **Ctrl + Shift + I**
|
|
- **Ctrl + Shift + J** (콘솔 직접 열기)
|
|
|
|
4. 개발자 도구가 열리면 **Console** 탭을 클릭
|
|
|
|
## 방법 2: 로그 파일 확인
|
|
|
|
로그가 파일로 저장될 수도 있습니다:
|
|
|
|
```
|
|
%APPDATA%\Hotspot\StreamDock\logs\
|
|
```
|
|
|
|
또는 이 배치 파일 실행:
|
|
```batch
|
|
view-logs.bat
|
|
```
|
|
|
|
## 디버그 출력 확인 방법
|
|
|
|
### 1. 버튼을 처음 추가할 때 (willAppear)
|
|
|
|
마커 버튼을 추가하면 이렇게 나와야 합니다:
|
|
```
|
|
============================================
|
|
👀 버튼 나타남 이벤트
|
|
🔍 Context: <컨텍스트 ID>
|
|
🔍 Action UUID: com.mirabox.streamingle.optitrack_marker_toggle
|
|
⚙️ 초기 설정: {}
|
|
✅✅✅ MARKER BUTTON DETECTED ✅✅✅
|
|
✅ This is the OptiTrack Marker Toggle button!
|
|
✅ When clicked, it should send: toggle_optitrack_markers
|
|
🎯 최종 actionType: optitrack_marker_toggle
|
|
💾 설정 저장 완료
|
|
============================================
|
|
```
|
|
|
|
카메라 버튼을 추가하면 이렇게 나옵니다:
|
|
```
|
|
============================================
|
|
👀 버튼 나타남 이벤트
|
|
🔍 Context: <컨텍스트 ID>
|
|
🔍 Action UUID: com.mirabox.streamingle
|
|
⚙️ 초기 설정: {}
|
|
📹 카메라 컨트롤러 등록 (기본값)
|
|
📹 This button will send camera switch messages
|
|
🎯 최종 actionType: camera
|
|
💾 설정 저장 완료
|
|
============================================
|
|
```
|
|
|
|
### 2. 버튼을 클릭할 때 (keyDown)
|
|
|
|
마커 버튼을 클릭하면:
|
|
```
|
|
╔════════════════════════════════════════╗
|
|
║ BUTTON CLICKED - DEBUG INFO ║
|
|
╠════════════════════════════════════════╣
|
|
Context: <컨텍스트 ID>
|
|
ActionType: optitrack_marker_toggle
|
|
All Settings: {"actionType":"optitrack_marker_toggle","currentState":0}
|
|
╚════════════════════════════════════════╝
|
|
➡️ Routing to: MARKER TOGGLE handler
|
|
Will send: {"type":"toggle_optitrack_markers"}
|
|
🎯 OptiTrack 마커 토글 실행
|
|
📤 Unity에 OptiTrack 마커 토글 요청 전송: {"type":"toggle_optitrack_markers"}
|
|
🔍 Unity 연결 상태: true
|
|
🔍 Unity 소켓 상태: true
|
|
✅ 메시지 전송 완료
|
|
🎨 버튼 상태 업데이트: OFF
|
|
```
|
|
|
|
카메라 버튼을 클릭하면:
|
|
```
|
|
╔════════════════════════════════════════╗
|
|
║ BUTTON CLICKED - DEBUG INFO ║
|
|
╠════════════════════════════════════════╣
|
|
Context: <컨텍스트 ID>
|
|
ActionType: camera
|
|
All Settings: {"actionType":"camera","camera_index":0}
|
|
╚════════════════════════════════════════╝
|
|
➡️ Routing to: CAMERA handler
|
|
Will send: {"type":"switch_camera","data":{...}}
|
|
```
|
|
|
|
## 문제 진단
|
|
|
|
### 증상: Unity에서 switch_camera 메시지를 받음
|
|
|
|
**원인**: 잘못된 버튼을 클릭하고 있습니다!
|
|
|
|
**확인 방법**:
|
|
1. StreamDock 개발자 콘솔 열기
|
|
2. 버튼 클릭
|
|
3. `ActionType:` 이 뭐라고 나오는지 확인
|
|
|
|
**결과 해석**:
|
|
- `ActionType: camera` → 카메라 버튼입니다. 마커 버튼이 아닙니다!
|
|
- `ActionType: optitrack_marker_toggle` → 올바른 마커 버튼입니다!
|
|
|
|
### 증상: 버튼 타이틀이 비어있음
|
|
|
|
**원인 1**: 버튼을 잘못 추가했습니다
|
|
- 카메라 버튼은 Unity에서 데이터를 받아와서 타이틀을 업데이트합니다
|
|
- Unity가 연결되지 않으면 타이틀이 비어있을 수 있습니다
|
|
|
|
**원인 2**: 마커 버튼이 제대로 추가되지 않았습니다
|
|
- 개발자 콘솔에서 `✅✅✅ MARKER BUTTON DETECTED` 메시지를 확인하세요
|
|
- 이 메시지가 없으면 버튼이 제대로 등록되지 않은 것입니다
|
|
|
|
## StreamDock에서 올바른 마커 버튼 추가하는 방법
|
|
|
|
1. StreamDock 소프트웨어 열기
|
|
2. 왼쪽 액션 목록에서 찾기:
|
|
- **"OptiTrack Marker Toggle"** 이라는 이름의 액션
|
|
- 아이콘: optitrack_marker_icon.png 이미지
|
|
3. 이 액션을 빈 버튼 슬롯으로 드래그
|
|
4. 추가되면 개발자 콘솔에서 `✅✅✅ MARKER BUTTON DETECTED` 확인
|
|
5. 버튼 타이틀이 "마커\nON" 으로 표시되는지 확인
|
|
|
|
## 잘못된 버튼을 추가한 경우
|
|
|
|
잘못 추가한 버튼은:
|
|
1. 길게 눌러서 삭제
|
|
2. 올바른 "OptiTrack Marker Toggle" 액션 다시 추가
|
|
3. 개발자 콘솔에서 버튼 등록 메시지 확인
|
|
|
|
## 플러그인 재배포 후 확인 사항
|
|
|
|
```batch
|
|
cd Streamdeck
|
|
deploy-plugin.bat
|
|
```
|
|
|
|
배포 후:
|
|
1. StreamDock이 자동으로 재시작됨
|
|
2. 기존 버튼들은 그대로 유지됨
|
|
3. 새 버튼 추가 시 새로운 코드가 적용됨
|
|
|
|
**중요**: 기존에 추가된 버튼은 설정이 그대로 유지됩니다!
|
|
- 배포 전에 추가한 마커 버튼은 계속 작동함
|
|
- 배포 전에 추가한 카메라 버튼도 계속 카메라 버튼으로 작동함
|
|
|
|
## 배치 파일들
|
|
|
|
### deploy-plugin.bat
|
|
플러그인 자동 배포:
|
|
- 관리자 권한 자동 획득
|
|
- StreamDock 종료
|
|
- 플러그인 파일 복사
|
|
- StreamDock 재시작
|
|
- 2초 후 자동으로 창 닫힘
|
|
|
|
### view-logs.bat
|
|
로그 파일 빠른 확인:
|
|
- 로그 디렉토리 열기
|
|
- 최신 로그 파일을 Notepad로 열기
|
|
|
|
## 개발자 콘솔이 안 열리는 경우
|
|
|
|
StreamDock 버전이나 설정에 따라 개발자 도구가 비활성화되어 있을 수 있습니다.
|
|
|
|
**대안 1**: 로그 파일 확인
|
|
```batch
|
|
view-logs.bat
|
|
```
|
|
|
|
**대안 2**: Unity 콘솔만으로 판단
|
|
- Unity에서 받은 메시지 타입 확인
|
|
- `switch_camera` → 카메라 버튼
|
|
- `toggle_optitrack_markers` → 마커 버튼 (정답!)
|
|
|
|
**대안 3**: 디버그 빌드
|
|
일부 Electron 앱은 프로덕션 빌드에서 개발자 도구를 막아둡니다.
|
|
StreamDock 설정 파일을 확인해보세요:
|
|
```
|
|
%APPDATA%\Hotspot\StreamDock\
|
|
```
|
|
|
|
## 정리
|
|
|
|
현재 문제:
|
|
- ✅ Unity는 메시지를 정상적으로 받고 있음
|
|
- ✅ 플러그인 코드는 정상 작동 중
|
|
- ❌ 잘못된 버튼을 클릭하고 있음
|
|
|
|
해결 방법:
|
|
1. StreamDock 개발자 콘솔 열기 (F12)
|
|
2. 버튼 클릭
|
|
3. ActionType 확인
|
|
4. 만약 camera라면 → 잘못된 버튼, 삭제하고 "OptiTrack Marker Toggle" 액션 추가
|
|
5. 만약 optitrack_marker_toggle이라면 → 올바른 버튼!
|