v10(Dharma)이전에 SVN repo라는 비공식 플러그인 관리툴이 있었습니다. 그러다 Dharma로 가면서 스크래퍼, 플러그인, 스크립트 등의 모든 사용자 확장을 Addon 이라는 이름으로 묶고 이를 Addon manager라는 메뉴에서 통합관리하게 되었죠.
통합관리이다 보니 구조가 원하는 형태로 정형화되어 있습니다.
addon.py addon.xml changelog.txt fanart.jpg icon.png LICENSE.txt /resources settings.xml /language/ /English/ /Korean/ /lib/ /media/
addon.xml
가장 중요한 것은 addon.xml 입니다. 아래는 Daum tvPot의 addon.xml이 되겠습니다.
|
자세한 스펙은 문서를 보면 되고, 간단히 설명만 하자면
- <addon> 이 가장 핵심입니다. id, 이름, 버전을 줘야 합니다. 특히 id는 가장 중요하죠.
- <require>에서는 플러그인이 사용하고 있는 모듈들입니다. xbmc.python의 1강에서 설명한 xbmc용 모듈들을 뜻합니다. 즉 꼭 들어있어야 하죠. 그외에 사용자가 사용한 모듈들을 추가합니다.
- <extension point="xbmc.python.pluginsource">은 이 addon이 video용 plugin이란 걸 알려줍니다. 여기서 library 항목에 작성한 python 파일 이름을 지정해야합니다.
- <extension point="xbmc.addon.metadata">에서 여러 언어로 만든 플러그인을 설명하죠.
<import> 항목에서 사용하고자 하는 모듈이 이미 등록되어 있으면 그 id를 사용하면 되고, 없다면 addon.xml을 작성하여 등록할 수 있습니다.
resources 폴더
addon.py(또는 default.py)에서 사용하는 자료들은 resources 폴더에 넣습니다. 이중 settings.xml와 languages는 자주 사용되죠.
우선 languages 밑에 사용하는 언어 폴더를 만든 후 strings.xml 파일을 만든 후 문장에 번호(id)를 붙여둡니다.
settings.xml
addon.xml 다음으로 중요한 것은 settings.xml이 되겠습니다. 다음은 dabdate 플러그인의 settings.xml이 되겠습니다.
|
구조는 간단한 편입니다. <settings>에는 id를 지정해야 하며 addon.py에서 이 id를 가지고 설정값을 읽어게 됩니다.
label은 설정에 대한 설명으로 여기서 번호가 적혀 있는 것은 language의 stirngs.xml에 정의된 문장이기 때문입니다.
type으로는 text, number, enum(선택하면 index 숫자가 넘어옴), labelenum(선택하면 값이 넘어옴), folder 등 여러가지가 있습니다.
또한 option으로 패스워드 용으로 안보이게 한다거나(hidden), 어떤 설정이 택해졌을 때만 활성화 된다거나(visible, ifeq) 등의 다양한 기능도 제공하죠.
자세한 스펙은 문서를 보시기 바랍니다.
그리고 실제 사용자 설정은 userdata 폴더 아래 addon_data 폴더에 저장됩니다.
그외에는 크게 중요한 것은 없고,
icon.png 는 말그대로 addon의 아이콘, fanart.jpg은 addon을 선택시 배경화면이 되겠습니다.
Addon에 대한 보다 자세한 설명은 문서를 참고하세요.
'컴퓨터' 카테고리의 다른 글
XBMC 플러그인 만들기 - 4강: 트리 만들기 (0) | 2015.03.27 |
---|---|
XBMC 플러그인 만들기 - 3강: addon.py 형태 (0) | 2015.03.27 |
XBMC 플러그인 만들기 - 1강: 개요 (0) | 2015.03.27 |
MediaPortal 사용하기 (8) - 자막 다운로드 (0) | 2010.04.30 |