소리꽃 KeyBloom 25
소리꽃 KeyBloom 바로가기 ↗
이 글은 소리꽃 KeyBloom 시리즈의 38번째 기록입니다. (총 46개)
오늘 한 일
런칭을 향한 배선의 날 — 폰트, 라이선스 활성화, 첫 서명 릴리스.
- 영어는 Archivo, 한글은 Noto Sans KR을 외부 CDN 없이 자체 호스팅으로 적용
- font-family 스택 순서로 글자마다 자동 분리(영어=Archivo, 한글=Noto Sans KR). 라이선스는 둘 다 SIL OFL, 크레딧에 고지
- [파일] 탭에 라이선스 활성화 UI(키 입력·상태·해제·구매) 추가 — 네이티브 전용
- 라이선스 하나로 2기기까지(Creem 활성화 한도), 결제 Worker를 라이브로 배선
- plus를 데스크톱 앱 전용으로 확정(알파·저지연 라이브는 앱에서만 되므로), 배지 이름 PRO → PLUS
- 사용자용 FPS 표시를 [재생] 설정 토글로(우상단 깔끔한 숫자). 개발용 디버그 표시는 출시 빌드에서 숨김
- 발광 슬라이더(길이·밝기·크기)를 발광을 켰을 때만 보이게 정리
- 첫 서명 릴리스 v0.1.0 — 서명 빌드 + 업데이터 매니페스트를 공개 릴리스 저장소에 올려 앱 배포·자동 업데이트가 되게 함
- 크레딧에 회사명(LOGSTONE), 건반·파티클 그라데이션 기본색을 공용 상수로 일치, 출력 파일명 중복 시 자동 (1) 접미사
- 기본 그라데이션 색을 파랑에서 소프트 핑크(#dbb7c9)로 — 파티클·건반이 같은 상수를 쓰게 해 어긋나지 않게
- .kbloom 파일 아이콘을 건반에서 하트 파티클이 피어오르는 모양으로 디자인하고, 다중 해상도 아이콘으로 만들어 설치하면 탐색기에서 그 아이콘으로 보이게 연결
- 라이선스 서버(워커)를 라이브 결제로 실제 배포하고, 웹(자동배포)과 네이티브 서명 릴리스를 냄
- 자동 업데이트 확인창을 앱 환경에서 확실히 뜨는 방식으로 교체
- 정보·크레딧 맨 위에 현재 앱 버전 표기
막힌 부분
plus를 활성화해도 알파가 안 풀렸다
라이선스를 활성화했는데도 내보내기의 알파 옵션이 잠겨 있고 PLUS 배지가 그대로였다. 워터마크는 매 프레임 판정이라 활성화하자마자 사라지는데, 내보내기 드롭다운의 잠금·배지는 앱 시작 시점에 한 번 정해져 고정돼 있었다.
- 해결: 라이선스 상태가 바뀔 때 그 잠금·배지를 다시 칠하는 재적용 함수를 만들어, 활성화 즉시 알파가 열리고 배지가 사라지게 했다. 매 프레임 판정(워터마크)과 시작 시점 고정(드롭다운)의 차이를 구분해야 했다.
plus가 웹에서도 워터마크가 없어진다고 적혀 있었다
티어 표에 “plus 웹 = 워터마크 제거”로 되어 있었는데, 실제 게이트는 앱 전용이라 웹에선 라이선스가 있어도 워터마크가 안 없어진다. 상품 설명을 다 만든 뒤에야 이 어긋남을 발견했다.
- 해결: 알파와 저지연 라이브가 어차피 앱에서만 되니, 돈 내는 사람은 어차피 앱을 쓴다. plus를 앱 전용으로 확정하고 표·설명을 그에 맞춰 정정했다.
설치할 때 “알 수 없는 앱” 경고
서명 릴리스인데도 Windows가 “알 수 없는 게시자”로 경고했다. Tauri의 서명은 자동 업데이트 검증용이지 OS가 신뢰하는 코드 서명(Authenticode)이 아니라, SmartScreen에는 도움이 안 된다.
- 결론: 코드 서명 인증서가 있어야 없어진다. 초기엔 안내 문구로 가고, 매출 신호가 오면 인증서를 붙이기로(로드맵 원칙 — 신호 없이 선지출 안 함).
배포했더니 기존 사용자가 자동 업데이트 팝업을 못 받았다
0.1.1을 냈는데 기존 사용자에게 업데이트 확인창이 뜨지 않았다. 앱은 새 버전을 감지는 했는데, 설치 여부를 묻는 브라우저 기본 확인창이 이 앱의 웹뷰에서 렌더되지 않고 곧바로 “아니오”로 처리돼 업데이트가 조용히 무시됐다. 새 프로젝트 저장을 물을 때 겪었던 것과 같은 문제인데, 그때는 자체 창으로 고쳤으면서 업데이터만 빠져 있었다.
- 해결: 네이티브 OS 확인창으로 바꿔 확실히 뜨게 함. 다만 이 버그가 0.1.0·0.1.1 설치본에 박제돼 있어, 그 사용자는 0.1.2를 한 번 수동 설치해야 이후부터 자동 업데이트가 정상 동작한다.
파일 아이콘은 연결 설정만으론 안 붙었다
Tauri의 파일 연결 기능은 확장자 등록은 해주지만 “그 확장자에 이 아이콘”을 지정하는 옵션이 없어, 기본적으로 앱 실행파일 아이콘이 붙는다.
- 해결: 설치 후 실행되는 설치 스크립트 훅에서, 시스템이 .kbloom에 붙인 식별자를 읽어 그 아이콘 값만 우리 아이콘으로 덮어썼다. 식별자를 직접 읽어 쓰므로 프레임워크가 규칙을 바꿔도 안 깨진다.
다음에 할 일
- Creem 심사 통과 후 라이브 결제로 구매→활성화 최종 1건 확인
- 데모곡에 자작곡 추가(지금은 쇼팽 녹턴만)
- 크로마키 출력(plus 다음 업데이트)
- 보류한 내보내기 구조 리팩터는 실기 검증 후
- 코드 서명 인증서(SmartScreen 경고 해소)는 매출 신호 후
- v0.1.2 릴리스 업로드 마무리(고정 이름 에셋) + v0.1.1 릴리스 정리 + 샵 직링 push는 릴리스 확정 후
- 0.1.0·0.1.1 사용자에게 0.1.2 수동 설치 안내
- Mac 네이티브 앱 + ProRes 알파
- 비-나선 파티클 가로 퍼짐(폭) 슬라이더 검토
- 실시간 연주 데모 영상 — 손+화면 동시로 실제 연주임을 보이기
Series: 소리꽃 KeyBloom
1 | 소리꽃 KeyBloom 2 | Rescene(리센느) ― Pretty Girl 3 | 히사이시 조 ― Spring 4 | 히사이시 조 ― 인생의 회전목마 5 | 히사이시 조 ― Summer 6 | LiSA ― 홍련화(귀멸의 칼날) 7 | DJ Okawari ― Flower Dance 8 | 안젤리크스페셜 ― The Queen 9 | 쇼팽 ― 녹턴 10 | 테일즈위버―Reminiscence 11 | D.Gray-man―14番目ノ子守歌 12 | 이루마―Kiss in the rain 13 | Bach―Invention No. 8 in F Major 14 | 소리꽃 KeyBloom 1 15 | 소리꽃 KeyBloom 2 16 | 소리꽃 KeyBloom 3 17 | 소리꽃 KeyBloom 4 18 | 소리꽃 KeyBloom 5 19 | 소리꽃 KeyBloom 6 20 | 소리꽃 KeyBloom 7 21 | 소리꽃 KeyBloom 8 22 | 소리꽃 KeyBloom 9 23 | 소리꽃 KeyBloom 10 24 | 소리꽃 KeyBloom 11 25 | 소리꽃 KeyBloom 12 26 | 소리꽃 KeyBloom 13 27 | 소리꽃 KeyBloom 14 28 | 소리꽃 KeyBloom 15 29 | 소리꽃 KeyBloom 16 30 | 소리꽃 KeyBloom 17 31 | 소리꽃 KeyBloom 18 32 | 소리꽃 KeyBloom 19 33 | 소리꽃 KeyBloom 20 34 | 소리꽃 KeyBloom 21 35 | 소리꽃 KeyBloom 22 36 | 소리꽃 KeyBloom 23 37 | 소리꽃 KeyBloom 24 38 | 소리꽃 KeyBloom 25 읽는 중 39 | 소리꽃 KeyBloom 26 40 | 소리꽃 KeyBloom 27 41 | 소리꽃 KeyBloom 28 42 | 소리꽃 KeyBloom 29 43 | 소리꽃 KeyBloom 30 44 | 소리꽃 KeyBloom 31 45 | 소리꽃 KeyBloom 32 46 | 소리꽃 KeyBloom 33