Skip to content

v2.1 배포 전 검토에서 찾은 결함 수정: 미리보기 깜빡임, 원형 카드, 단축키 대기, 예전 설정, 문구 - #8

Merged
amophi merged 5 commits into
mainfrom
fix/v2.1-polish
Nov 11, 2026
Merged

amophi merged 5 commits into
mainfrom
fix/v2.1-polish

Conversation

@amophi

@amophi amophi commented Nov 11, 2026

Copy link
Copy Markdown
Collaborator

v2.1을 내기 전에 #7의 새 코드를 독립 검토하고, 배포 파일을 실제로 실행해 확인했습니다. 그 과정에서 찾은 결함을 고칩니다.

고친 것

  • 사람 소리 미리보기 깜빡임 (돌려서 확인)
    • PC의 판정 틱은 15.6ms 단위 시계로 재서 실제 주기가 255270ms입니다. Android 값 275ms로 만료하면 다음 판정이 오기 전에 미리보기가 사라져, 사람 소리 → 환경음 → 사람 소리로 깜빡였습니다(검토한 PC에서 틱의 79%).
    • 만료를 350ms로 늘렸습니다. 다음 판정, 위협음, 분류 탭 지정은 지금처럼 바로 이깁니다.
  • 캡처 스레드가 막힐 수 있는 길
    • Silero 스레드의 우선순위를 낮추지 않습니다. 링 버퍼 잠금을 캡처 스레드와 나눠 쓰므로, 모든 코어가 바쁠 때 낮은 우선순위로 잠금을 잡은 채 밀려나면 캡처 스레드가 함께 멈춥니다.
    • 필요 없어진 AI 파이프라인을 잠금 밖에서 닫습니다. 닫기가 최대 1초 기다리는 동안 캡처 스레드와 창 닫기가 같은 잠금에서 멈췄습니다.
    • 캡처 형식이 X→Y→X로 빠르게 바뀔 때 먼저 만든 파이프라인이 닫히지 않고 남던 것도 고쳤습니다.
  • 쉬운 설정의 원형 카드
    • 원형 시각화가 전역 설정(지금 모드의 값)에서 반지름을 읽어, 다른 모드를 쓰는 중에는 원형 카드가 그 모드의 반지름으로 그려졌습니다. 반지름을 그리는 쪽이 넘깁니다.
  • 단축키 입력 대기
    • 단축키 입력을 기다리는 채로 쉬운 설정이나 다른 탭으로 넘어가면, 그 뒤에 누른 Tab이나 방향키가 단축키로 저장됐습니다. 화면·탭을 바꾸면 Esc처럼 대기를 그만둡니다.
  • 아주 예전 설정 파일
    • 모드별 설정이 없던 판의 파일에서 값이 옮겨지지 않고 기본값으로 돌아가던 것을 고쳤습니다. 옮기는 코드는 있었지만 실행되지 않았습니다.
  • 문구
    • 일본어·인도네시아어·태국어·터키어: 튜토리얼 3쪽 범례에서 사람 소리의 이름과 예시가 같은 낱말로 두 번 보였습니다.
    • 아랍어: 쉬운 설정의 사람 소리 줄이 화면 읽어주기에서 겹쳐 읽혔습니다.
    • 한국어: 7.1 안내문을 다듬었습니다.

확인

  • 빌드 경고 0개, 단위 시험 1218개 통과(main은 1189개)
  • 새 시험 11개는 고치기 전 소스에서 모두 실패하고, 고친 뒤 통과합니다.
  • 배포 파일 실행 확인(사용자 화면에 보이지 않는 별도 데스크톱, 키보드·마우스 입력 없이 UI Automation으로 조작)
    • 첫 실행 튜토리얼 4쪽
    • 쉬운 설정: 크기 단계, 맞춘 크기 안내, '자세한 설정' 이동, 모양·표시 선택
    • 출력 장치 없음 안내, 창 닫기(종료 코드 0), 다시 켰을 때 설정 유지
    • 아랍어·독일어·영어 화면

확인하지 못한 것

  • 이 PC에는 연결된 소리 출력 장치가 없습니다. 그래서 실제 소리가 날 때의 오버레이와 미리보기는 실행으로 확인하지 못했습니다. 미리보기 시각은 실제 두 모델에 말소리 파일을 실시간으로 넣는 시험으로만 확인했습니다.

- 미리보기 만료를 275ms 에서 350ms 로 늘린다. PC 의 틱은 15.6ms 단위 시계로 재서 실제 주기가 255~270ms 라, Android 의 275ms 로는 다음 정규 결과가 오기 전에 미리보기가 사라져 사람 소리 → 환경음 → 사람 소리로 깜빡였다(이 PC 에서 틱의 7~9%).
- Silero 스레드의 우선순위를 낮추지 않는다. 링 버퍼 잠금을 캡처 스레드와 나눠 써서, 모든 코어가 바쁠 때 낮은 우선순위로 잠금을 잡은 채 밀려나면 캡처 스레드가 함께 멈춘다.
- 만드는 사이 필요 없어진 AI 파이프라인을 잠금 밖에서 닫는다. 닫기가 미리보기 스레드를 최대 1초 기다리는 동안 캡처 스레드와 창 닫기가 같은 잠금에서 멈췄다.
- 캡처 형식이 X→Y→X 로 빠르게 바뀔 때 먼저 넣은 파이프라인을 닫지 않고 덮어쓰던 것을 고친다.
원형 시각화가 전역 설정(지금 표현 모드의 값)에서 반지름을 읽어, 다른 모드를 쓰는 중에는 원형 카드와 튜토리얼 그림이 그 모드의 반지름으로 그려졌다. 반지름을 그리는 쪽이 넘기게 한다.
그대로 두면 단축키 버튼이 보이지 않는 화면에서 누른 Tab 이나 방향키가 먹지 않고 단축키로 저장됐다. Esc 와 같은 취소를 화면 전환과 탭 전환에도 쓴다.
읽는 틀에 모드별 설정의 초기값이 있어 파일에 없어도 늘 '있음'으로 읽혔고, 옮기는 코드가 실행되지 않아 판을 올린 사람의 크기·진하기가 기본값으로 돌아갔다.
- 일본어·인도네시아어·태국어·터키어: 사람 소리의 새 이름이 원래 예시와 같은 낱말이라 범례가 '人の声  人の声' 처럼 보였다. 예시를 말소리 뜻의 낱말로 바꾼다(Android #451 과 같다).
- 아랍어: 종류 이름에 관사를 붙여 쉬운 설정의 사람 소리 줄이 '사람 소리, 사람 소리 표시' 로 겹쳐 읽히지 않게 한다.
- 한국어: 7.1 안내문의 겹친 조건문과 띄어쓰기를 다듬는다.
@amophi
amophi merged commit 8788e96 into main Nov 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant