람다 플러그인 JSON¶
전체 구조¶
1{
2 "info": {
3 ...
4 },
5 "controls": {
6 ...
7 },
8 "props": [
9 ...
10 ]
11}
info¶
람다의 상세 정보를 포함합니다.
Name |
Type |
Description |
---|---|---|
name |
string |
[필수] 람다의 이름 |
version |
string |
람다의 버전 정보 |
category |
string |
람다의 상위 분류 |
keywords |
string array |
키워드. 검색 및 분류에 사용 |
homepage |
string |
홈페이지 주소 |
bugs |
string |
버그 발생시 리포팅할 주소 |
license |
string |
라이선스 이름 |
author |
string |
작성자 |
dependencies |
object array |
종속성 목록 |
engines |
string |
실행가능한 CORE 엔진 버전 |
environment |
object |
람다를 작동시킬 구성 환경 |
titles |
object |
화면에 출력할 타이틀명 |
descriptions |
object |
화면에 출력할 람다의 간략한 정보 |
documentation_mime |
string |
문서에 적용될 |
documentations |
object |
문서의 본문 |
meta |
object |
메타 데이터 정보 |
version 문자열은 major.minor.patch
포맷으로 버전명을 기입해 주세요.
meta 객체는 《API》 또는 《WEB》 모듈과 상호작용하기 위한 정보를 포함합니다.
dependencies 객체는 아래의 속성을 포함합니다.
Name |
Type |
Description |
---|---|---|
type |
string |
종속성의 종류 |
src |
string |
패키지 이름 |
extra |
string array |
확장 명령 목록 |
environment 객체는 아래의 속성을 포함합니다.
Name |
Type |
Description |
---|---|---|
type |
string |
환경의 종류 |
name |
string |
환경의 이름 |
titles, descriptions, documentations 객체는
언어 코드에 해당하는 Key
와 내용에 해당하는 Value
를 내포합니다.
예제 코드는 다음과 같습니다.
1 "info": {
2 "name": "numpy_zeros",
3 "version": "1.0.0",
4 "category": "numpy",
5 "keywords": ["numpy"],
6 "homepage": "https://answer.bogonets.com/",
7 "bugs": "https://answer.bogonets.com/",
8 "license": "Bogonet License",
9 "author": "zer0",
10 "dependencies": [
11 {"type": "pip", "src": "numpy"}
12 ],
13 "engines": ">=1.0.2",
14 "environment": {},
15 "titles": {
16 "en": "numpy.zeros",
17 "ko": "numpy.zeros"
18 },
19 "descriptions": {
20 "en": "Returns an array filled with zeros.",
21 "ko": "0으로 채워진 배열을 반환한다."
22 },
23 "documentation_mime": "text",
24 "documentations": {},
25 "meta": {}
26}
controls¶
람다의 입출력 슬롯을 정의합니다.
controls 객체는 아래의 속성을 포함합니다.
Name |
Type |
Description |
---|---|---|
input |
object |
입력 슬롯 |
output |
object |
출력 슬롯 |
input 과 output 객체는 아래의 속성을 포함합니다.
Name |
Type |
Description |
---|---|---|
list |
object array |
슬롯 목록 |
dynamic |
bool |
동적 슬롯 지원 여부 |
method |
string |
슬롯의 데이터를 읽는 방법 |
dynamic 가 true
일 경우 사용자가 임의로 슬롯을 조절할 수 있습니다.
method 는 아래의 값 중 하나를 사용할 수 있습니다.
native
: 《CORE》의 원본 형태로 읽습니다.Box
구조를 사용합니다.numpy
: Python numpy 배열을 사용합니다.string
: 문자열을 사용합니다.
list 객체는 아래의 속성을 포함합니다.
Name |
Type |
Description |
---|---|---|
name |
string |
슬롯의 이름 |
mimes |
string array |
|
예제 코드는 다음과 같습니다.
1"controls": {
2 "input": {
3 "list": [
4 {
5 "name": "text"
6 },
7 {
8 "name": "audio",
9 "mime": "audio/ogg"
10 }
11 ],
12 "dynamic": true,
13 "method": "numpy"
14 },
15 "output": [
16 {
17 "name": "frame",
18 "mimes": ["image/jpeg", "image/png"]
19 }
20 ]
21}
props¶
람다의 속성 목록을 정의합니다.
props 객체는 아래의 속성을 포함합니다.
Name |
Type |
Description |
---|---|---|
rule |
string |
속성에 적용할 규칙 |
name |
string |
속성 이름 |
default_value |
any |
속성의 기본 값 |
type |
string |
속성 타입 |
required |
bool |
필수 여부 |
valid |
object |
Validation 목록 |
title |
object |
화면에 출력할 타이틀 |
help |
object |
화면에 출력할 도움말 |
rule 은 아래의 값 중 하나를 사용할 수 있습니다.
initialize_only
: 람다를 초기화 한 이후, 더이상 수정할 수 없습니다.init
으로 사용할 수 있습니다.read_only
: 읽기 전용 속성으로, 람다의 속성을 조회하기 위한 용도 입니다.r
으로 사용할 수 있습니다.read_and_write
: 읽기 및 쓰기 가능합니다.rw
으로 사용할 수 있습니다.
type 은 아래의 값 중 하나를 사용할 수 있습니다.
str
: 문자열bool
: Boolean,true
또는false
값을 허용합니다.int
: 정수형unsigned
: 부호 없는 정수형size
: 크기float
: 단 정밀도 실수double
: 배 정밀도 실수json
: JSON 객체csv
: CSV 문자열,,
를 사용하여 문자열을 분할합니다.color
: 색상 값,#RRGGBB
포맷의 문자열을 사용합니다.duration
: 경과 시간. 문자열을 사용합니다.byte
: 바이트 단위 크기. 문자열을 사용합니다.time
: 절대 시간. 문자열을 사용합니다.box_json
:Box
포맷의 JSON 객체
valid 객체는 아래의 속성을 포함합니다.
Name |
Type |
Description |
Version |
---|---|---|---|
list |
string |
선택 목록 |
|
hint |
string |
힌트 목록 |
|
min |
string |
최소 값 |
|
max |
string |
최대 값 |
|
dyhint |
string |
유동적 힌트 |
|
password |
string |
암호문 처리 |
|
advance |
string |
상세 옵션 |
|
list 와 hint 는 ;
으로 문자열을 분할 합니다.
예제 코드는 다음과 같습니다.
1{
2 "rule": "initialize_only",
3 "name": "api_preference",
4 "default_value": "default",
5 "type": "str",
6 "required": true,
7 "valid": {
8 "list": "default;ffmpeg;images;dshow"
9 },
10 "title": {
11 "en": "API Preference",
12 "ko": "API Preference"
13 },
14 "help": {
15 "en": "Preferred Capture API backends to use.",
16 "ko": "사용할 백엔드 API."
17 }
18}