작성일: 2026-01-13
Ardule 시스템에서 드럼 패턴의 기본 단위는 ADT(Ardule Drum Pattern)이며, 기존에는 패턴의 길이(1-bar / 2-bar)가 ADT 파일 자체에 의해 결정되었다. 이로 인해 동일한 연주 내용을 가지면서 길이만 다른 패턴(예: half pattern)이 다수 생성되는 문제가 발생하였다.
본 문서는 패턴의 연주 내용과 재생 길이 해석을 분리하여, 패턴 길이에 대한 authority를 ADT가 아닌 ARR(체인)로 이동시키는 설계 원칙과 구현 방안을 정리한다.
_h): 1 bar
ARR 파일에는 선택적으로 BARS| 라인을 포함할 수 있다.
BARS| 라인은 옵션(optional) 이다.BARS| 라인은 MAIN| 라인과 1:1 대응한다.,)로 분리된다.예시:
MAIN|DRM_012,DRM_045,DRM_020 BARS|F,A,B
BARS| 라인은 단일 문자 토큰만 사용한다.
| 토큰 | 의미 |
|---|---|
| F | Full pattern (ADT 전체 길이) |
| A | 1st bar만 재생 |
| B | 2nd bar만 재생 |
effective_length = min(ADT_length, BARS_selection)
_h) 위에 A 또는 B가 지정되어도 ADT 고유 길이를 초과할 수 없으며, 결과는 항상 1 bar이다.
체인 편집 창에서 L 키를 누르면, 현재 선택된 패턴 엔트리에 대해 다음 상태를 순환한다.
F → A → B → F
L 키는 ARR 내부 해석만 변경한다.PATT x2 와 같이 동일 패턴이 반복(run)된 경우, 전체 run을 한 번에 half로 만드는 것은 의미가 없다.L 키를 누르면:예시:
PATT x2
L 입력 후:
PATT x1 PATT @A
이는 사용자의 의도가 “두 번째 반복만 다르게 재생하고 싶다”는 점을 명시적으로 반영한 설계이다.
_h 패턴은 본질적으로 1-bar 패턴이다._h 패턴은 계속 유효하며, 제거 대상이 아니다.BARS| 라인은 옵션이며 하위 호환성을 보장한다.이 설계는 과거의 자산을 보존하면서, 미래의 확장(세분화된 길이 해석, ADS 컴파일)을 자연스럽게 수용하기 위한 기반을 제공한다.