작성일: 2026-01-13
Ardule Pattern Player는 INDEX.TXT를 단일 소스로 유지하면서도, 사용자가 버튼 입력으로 카테고리(장르) 목록의 표시 순서를 즉시 전환할 수 있게 한다.
이 설계는 SD 카드의 인덱스 파일을 재생성/수정하지 않고, 펌웨어 내부의 “표시용 순서”만 바꾸는 방식을 채택한다.
AFC(20) BLU(10) ... 처럼 장르별 집계를 보여주는 화면)INDEX.TXT)만 유지한다.INDEX.TXT의 내용/정렬(알파벳 순 등)은 변경하지 않는다.INDEX.TXT를 스캔하여 장르별 집계 테이블을 만든다.펌웨어 내부에 장르별 정보를 다음과 같이 유지한다.
genre[i].code : 3글자 장르 코드(예: AFC)genre[i].count : 해당 장르 패턴 개수genre[i].first_pos : 해당 장르의 첫 패턴 위치(줄 인덱스 또는 파일 오프셋)
>first_pos는 장르 선택 후 패턴 리스트로 진입할 때 즉시 점프하기 위한 정보다.
order[k] = i 형태의 인덱스 배열(길이 ≈ 장르 수)i = order[k]를 사용하여 genre[i]를 참조한다.장르 표시 순서는 버튼(A6) 입력으로 다음 모드를 순환한다.
모드 전환 규칙:
mode = (mode + 1) mod 4order[]를 해당 기준으로 재정렬하고 화면을 갱신한다.LCD Line2의 좌측 4칸 내외에 모드를 고정 표시한다.
A->ZZ->AN↓N↑예시(16×2 기준, 개념):
N↓ FNK(74) ...A->Z AFC(20) ...
>N은 “패턴 개수(Number of patterns)”를 의미한다.
화살표는 “정렬 방향”을 의미한다.
genre[i]의 first_pos로 이동하여 패턴 리스트를 보여준다.INDEX.TXT 순서 그대로이며, 별도의 “전체 정렬”을 하지 않는다.genre[] 테이블 + order[] 배열N↓/N↑에서 count가 같으면 2차 기준은 장르 코드(A→Z)로 정한다.REC(최근 사용 장르)FAV(즐겨찾기 장르)(단, 본 문서는 “INDEX 파일 하나 + 장르 표시 순서 변경”을 핵심 범위로 한다.)
Note: 장르별 집계후 알파벳 순서대로 표시되는 것은 현재의 기본 동작임