오디오 플러그인의 라이프사이클

1. Validation Phase

DAW를 실행하면 오디오 플러그인이 위치한 경로에서 모든 플러그인을 불러오는 작업을 합니다.
일반적으로 플러그인은 모두 약속된 위치에 저장됩니다.
플러그인이 많은 경우 DAW를 실행하는데 오랜 시간이 걸리는 이유가 바로 이 과정 때문입니다.

2. Loading Phase

DAW를 실행하고 원하는 트랙에 플러그인을 로드합니다.
이때 플러그인의 생성자(Constructor)가 호출되어 플러그인의 오브젝트를 만들어냅니다.
생성자가 호출되고 플러그인의 정보를 검토하는 과정을 가집니다. (Inspecting Plugin's Description)\
이후 prepareToPlay() 함수가 호출되어 플러그인의 프로세싱에 필요한 모든 리소스를 준비합니다.

3. Processing Phase

DAW 상에서 트랙을 재생하면, processBlock() 함수가 호출됩니다.
이 processBlock() 함수가 오디오 신호 처리의 알고리즘을 담고 있습니다. 플러그인 개발에서 가장 중요한 부분이라고 할 수 있겠습니다.
processBlock()은 재생을 멈출 때까지 계속해서 호출됩니다.

4. Unloading Phase

DAW 트랙 상에서 플러그인을 제거(Unloading)하면 releaseResourcesd()라는 함수가 호출되어 오디오 프로세싱에 사용했던 모든 리소스를 정리합니다.
이후 플러그인의 소멸자(Destructor)가 호출되어 플러그인 오브젝트는 사라집니다.

profile
오디오 플러그인 개발자

0개의 댓글