MOMENT Studio
← 목록으로

잠금화면과 이펙터 체인을 한 줄로 세우다

2025.09.22기술 기록#playback#sound-engine#ios-shell

원격 제어 상태와 재생 상태 간의 불일치를 제거하고, 이펙터 체인의 연결·해제 흐름을 명확히 정리했다.

재생은 앱 화면 안에서만 일어나지 않는다. 잠금화면의 재생 컨트롤, 헤드폰 버튼, 앱 전환 후 복귀 시의 상태까지 모두 동일한 재생 진실을 가리켜야 한다. 원격 제어가 보유한 상태와 실제 재생 상태 사이에 불일치가 발생하면, 시각적으로는 정지 상태로 표시되지만 오디오는 계속 출력되는 등의 오작동이 생긴다.

이를 해결하기 위해 원격 제어 초기화 시점의 상태를 명확히 정의하고, 사용자 조작 입력 시 상태 갱신 경로를 단일화했다. 재생 상태의 진실 출처를 한 곳으로 집중시키는 구조적 변경이다.

오디오 출력 품질 측면에서는 이펙터 체인 말단에 컴프레서와 리미터를 추가해 출력 피크를 제어했다. inst 단독 재생 시에는 적절한 리버브가 적용되도록 이펙트 활성화·비활성화 순서를 재정의했다. 재생 컨텍스트가 바뀔 때 이전 이펙트가 잔류하지 않도록 해제 흐름을 명시적으로 처리한 것이 이번 변경의 핵심이다.