2602회 채점완료 / gmep파일 xml 파싱 오류 예외처리
This commit is contained in:
@@ -61,31 +61,31 @@
|
||||
"point": 0
|
||||
},
|
||||
"5": {
|
||||
"ele": "$.children[?(@.name=='Journey & Signals')].name",
|
||||
"value": "Journey & Signals",
|
||||
"ele": "$.children[?(@.name=='Turtle Village')].name",
|
||||
"value": "Turtle Village",
|
||||
|
||||
"point": 4
|
||||
},
|
||||
"6": {
|
||||
"ele": "$.children[?(@.name=='Journey & Signals')].text.font.names[0]",
|
||||
"ele": "$.children[?(@.name=='Turtle Village')].text.font.names[0]",
|
||||
"type": "font",
|
||||
"value": "Arial",
|
||||
"point": 2
|
||||
},
|
||||
"7": {
|
||||
"ele": "$.children[?(@.name=='Journey & Signals')].text.font.names[0]",
|
||||
"ele": "$.children[?(@.name=='Turtle Village')].text.font.names[0]",
|
||||
"value": "Arial-BoldItalicMT",
|
||||
"point": 2
|
||||
},
|
||||
"8": {
|
||||
"ele": "$.children[?(@.name=='Journey & Signals')].text.font.sizes[0]",
|
||||
"ele": "$.children[?(@.name=='Turtle Village')].text.font.sizes[0]",
|
||||
"value": 48,
|
||||
"point": 2
|
||||
},
|
||||
"9": {
|
||||
"ele": "$.children[?(@.name=='Journey & Signals')].text.font.colors[0]",
|
||||
"ele": "$.children[?(@.name=='Turtle Village')].text.font.colors[0]",
|
||||
"type": "color",
|
||||
"value": "d6d6d6",
|
||||
"value": "6cdf3e",
|
||||
"point": 2
|
||||
},
|
||||
"10": {
|
||||
@@ -101,14 +101,14 @@
|
||||
"point": 0
|
||||
},
|
||||
"13": {
|
||||
"ele": "$.children[?(@.name=='기차 여행과 표지판')].name",
|
||||
"value": "기차 여행과 표지판",
|
||||
"ele": "$.children[?(@.name=='거북이 마을 여행')].name",
|
||||
"value": "거북이 마을 여행",
|
||||
"point": 4
|
||||
},
|
||||
"14": {
|
||||
"ele": "$.children[?(@.name=='기차 여행과 표지판')].text.font.names[0]",
|
||||
"ele": "$.children[?(@.name=='거북이 마을 여행')].text.font.names[0]",
|
||||
"type": "font",
|
||||
"value": "YetR",
|
||||
"value": "GungsuhChe",
|
||||
"point": 2,
|
||||
"desc": {
|
||||
"돋움체": "DotumChe",
|
||||
@@ -119,14 +119,14 @@
|
||||
}
|
||||
},
|
||||
"15": {
|
||||
"ele": "$.children[?(@.name=='기차 여행과 표지판')].text.font.sizes[0]",
|
||||
"value": 36,
|
||||
"ele": "$.children[?(@.name=='거북이 마을 여행')].text.font.sizes[0]",
|
||||
"value": 30,
|
||||
"point": 2
|
||||
},
|
||||
"16": {
|
||||
"ele": "$.children[?(@.name=='기차 여행과 표지판')].text.font.colors[0]",
|
||||
"ele": "$.children[?(@.name=='거북이 마을 여행')].text.font.colors[0]",
|
||||
"type": "color",
|
||||
"value": "0033ff",
|
||||
"value": "ffe537",
|
||||
"point": 2
|
||||
},
|
||||
"17": {
|
||||
@@ -188,7 +188,7 @@
|
||||
"1": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[not(@Length<='5' and @ClipLength='-1')]/@ClipIndex",
|
||||
"type": "mediaOrder",
|
||||
"value": ["동영상.mp4", "이미지1.jpg", "이미지3.jpg", "이미지2.jpg"],
|
||||
"value": ["동영상.mp4", "이미지3.jpg", "이미지1.jpg", "이미지2.jpg"],
|
||||
"point": 4,
|
||||
"desc": "비디오1 트랙에 있는 클립의 ClipIndex값을 기준으로 CRClipArr에서 Path값을 가져와서 정답 채점, 클립의 ClipIndex값이 -1인 경우와 길이가 5프레임 이하인 경우는 제외한다."
|
||||
},
|
||||
@@ -207,7 +207,7 @@
|
||||
"media": "동영상.mp4",
|
||||
"value": {
|
||||
"start": "0",
|
||||
"end": "330"
|
||||
"end": "360"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "시작시간과 재생시간 정답값 입력, 3번문항은 '동영상.mp4' 클립의 길이를 확인하는 문항이므로 media는 수정할 필요가 없다."
|
||||
@@ -217,63 +217,63 @@
|
||||
"type": "effect",
|
||||
"media": "동영상.mp4",
|
||||
"value": {
|
||||
"ID": "53",
|
||||
"VID100": "20",
|
||||
"VID103": "1.5"
|
||||
"ID": "151",
|
||||
"VID102": "1.2",
|
||||
"VID104": "12"
|
||||
},
|
||||
"point": 3,
|
||||
"desc": "value값의 키값(VID___)은 이펙트의 속성종류에 따라 변경되므로 채점기준표작성시 확인 필요"
|
||||
},
|
||||
"5": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@Name",
|
||||
"search": "달리는 기차를 보며",
|
||||
"search": "여러 종류의 거북이들",
|
||||
"type": "video.Text",
|
||||
"value": "달리는 기차를 보며",
|
||||
"value": "여러 종류의 거북이들",
|
||||
"point": 3
|
||||
},
|
||||
"6": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID102",
|
||||
"search": "달리는 기차를 보며",
|
||||
"search": "여러 종류의 거북이들",
|
||||
"type": "video.Text",
|
||||
"value": "바탕체",
|
||||
"value": "굴림체",
|
||||
"point": 2
|
||||
},
|
||||
"7": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID101",
|
||||
"search": "달리는 기차를 보며",
|
||||
"search": "여러 종류의 거북이들",
|
||||
"type": "video.Text",
|
||||
"value": "120",
|
||||
"value": "110",
|
||||
"point": 2
|
||||
},
|
||||
"8": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4']/@VID100",
|
||||
"search": "달리는 기차를 보며",
|
||||
"search": "여러 종류의 거북이들",
|
||||
"type": "video.Text.Color",
|
||||
"value": "12602f",
|
||||
"value": "0bd468",
|
||||
"point": 2,
|
||||
"desc": "컬러값은 RGB로 입력한다, [대소문자, #]허용 (#FFFFFF, ffffff 두 값 모두 허용)"
|
||||
},
|
||||
"9": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@*[name()='VID600' or name()='VID601']",
|
||||
"search": "달리는 기차를 보며",
|
||||
"search": "여러 종류의 거북이들",
|
||||
"type": "video.Location",
|
||||
"value": ["0.29583335", "0.9222222"],
|
||||
"value": ["0.29270834", "0.92962962"],
|
||||
"point": 2,
|
||||
"desc": "정답 파일의 자막 좌표를 기준으로 프로그램 내부적으로 0.1까지 오차를 허용한다"
|
||||
},
|
||||
"10": {
|
||||
"ele": "",
|
||||
"search": "달리는 기차를 보며",
|
||||
"search": "여러 종류의 거북이들",
|
||||
"type": "video.StartTime",
|
||||
"value": 170,
|
||||
"value": 160,
|
||||
"point": 2,
|
||||
"desc": "내부적으로 자막의 시작시간과 길이를 계산"
|
||||
},
|
||||
"11": {
|
||||
"ele": "",
|
||||
"search": "달리는 기차를 보며",
|
||||
"search": "여러 종류의 거북이들",
|
||||
"type": "video.Length",
|
||||
"value": 150,
|
||||
"value": 120,
|
||||
"point": 2,
|
||||
"desc": "내부적으로 자막의 시작시간과 길이를 계산"
|
||||
},
|
||||
@@ -287,17 +287,17 @@
|
||||
"13": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
|
||||
"type": "imageLength",
|
||||
"media": "이미지1.jpg",
|
||||
"media": "이미지3.jpg",
|
||||
"value": 150,
|
||||
"point": 2
|
||||
},
|
||||
"14": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "imageOverlay",
|
||||
"media": "이미지1.jpg",
|
||||
"media": "이미지3.jpg",
|
||||
"value": {
|
||||
"ID": "125",
|
||||
"VID101": "8"
|
||||
"ID": "102",
|
||||
"VID101": "4"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
|
||||
@@ -305,10 +305,10 @@
|
||||
"15": {
|
||||
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
|
||||
"type": "clipTransition",
|
||||
"media": "이미지1.jpg",
|
||||
"media": "이미지3.jpg",
|
||||
"value": {
|
||||
"ID": "96",
|
||||
"Range": "390:480",
|
||||
"ID": "12",
|
||||
"Range": "480:510",
|
||||
"Type": "2"
|
||||
},
|
||||
"point": 2,
|
||||
@@ -317,17 +317,17 @@
|
||||
"16": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
|
||||
"type": "imageLength",
|
||||
"media": "이미지3.jpg",
|
||||
"value": 150,
|
||||
"media": "이미지1.jpg",
|
||||
"value": 180,
|
||||
"point": 2
|
||||
},
|
||||
"17": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "imageOverlay",
|
||||
"media": "이미지3.jpg",
|
||||
"media": "이미지1.jpg",
|
||||
"value": {
|
||||
"ID": "103",
|
||||
"VID102": "4"
|
||||
"ID": "128",
|
||||
"VID101": "4"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
|
||||
@@ -335,11 +335,11 @@
|
||||
"18": {
|
||||
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
|
||||
"type": "clipTransition",
|
||||
"media": "이미지3.jpg",
|
||||
"media": "이미지1.jpg",
|
||||
"value": {
|
||||
"ID": "35",
|
||||
"Range": "600:660",
|
||||
"Type": "16"
|
||||
"ID": "7",
|
||||
"Range": "630:690",
|
||||
"Type": "2"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버랩일 경우 Type속성값 16으로 변경"
|
||||
@@ -348,7 +348,7 @@
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
|
||||
"type": "imageLength",
|
||||
"media": "이미지2.jpg",
|
||||
"value": 180,
|
||||
"value": 150,
|
||||
"point": 2
|
||||
},
|
||||
"20": {
|
||||
@@ -356,8 +356,8 @@
|
||||
"type": "imageOverlay",
|
||||
"media": "이미지2.jpg",
|
||||
"value": {
|
||||
"ID": "102",
|
||||
"VID101": "8"
|
||||
"ID": "67",
|
||||
"VID103": "6"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
|
||||
@@ -367,8 +367,8 @@
|
||||
"type": "clipTransition",
|
||||
"media": "이미지2.jpg",
|
||||
"value": {
|
||||
"ID": "0",
|
||||
"Range": "780:810",
|
||||
"ID": "20",
|
||||
"Range": "810:840",
|
||||
"Type": "2"
|
||||
},
|
||||
"point": 2,
|
||||
@@ -376,50 +376,50 @@
|
||||
},
|
||||
"22": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@Name",
|
||||
"search": "기차 여행 Train Travel",
|
||||
"search": "거북이 집 (Turtle House)",
|
||||
"type": "video.Text",
|
||||
"value": "기차 여행 Train Travel",
|
||||
"value": "거북이 집 (Turtle House)",
|
||||
"point": 3
|
||||
},
|
||||
"23": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID102",
|
||||
"search": "기차 여행 Train Travel",
|
||||
"search": "거북이 집 (Turtle House)",
|
||||
"type": "video.Text",
|
||||
"value": "바탕",
|
||||
"value": "바탕체",
|
||||
"point": 2
|
||||
},
|
||||
"24": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID101",
|
||||
"search": "기차 여행 Train Travel",
|
||||
"search": "거북이 집 (Turtle House)",
|
||||
"type": "video.Text",
|
||||
"value": "130",
|
||||
"value": "150",
|
||||
"point": 2
|
||||
},
|
||||
"25": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4']/@VID100",
|
||||
"search": "기차 여행 Train Travel",
|
||||
"search": "거북이 집 (Turtle House)",
|
||||
"type": "video.Text.Color",
|
||||
"value": "0300f0",
|
||||
"value": "00f3ff",
|
||||
"point": 2,
|
||||
"desc": "컬러값은 RGB로 입력한다, [대소문자, #]허용 (#FFFFFF, ffffff 두 값 모두 허용)"
|
||||
},
|
||||
"26": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='2']",
|
||||
"search": "기차 여행 Train Travel",
|
||||
"search": "거북이 집 (Turtle House)",
|
||||
"type": "video.Text.Outline",
|
||||
"value": {
|
||||
"width": "35",
|
||||
"color": "bcebf7"
|
||||
"width": "20",
|
||||
"color": "105932"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "두께는 XML에서는 소수점으로 표기되지만, 프로그램 내부적으로 변환하여 사용하므로 현재 파일에서는 정수로 작성"
|
||||
},
|
||||
"27": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr",
|
||||
"search": "기차 여행 Train Travel",
|
||||
"search": "거북이 집 (Turtle House)",
|
||||
"type": "opening.Text.FadeInEffect",
|
||||
"value": {
|
||||
"VID505": "3",
|
||||
"VID505": "1",
|
||||
"VID507": "2"
|
||||
},
|
||||
"point": 3,
|
||||
@@ -427,7 +427,7 @@
|
||||
},
|
||||
"28": {
|
||||
"ele": "",
|
||||
"search": "기차 여행 Train Travel",
|
||||
"search": "거북이 집 (Turtle House)",
|
||||
"type": "opening.StartTime",
|
||||
"value": 0,
|
||||
"point": 2,
|
||||
@@ -435,9 +435,9 @@
|
||||
},
|
||||
"29": {
|
||||
"ele": "",
|
||||
"search": "기차 여행 Train Travel",
|
||||
"search": "거북이 집 (Turtle House)",
|
||||
"type": "opening.Length",
|
||||
"value": 120,
|
||||
"value": 150,
|
||||
"point": 2
|
||||
},
|
||||
"30": {
|
||||
@@ -451,7 +451,7 @@
|
||||
"ele": "//CRTrackList[@Name='오디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']",
|
||||
"type": "audio.EndTime",
|
||||
"media": "음악.mp3",
|
||||
"value": 740,
|
||||
"value": 820,
|
||||
"point": 2
|
||||
},
|
||||
"32": {
|
||||
@@ -1,294 +1,4 @@
|
||||
{
|
||||
"2": {
|
||||
"1": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[not(@Length<='5' and @ClipLength='-1')]/@ClipIndex",
|
||||
"type": "mediaOrder",
|
||||
"value": ["동영상.mp4", "이미지2.jpg", "이미지1.jpg", "이미지3.jpg"],
|
||||
"point": 4,
|
||||
"desc": "비디오1 트랙에 있는 클립의 ClipIndex값을 기준으로 CRClipArr에서 Path값을 가져와서 정답 채점, 클립의 ClipIndex값이 -1인 경우와 길이가 5프레임 이하인 경우는 제외한다."
|
||||
},
|
||||
"2": {
|
||||
"ele": "/CROASTERP/CRTrackArr[1]/CRVideoTrackArr[1]/CRTrackList[1]/CRTrackClip[1]/@Speed",
|
||||
"type": "oneAnswer",
|
||||
"value": {
|
||||
"speed": "150"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "100당 1배속 / 130 = 1.3배속"
|
||||
},
|
||||
"3": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']",
|
||||
"type": "startEnd",
|
||||
"media": "동영상.mp4",
|
||||
"value": {
|
||||
"start": "0",
|
||||
"end": "360"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "시작시간과 재생시간 정답값 입력, 3번문항은 '동영상.mp4' 클립의 길이를 확인하는 문항이므로 media는 수정할 필요가 없다."
|
||||
},
|
||||
"4": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "effect",
|
||||
"media": "동영상.mp4",
|
||||
"value": {
|
||||
"ID": "44",
|
||||
"VID100": "10",
|
||||
"VID103": "0.69999999"
|
||||
},
|
||||
"point": 3,
|
||||
"desc": "value값의 키값(VID___)은 이펙트의 속성종류에 따라 변경되므로 채점기준표작성시 확인 필요"
|
||||
},
|
||||
"5": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@Name",
|
||||
"search": "속초로 놀러오세요~",
|
||||
"type": "video.Text",
|
||||
"value": "속초로 놀러오세요~",
|
||||
"point": 3
|
||||
},
|
||||
"6": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID102",
|
||||
"search": "속초로 놀러오세요~",
|
||||
"type": "video.Text",
|
||||
"value": "바탕",
|
||||
"point": 2
|
||||
},
|
||||
"7": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID101",
|
||||
"search": "속초로 놀러오세요~",
|
||||
"type": "video.Text",
|
||||
"value": "115",
|
||||
"point": 2
|
||||
},
|
||||
"8": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4']/@VID100",
|
||||
"search": "속초로 놀러오세요~",
|
||||
"type": "video.Text.Color",
|
||||
"value": "edff09",
|
||||
"point": 2,
|
||||
"desc": "컬러값은 RGB로 입력한다, [대소문자, #]허용 (#FFFFFF, ffffff 두 값 모두 허용)"
|
||||
},
|
||||
"9": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@*[name()='VID600' or name()='VID601']",
|
||||
"search": "속초로 놀러오세요~",
|
||||
"type": "video.Location",
|
||||
"value": ["0.30208331", "0.92592591"],
|
||||
"point": 2,
|
||||
"desc": [
|
||||
"정답 파일의 자막 좌표를 기준으로 프로그램 내부적으로 0.1까지 오차를 허용한다",
|
||||
"CRCUnitArr의 VID600이 X좌표, VID601이 Y좌표"
|
||||
]
|
||||
},
|
||||
"10": {
|
||||
"ele": "",
|
||||
"search": "속초로 놀러오세요~",
|
||||
"type": "video.StartTime",
|
||||
"value": 150,
|
||||
"point": 2,
|
||||
"desc": "내부적으로 자막의 시작시간과 길이를 계산"
|
||||
},
|
||||
"11": {
|
||||
"ele": "",
|
||||
"search": "속초로 놀러오세요~",
|
||||
"type": "video.Length",
|
||||
"value": 150,
|
||||
"point": 2,
|
||||
"desc": "내부적으로 자막의 시작시간과 길이를 계산"
|
||||
},
|
||||
"12": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Mute",
|
||||
"type": "Mute",
|
||||
"media": "동영상.mp4",
|
||||
"value": "1",
|
||||
"point": 2
|
||||
},
|
||||
"13": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
|
||||
"type": "imageLength",
|
||||
"media": "이미지2.jpg",
|
||||
"value": 180,
|
||||
"point": 2
|
||||
},
|
||||
"14": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "imageOverlay",
|
||||
"media": "이미지2.jpg",
|
||||
"value": {
|
||||
"ID": "67",
|
||||
"VID103": "7"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
|
||||
},
|
||||
"15": {
|
||||
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
|
||||
"type": "clipTransition",
|
||||
"media": "이미지2.jpg",
|
||||
"value": {
|
||||
"ID": "0",
|
||||
"Range": "480:540",
|
||||
"Type": "2"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버랩일 경우 Type속성값 16으로 변경"
|
||||
},
|
||||
"16": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
|
||||
"type": "imageLength",
|
||||
"media": "이미지1.jpg",
|
||||
"value": 180,
|
||||
"point": 2
|
||||
},
|
||||
"17": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "imageOverlay",
|
||||
"media": "이미지1.jpg",
|
||||
"value": {
|
||||
"ID": "103",
|
||||
"VID102": "10"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
|
||||
},
|
||||
"18": {
|
||||
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
|
||||
"type": "clipTransition",
|
||||
"media": "이미지1.jpg",
|
||||
"value": {
|
||||
"ID": "21",
|
||||
"Range": "690:720",
|
||||
"Type": "2"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버랩일 경우 Type속성값 16으로 변경"
|
||||
},
|
||||
"19": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
|
||||
"type": "imageLength",
|
||||
"media": "이미지3.jpg",
|
||||
"value": 180,
|
||||
"point": 2
|
||||
},
|
||||
"20": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "imageOverlay",
|
||||
"media": "이미지3.jpg",
|
||||
"value": {
|
||||
"ID": "99",
|
||||
"VID100": "100"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
|
||||
},
|
||||
"21": {
|
||||
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
|
||||
"type": "clipTransition",
|
||||
"media": "이미지3.jpg",
|
||||
"value": {
|
||||
"ID": "19",
|
||||
"Range": "840:900",
|
||||
"Type": "2"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버랩일 경우 Type속성값 16으로 변경"
|
||||
},
|
||||
"22": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@Name",
|
||||
"search": "관광도시 속초 Sokcho, a tourist city",
|
||||
"type": "video.Text",
|
||||
"value": "관광도시 속초 Sokcho, a tourist city",
|
||||
"point": 3
|
||||
},
|
||||
"23": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID102",
|
||||
"search": "관광도시 속초 Sokcho, a tourist city",
|
||||
"type": "video.Text",
|
||||
"value": "궁서체",
|
||||
"point": 2
|
||||
},
|
||||
"24": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID101",
|
||||
"search": "관광도시 속초 Sokcho, a tourist city",
|
||||
"type": "video.Text",
|
||||
"value": "120",
|
||||
"point": 2
|
||||
},
|
||||
"25": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4']/@VID100",
|
||||
"search": "관광도시 속초 Sokcho, a tourist city",
|
||||
"type": "video.Text.Color",
|
||||
"value": "f60724",
|
||||
"point": 2,
|
||||
"desc": "컬러값은 RGB로 입력한다, [대소문자, #]허용 (#FFFFFF, ffffff 두 값 모두 허용)"
|
||||
},
|
||||
"26": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='2']",
|
||||
"search": "관광도시 속초 Sokcho, a tourist city",
|
||||
"type": "video.Text.Outline",
|
||||
"value": {
|
||||
"width": "20",
|
||||
"color": "ffffff"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "두께는 XML에서는 소수점으로 표기되지만, 프로그램 내부적으로 변환하여 사용하므로 현재 파일에서는 정수로 작성"
|
||||
},
|
||||
"27": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr",
|
||||
"search": "관광도시 속초 Sokcho, a tourist city",
|
||||
"type": "opening.Text.FadeInEffect",
|
||||
"value": {
|
||||
"VID505": "1",
|
||||
"VID507": "2"
|
||||
},
|
||||
"point": 3,
|
||||
"desc": "오프닝자막의 나타나기 효과를 확인하는 문항. id속성은 VID505, playtime속성은 VID507으로 XML 내부에 표기되어 있다."
|
||||
},
|
||||
"28": {
|
||||
"ele": "",
|
||||
"search": "관광도시 속초 Sokcho, a tourist city",
|
||||
"type": "opening.StartTime",
|
||||
"value": 0,
|
||||
"point": 2,
|
||||
"desc": "오프닝자막의 시작시간 value 속성만 수정"
|
||||
},
|
||||
"29": {
|
||||
"ele": "",
|
||||
"search": "관광도시 속초 Sokcho, a tourist city",
|
||||
"type": "opening.Length",
|
||||
"value": 120,
|
||||
"point": 2
|
||||
},
|
||||
"30": {
|
||||
"ele": "",
|
||||
"type": "audio.StartTime",
|
||||
"media": "음악.mp3",
|
||||
"value": 0,
|
||||
"point": 2
|
||||
},
|
||||
"31": {
|
||||
"ele": "//CRTrackList[@Name='오디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']",
|
||||
"type": "audio.EndTime",
|
||||
"media": "음악.mp3",
|
||||
"value": 870,
|
||||
"point": 2
|
||||
},
|
||||
"32": {
|
||||
"ele": "//CRTrackList[@Name='오디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "audio.Effect",
|
||||
"media": "음악.mp3",
|
||||
"value": {
|
||||
"ID": "1",
|
||||
"Duration": "90"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "ID속성-페이드인:0 / 페이드아웃: 1"
|
||||
},
|
||||
"33": {
|
||||
"ele": "none",
|
||||
"point": 0,
|
||||
"desc": "파일명 확인"
|
||||
}
|
||||
},
|
||||
"4": {
|
||||
"1": {
|
||||
"type": "canvas.Size",
|
||||
@@ -306,18 +16,18 @@
|
||||
"3": {
|
||||
"type": "layer.exists",
|
||||
"ele": "//Layer/Name/@value",
|
||||
"value": "Sokcho",
|
||||
"value": "Tradition",
|
||||
"point": 5,
|
||||
"desc": "Sokcho 레이어가 있는지 여부 체크"
|
||||
"desc": "Tradition 레이어가 있는지 여부 체크"
|
||||
},
|
||||
"4": {
|
||||
"type": "layer.Effects",
|
||||
"ele": "//Layer[Name[@value='{search}']]/Effects/Item",
|
||||
"search": "Sokcho",
|
||||
"search": "Tradition",
|
||||
"value": {
|
||||
"name": "선명하게",
|
||||
"name": "글로우",
|
||||
"option": {
|
||||
"양": "15"
|
||||
"밝기": "-77"
|
||||
}
|
||||
},
|
||||
"point": 5,
|
||||
@@ -347,7 +57,7 @@
|
||||
"7": {
|
||||
"type": "exists",
|
||||
"ele": "//Layer/Shapes/Shape/shape_type/@value",
|
||||
"value": "RECTANGLE",
|
||||
"value": "ROUNDED_RECTANGLE",
|
||||
"point": 3,
|
||||
"desc": {
|
||||
"사각형": "RECTANGLE",
|
||||
@@ -359,8 +69,8 @@
|
||||
"type": "shape.size",
|
||||
"ele": "//Layer//op_points",
|
||||
"value": {
|
||||
"width": 80,
|
||||
"height": 350
|
||||
"width": 110,
|
||||
"height": 85
|
||||
},
|
||||
"point": 3,
|
||||
"desc": "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
|
||||
@@ -368,7 +78,7 @@
|
||||
"9": {
|
||||
"type": "shape.color",
|
||||
"ele": "//Layer//Shape[contains(draw_type/@value, 'Interior')]/secondary_color/@value",
|
||||
"value": "4D5CED",
|
||||
"value": "F97C7C",
|
||||
"point": 6,
|
||||
"desc": ""
|
||||
},
|
||||
@@ -377,7 +87,7 @@
|
||||
"ele": "//Layer",
|
||||
"value": {
|
||||
"BlendOp": "중첩",
|
||||
"Opacity": "65"
|
||||
"Opacity": "75"
|
||||
},
|
||||
"point": 6
|
||||
},
|
||||
@@ -424,9 +134,9 @@
|
||||
"5": {
|
||||
"type": "exists",
|
||||
"ele": "//Layer//shape_type/@value",
|
||||
"value": "ROUNDED_RECTANGLE",
|
||||
"value": "RECTANGLE",
|
||||
"point": 3,
|
||||
"desc":{
|
||||
"desc": {
|
||||
"사각형": "RECTANGLE",
|
||||
"모서리가 둥근 사각형": "ROUNDED_RECTANGLE",
|
||||
"원형/타원형": "ELLIPSE"
|
||||
@@ -436,8 +146,8 @@
|
||||
"type": "shape.size",
|
||||
"ele": "//Layer//op_points",
|
||||
"value": {
|
||||
"width": 480,
|
||||
"height": 70
|
||||
"width": 320,
|
||||
"height": 50
|
||||
},
|
||||
"point": 3,
|
||||
"desc": "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
|
||||
@@ -448,21 +158,21 @@
|
||||
"startColor": "gradient_start_color/@value",
|
||||
"endColor": "gradient_end_color/@value",
|
||||
"value": {
|
||||
"startColor": "3848DC",
|
||||
"endColor": "2AE3BA"
|
||||
"startColor": "C9C1FF",
|
||||
"endColor": "2743FC"
|
||||
},
|
||||
"point": 6
|
||||
},
|
||||
"8": {
|
||||
"type": "text.exists",
|
||||
"ele": "//Layer//Shape[shape_type/@value='TEXT']/lines/Item/@value",
|
||||
"value": "관광의 도시 속초로 오세요",
|
||||
"value": "전통한옥의 아름다움",
|
||||
"point": 5
|
||||
},
|
||||
"9": {
|
||||
"type": "exists",
|
||||
"ele": "//Layer//Shape[shape_type/@value='TEXT']/font/Name/@value",
|
||||
"value": "맑은 고딕",
|
||||
"value": "나눔고딕",
|
||||
"point": 3
|
||||
},
|
||||
"10": {
|
||||
@@ -475,25 +185,25 @@
|
||||
"11": {
|
||||
"type": "exists",
|
||||
"ele": "//Layer//Shape[shape_type/@value='TEXT']/font/Size/@value",
|
||||
"value": "25",
|
||||
"value": "20",
|
||||
"point": 3
|
||||
},
|
||||
"12": {
|
||||
"type": "text.color",
|
||||
"ele": "//Layer//Shape[shape_type/@value='TEXT'][contains(draw_type/@value, 'Interior')]/secondary_color/@value",
|
||||
"value": "0E0B54",
|
||||
"value": "5A0808",
|
||||
"point": 3
|
||||
},
|
||||
"13": {
|
||||
"type": "exists",
|
||||
"ele": "//Layer//Shape[shape_type/@value='TEXT']/outline_peninfo/Width/@value",
|
||||
"value": "3",
|
||||
"value": "4",
|
||||
"point": 3
|
||||
},
|
||||
"14": {
|
||||
"type": "text.color",
|
||||
"ele": "//Layer//Shape[shape_type/@value='TEXT'][contains(draw_type/@value, 'Outline')]/primary_color/@value",
|
||||
"value": "FFFFFF",
|
||||
"value": "D4E2F0",
|
||||
"point": 3
|
||||
},
|
||||
"15": {
|
||||
@@ -506,7 +216,7 @@
|
||||
"16": {
|
||||
"type": "exists",
|
||||
"ele": "//Layer/Shapes/Shape/shape_type/@value",
|
||||
"value": "RECTANGLE",
|
||||
"value": "ELLIPSE",
|
||||
"point": 3,
|
||||
"desc": {
|
||||
"사각형": "RECTANGLE",
|
||||
@@ -518,10 +228,10 @@
|
||||
"17": {
|
||||
"type": "clipping.size",
|
||||
"ele": "//Layer//Shape[shape_type/@value='{option}']//op_points",
|
||||
"option": "RECTANGLE",
|
||||
"option": "ELLIPSE",
|
||||
"value": {
|
||||
"width": 180,
|
||||
"height": 180
|
||||
"width": 160,
|
||||
"height": 125
|
||||
},
|
||||
"point": 3,
|
||||
"desc": "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
|
||||
@@ -529,28 +239,29 @@
|
||||
"18": {
|
||||
"type": "exists",
|
||||
"ele": "//Layer//Shape[shape_type/@value='{option}']/outline_peninfo/Width/@value",
|
||||
"option": "RECTANGLE",
|
||||
"option": "ELLIPSE",
|
||||
"value": "5",
|
||||
"point": 3
|
||||
},
|
||||
"19": {
|
||||
"type": "clipping.color",
|
||||
"ele": "//Layer//Shape[shape_type/@value='{option}' and contains(draw_type/@value, 'Outline')]/primary_color/@value",
|
||||
"option": "RECTANGLE",
|
||||
"value": "D624B0",
|
||||
"ele2": "//Layer//Shape[shape_type/@value='{option}' and contains(draw_type/@value,'Outline')]/primary_color/@value|//Layer//Shape[shape_type/@value='{option}'and contains draw_type/@value,'Outline')]/secondary_color/@value",
|
||||
"option": "ELLIPSE",
|
||||
"value": "0AB8B8",
|
||||
"point": 3,
|
||||
"desc": "채우기:secondary_color, 외곽선:primary_color"
|
||||
},
|
||||
"20": {
|
||||
"type": "shadow",
|
||||
"ele": "//Layer//Shape[shape_type/@value='{option}']",
|
||||
"option": "RECTANGLE",
|
||||
"option": "ELLIPSE",
|
||||
"value": {
|
||||
"shadow": true,
|
||||
"width": "10",
|
||||
"distance": "15",
|
||||
"blur": "10",
|
||||
"angle": "330"
|
||||
"width": "3",
|
||||
"distance": "5",
|
||||
"blur": "6",
|
||||
"angle": "210"
|
||||
},
|
||||
"point": 5,
|
||||
"desc": "그림자 속성이 있는 경우 그림자 속성의 너비, 거리, 흐림 정도, 각도를 비교하여 정답 채점"
|
||||
@@ -567,5 +278,295 @@
|
||||
"point": 0,
|
||||
"desc": "파일명 확인"
|
||||
}
|
||||
},
|
||||
"2": {
|
||||
"1": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[not(@Length<='5' and @ClipLength='-1')]/@ClipIndex",
|
||||
"type": "mediaOrder",
|
||||
"value": ["동영상.mp4", "이미지2.jpg", "이미지3.jpg", "이미지1.jpg"],
|
||||
"point": 4,
|
||||
"desc": "비디오1 트랙에 있는 클립의 ClipIndex값을 기준으로 CRClipArr에서 Path값을 가져와서 정답 채점, 클립의 ClipIndex값이 -1인 경우와 길이가 5프레임 이하인 경우는 제외한다."
|
||||
},
|
||||
"2": {
|
||||
"ele": "/CROASTERP/CRTrackArr[1]/CRVideoTrackArr[1]/CRTrackList[1]/CRTrackClip[1]/@Speed",
|
||||
"type": "oneAnswer",
|
||||
"value": {
|
||||
"speed": "120"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "100당 1배속 / 130 = 1.3배속"
|
||||
},
|
||||
"3": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']",
|
||||
"type": "startEnd",
|
||||
"media": "동영상.mp4",
|
||||
"value": {
|
||||
"start": "0",
|
||||
"end": "380"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "시작시간과 재생시간 정답값 입력, 3번문항은 '동영상.mp4' 클립의 길이를 확인하는 문항이므로 media는 수정할 필요가 없다."
|
||||
},
|
||||
"4": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "effect",
|
||||
"media": "동영상.mp4",
|
||||
"value": {
|
||||
"ID": "70",
|
||||
"VID100": "30",
|
||||
"VID101": "20"
|
||||
},
|
||||
"point": 3,
|
||||
"desc": "value값의 키값(VID___)은 이펙트의 속성종류에 따라 변경되므로 채점기준표작성시 확인 필요"
|
||||
},
|
||||
"5": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@Name",
|
||||
"search": "청량하고 시원한 폭포",
|
||||
"type": "video.Text",
|
||||
"value": "청량하고 시원한 폭포",
|
||||
"point": 3
|
||||
},
|
||||
"6": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID102",
|
||||
"search": "청량하고 시원한 폭포",
|
||||
"type": "video.Text",
|
||||
"value": "돋움체",
|
||||
"point": 2
|
||||
},
|
||||
"7": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID101",
|
||||
"search": "청량하고 시원한 폭포",
|
||||
"type": "video.Text",
|
||||
"value": "120",
|
||||
"point": 2
|
||||
},
|
||||
"8": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4']/@VID100",
|
||||
"search": "청량하고 시원한 폭포",
|
||||
"type": "video.Text.Color",
|
||||
"value": "1db0f1",
|
||||
"point": 2,
|
||||
"desc": "컬러값은 RGB로 입력한다, [대소문자, #]허용 (#FFFFFF, ffffff 두 값 모두 허용)"
|
||||
},
|
||||
"9": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@*[name()='VID600' or name()='VID601']",
|
||||
"search": "청량하고 시원한 폭포",
|
||||
"type": "video.Location",
|
||||
"value": ["0.27395833", "0.9222222"],
|
||||
"point": 2,
|
||||
"desc": [
|
||||
"정답 파일의 자막 좌표를 기준으로 프로그램 내부적으로 0.1까지 오차를 허용한다",
|
||||
"CRCUnitArr의 VID600이 X좌표, VID601이 Y좌표"
|
||||
]
|
||||
},
|
||||
"10": {
|
||||
"ele": "",
|
||||
"search": "청량하고 시원한 폭포",
|
||||
"type": "video.StartTime",
|
||||
"value": 170,
|
||||
"point": 2,
|
||||
"desc": "내부적으로 자막의 시작시간과 길이를 계산"
|
||||
},
|
||||
"11": {
|
||||
"ele": "",
|
||||
"search": "청량하고 시원한 폭포",
|
||||
"type": "video.Length",
|
||||
"value": 150,
|
||||
"point": 2,
|
||||
"desc": "내부적으로 자막의 시작시간과 길이를 계산"
|
||||
},
|
||||
"12": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Mute",
|
||||
"type": "Mute",
|
||||
"media": "동영상.mp4",
|
||||
"value": "1",
|
||||
"point": 2
|
||||
},
|
||||
"13": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
|
||||
"type": "imageLength",
|
||||
"media": "이미지2.jpg",
|
||||
"value": 150,
|
||||
"point": 2
|
||||
},
|
||||
"14": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "imageOverlay",
|
||||
"media": "이미지2.jpg",
|
||||
"value": {
|
||||
"ID": "103",
|
||||
"VID102": "7"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
|
||||
},
|
||||
"15": {
|
||||
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
|
||||
"type": "clipTransition",
|
||||
"media": "이미지2.jpg",
|
||||
"value": {
|
||||
"ID": "11",
|
||||
"Range": "500:530",
|
||||
"Type": "2"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버랩일 경우 Type속성값 16으로 변경"
|
||||
},
|
||||
"16": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
|
||||
"type": "imageLength",
|
||||
"media": "이미지3.jpg",
|
||||
"value": 150,
|
||||
"point": 2
|
||||
},
|
||||
"17": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "imageOverlay",
|
||||
"media": "이미지3.jpg",
|
||||
"value": {
|
||||
"ID": "184",
|
||||
"VID102": "30"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
|
||||
},
|
||||
"18": {
|
||||
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
|
||||
"type": "clipTransition",
|
||||
"media": "이미지3.jpg",
|
||||
"value": {
|
||||
"ID": "19",
|
||||
"Range": "650:680",
|
||||
"Type": "2"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버랩일 경우 Type속성값 16으로 변경"
|
||||
},
|
||||
"19": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
|
||||
"type": "imageLength",
|
||||
"media": "이미지1.jpg",
|
||||
"value": 180,
|
||||
"point": 2
|
||||
},
|
||||
"20": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "imageOverlay",
|
||||
"media": "이미지1.jpg",
|
||||
"value": {
|
||||
"ID": "67",
|
||||
"VID102": "30"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
|
||||
},
|
||||
"21": {
|
||||
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
|
||||
"type": "clipTransition",
|
||||
"media": "이미지1.jpg",
|
||||
"value": {
|
||||
"ID": "10",
|
||||
"Range": "800:860",
|
||||
"Type": "2"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버랩일 경우 Type속성값 16으로 변경"
|
||||
},
|
||||
"22": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@Name",
|
||||
"search": "전통 공원 (Traditional Park)",
|
||||
"type": "video.Text",
|
||||
"value": "전통 공원 (Traditional Park)",
|
||||
"point": 3
|
||||
},
|
||||
"23": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID102",
|
||||
"search": "전통 공원 (Traditional Park)",
|
||||
"type": "video.Text",
|
||||
"value": "궁서체",
|
||||
"point": 2
|
||||
},
|
||||
"24": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID101",
|
||||
"search": "전통 공원 (Traditional Park)",
|
||||
"type": "video.Text",
|
||||
"value": "140",
|
||||
"point": 2
|
||||
},
|
||||
"25": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4']/@VID100",
|
||||
"search": "전통 공원 (Traditional Park)",
|
||||
"type": "video.Text.Color",
|
||||
"value": "fd5721",
|
||||
"point": 2,
|
||||
"desc": "컬러값은 RGB로 입력한다, [대소문자, #]허용 (#FFFFFF, ffffff 두 값 모두 허용)"
|
||||
},
|
||||
"26": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='2']",
|
||||
"search": "전통 공원 (Traditional Park)",
|
||||
"type": "video.Text.Outline",
|
||||
"value": {
|
||||
"width": "35",
|
||||
"color": "fff9c4"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "두께는 XML에서는 소수점으로 표기되지만, 프로그램 내부적으로 변환하여 사용하므로 현재 파일에서는 정수로 작성"
|
||||
},
|
||||
"27": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr",
|
||||
"search": "전통 공원 (Traditional Park)",
|
||||
"type": "opening.Text.FadeInEffect",
|
||||
"value": {
|
||||
"VID505": "4",
|
||||
"VID507": "2"
|
||||
},
|
||||
"point": 3,
|
||||
"desc": "오프닝자막의 나타나기 효과를 확인하는 문항. id속성은 VID505, playtime속성은 VID507으로 XML 내부에 표기되어 있다."
|
||||
},
|
||||
"28": {
|
||||
"ele": "",
|
||||
"search": "전통 공원 (Traditional Park)",
|
||||
"type": "opening.StartTime",
|
||||
"value": 0,
|
||||
"point": 2,
|
||||
"desc": "오프닝자막의 시작시간 value 속성만 수정"
|
||||
},
|
||||
"29": {
|
||||
"ele": "",
|
||||
"search": "전통 공원 (Traditional Park)",
|
||||
"type": "opening.Length",
|
||||
"value": 120,
|
||||
"point": 2
|
||||
},
|
||||
"30": {
|
||||
"ele": "",
|
||||
"type": "audio.StartTime",
|
||||
"media": "음악.mp3",
|
||||
"value": 0,
|
||||
"point": 2
|
||||
},
|
||||
"31": {
|
||||
"ele": "//CRTrackList[@Name='오디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']",
|
||||
"type": "audio.EndTime",
|
||||
"media": "음악.mp3",
|
||||
"value": 810,
|
||||
"point": 2
|
||||
},
|
||||
"32": {
|
||||
"ele": "//CRTrackList[@Name='오디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "audio.Effect",
|
||||
"media": "음악.mp3",
|
||||
"value": {
|
||||
"ID": "1",
|
||||
"Duration": "90"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "ID속성-페이드인:0 / 페이드아웃: 1"
|
||||
},
|
||||
"33": {
|
||||
"ele": "none",
|
||||
"point": 0,
|
||||
"desc": "파일명 확인"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,476 +1,4 @@
|
||||
{
|
||||
"0": {
|
||||
"1": {
|
||||
"ele": "none",
|
||||
"point": 0
|
||||
},
|
||||
"2": {
|
||||
"ele": "none",
|
||||
"point": 0
|
||||
},
|
||||
"3": {
|
||||
"ele": "none",
|
||||
"point": 0
|
||||
},
|
||||
"4": {
|
||||
"ele": "none",
|
||||
"point": 0
|
||||
},
|
||||
"5": {
|
||||
"ele": "none",
|
||||
"point": 0
|
||||
},
|
||||
"6": {
|
||||
"ele": "none",
|
||||
"point": 0
|
||||
},
|
||||
"7": {
|
||||
"ele": "none",
|
||||
"point": 0
|
||||
},
|
||||
"8": {
|
||||
"ele": "$[?(@.width == 65 && @.height == 45)]",
|
||||
"type": "size",
|
||||
"value": {
|
||||
"width": 65,
|
||||
"height": 45
|
||||
},
|
||||
"point": 4
|
||||
},
|
||||
"9": {
|
||||
"ele": "none",
|
||||
"point": 0,
|
||||
"desc": "파일명 확인"
|
||||
}
|
||||
},
|
||||
"1": {
|
||||
"1": {
|
||||
"ele": "none",
|
||||
"point": 0
|
||||
},
|
||||
"2": {
|
||||
"ele": "none",
|
||||
"point": 0
|
||||
},
|
||||
"3": {
|
||||
"ele": "none",
|
||||
"point": 0
|
||||
},
|
||||
"4": {
|
||||
"ele": "$.children[?(@.name=='놀이터')].name",
|
||||
"value": "놀이터",
|
||||
"point": 4
|
||||
},
|
||||
"5": {
|
||||
"ele": "none",
|
||||
"point": 0
|
||||
},
|
||||
"6": {
|
||||
"ele": "$.children[?(@.name=='Wooden Playground')].name",
|
||||
"value": "Wooden Playground",
|
||||
"point": 4
|
||||
},
|
||||
"7": {
|
||||
"ele": "$.children[?(@.name=='Wooden Playground')].text.font.names[0]",
|
||||
"type": "font",
|
||||
"value": "Arial",
|
||||
"point": 2
|
||||
},
|
||||
"8": {
|
||||
"ele": "$.children[?(@.name=='Wooden Playground')].text.font.names[0]",
|
||||
"value": "Arial-BoldItalicMT",
|
||||
"point": 2
|
||||
},
|
||||
"9": {
|
||||
"ele": "$.children[?(@.name=='Wooden Playground')].text.font.sizes[0]",
|
||||
"value": 48,
|
||||
"point": 2
|
||||
},
|
||||
"10": {
|
||||
"ele": "$.children[?(@.name=='Wooden Playground')].text.font.colors[0]",
|
||||
"type": "color",
|
||||
"value": "801717",
|
||||
"point": 2
|
||||
},
|
||||
"11": {
|
||||
"ele": "none",
|
||||
"point": 0
|
||||
},
|
||||
"12": {
|
||||
"ele": "none",
|
||||
"point": 0
|
||||
},
|
||||
"13": {
|
||||
"ele": "none",
|
||||
"point": 0
|
||||
},
|
||||
"14": {
|
||||
"ele": "$.children[?(@.name=='나무 놀이터')].name",
|
||||
"value": "나무 놀이터",
|
||||
"point": 4
|
||||
},
|
||||
"15": {
|
||||
"ele": "$.children[?(@.name=='나무 놀이터')].text.font.names[0]",
|
||||
"type": "font",
|
||||
"value": "GungsuhChe",
|
||||
"point": 2,
|
||||
"desc": {
|
||||
"돋움체": "DotumChe",
|
||||
"궁서체": "GungsuhChe",
|
||||
"굴림체": "GulimChe",
|
||||
"바탕체": "BatangChe",
|
||||
"휴먼옛체": "YetR"
|
||||
}
|
||||
},
|
||||
"16": {
|
||||
"ele": "$.children[?(@.name=='나무 놀이터')].text.font.sizes[0]",
|
||||
"value": 36,
|
||||
"point": 2
|
||||
},
|
||||
"17": {
|
||||
"ele": "$.children[?(@.name=='나무 놀이터')].text.font.colors[0]",
|
||||
"type": "color",
|
||||
"value": "0e4510",
|
||||
"point": 2
|
||||
},
|
||||
"18": {
|
||||
"ele": "none",
|
||||
"point": 0
|
||||
},
|
||||
"19": {
|
||||
"ele": "none",
|
||||
"point": 0
|
||||
},
|
||||
"20": {
|
||||
"ele": "none",
|
||||
"point": 0
|
||||
},
|
||||
"21": {
|
||||
"ele": "none",
|
||||
"point": 0
|
||||
},
|
||||
"22": {
|
||||
"ele": "$.children[?(@.name=='은행잎')].name",
|
||||
"value": "은행잎",
|
||||
"point": 4
|
||||
},
|
||||
"23": {
|
||||
"ele": "none",
|
||||
"point": 0
|
||||
},
|
||||
"24": {
|
||||
"ele": "none",
|
||||
"point": 0
|
||||
},
|
||||
"25": {
|
||||
"ele": "none",
|
||||
"point": 0
|
||||
},
|
||||
"26": {
|
||||
"ele": "$[?(@.width == 65 && @.height == 35)]",
|
||||
"type": "size",
|
||||
"value": {
|
||||
"width": 65,
|
||||
"height": 35
|
||||
},
|
||||
"point": 5
|
||||
},
|
||||
"27": {
|
||||
"ele": "none",
|
||||
"point": 0,
|
||||
"desc": "파일명 확인"
|
||||
}
|
||||
},
|
||||
"2": {
|
||||
"1": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[not(@Length<='5' and @ClipLength='-1')]/@ClipIndex",
|
||||
"type": "mediaOrder",
|
||||
"value": ["동영상.mp4", "이미지1.jpg", "이미지3.jpg", "이미지2.jpg"],
|
||||
"point": 4,
|
||||
"desc": "비디오1 트랙에 있는 클립의 ClipIndex값을 기준으로 CRClipArr에서 Path값을 가져와서 정답 채점, 클립의 ClipIndex값이 -1인 경우와 길이가 5프레임 이하인 경우는 제외한다."
|
||||
},
|
||||
"2": {
|
||||
"ele": "/CROASTERP/CRTrackArr[1]/CRVideoTrackArr[1]/CRTrackList[1]/CRTrackClip[1]/@Speed",
|
||||
"type": "oneAnswer",
|
||||
"value": {
|
||||
"speed": "150"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "100당 1배속 / 130 = 1.3배속"
|
||||
},
|
||||
"3": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']",
|
||||
"type": "startEnd",
|
||||
"media": "동영상.mp4",
|
||||
"value": {
|
||||
"start": "0",
|
||||
"end": "380"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "시작시간과 재생시간 정답값 입력, 3번문항은 '동영상.mp4' 클립의 길이를 확인하는 문항이므로 media는 수정할 필요가 없다."
|
||||
},
|
||||
"4": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "effect",
|
||||
"media": "동영상.mp4",
|
||||
"value": {
|
||||
"ID": "52",
|
||||
"VID100": "30",
|
||||
"VID103": "0.80000001"
|
||||
},
|
||||
"point": 3,
|
||||
"desc": "value값의 키값(VID___)은 이펙트의 속성종류에 따라 변경되므로 채점기준표작성시 확인 필요"
|
||||
},
|
||||
"5": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@Name",
|
||||
"search": "자연 놀이터",
|
||||
"type": "video.Text",
|
||||
"value": "자연 놀이터",
|
||||
"point": 3
|
||||
},
|
||||
"6": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID102",
|
||||
"search": "자연 놀이터",
|
||||
"type": "video.Text",
|
||||
"value": "굴림체",
|
||||
"point": 2
|
||||
},
|
||||
"7": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID101",
|
||||
"search": "자연 놀이터",
|
||||
"type": "video.Text",
|
||||
"value": "100",
|
||||
"point": 2
|
||||
},
|
||||
"8": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4']/@VID100",
|
||||
"search": "자연 놀이터",
|
||||
"type": "video.Text.Color",
|
||||
"value": "8dff00",
|
||||
"point": 2,
|
||||
"desc": "컬러값은 RGB로 입력한다, [대소문자, #]허용 (#FFFFFF, ffffff 두 값 모두 허용)"
|
||||
},
|
||||
"9": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@*[name()='VID600' or name()='VID601']",
|
||||
"search": "자연 놀이터",
|
||||
"type": "video.Location",
|
||||
"value": ["0.39375001", "0.93333334"],
|
||||
"point": 2,
|
||||
"desc": [
|
||||
"정답 파일의 자막 좌표를 기준으로 프로그램 내부적으로 0.1까지 오차를 허용한다",
|
||||
"CRCUnitArr의 VID600이 X좌표, VID601이 Y좌표"
|
||||
]
|
||||
},
|
||||
"10": {
|
||||
"ele": "",
|
||||
"search": "자연 놀이터",
|
||||
"type": "video.StartTime",
|
||||
"value": 170,
|
||||
"point": 2,
|
||||
"desc": "내부적으로 자막의 시작시간과 길이를 계산"
|
||||
},
|
||||
"11": {
|
||||
"ele": "",
|
||||
"search": "자연 놀이터",
|
||||
"type": "video.Length",
|
||||
"value": 120,
|
||||
"point": 2,
|
||||
"desc": "내부적으로 자막의 시작시간과 길이를 계산"
|
||||
},
|
||||
"12": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Mute",
|
||||
"type": "Mute",
|
||||
"media": "동영상.mp4",
|
||||
"value": "1",
|
||||
"point": 2
|
||||
},
|
||||
"13": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
|
||||
"type": "imageLength",
|
||||
"media": "이미지1.jpg",
|
||||
"value": 150,
|
||||
"point": 2
|
||||
},
|
||||
"14": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "imageOverlay",
|
||||
"media": "이미지1.jpg",
|
||||
"value": {
|
||||
"ID": "125",
|
||||
"VID100": "40"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
|
||||
},
|
||||
"15": {
|
||||
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
|
||||
"type": "clipTransition",
|
||||
"media": "이미지1.jpg",
|
||||
"value": {
|
||||
"ID": "55",
|
||||
"Range": "470:530",
|
||||
"Type": "2"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버랩일 경우 Type속성값 16으로 변경"
|
||||
},
|
||||
"16": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
|
||||
"type": "imageLength",
|
||||
"media": "이미지3.jpg",
|
||||
"value": 180,
|
||||
"point": 2
|
||||
},
|
||||
"17": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "imageOverlay",
|
||||
"media": "이미지3.jpg",
|
||||
"value": {
|
||||
"ID": "128",
|
||||
"VID100": "10"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
|
||||
},
|
||||
"18": {
|
||||
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
|
||||
"type": "clipTransition",
|
||||
"media": "이미지3.jpg",
|
||||
"value": {
|
||||
"ID": "93",
|
||||
"Range": "680:740",
|
||||
"Type": "16"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버랩일 경우 Type속성값 16으로 변경"
|
||||
},
|
||||
"19": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
|
||||
"type": "imageLength",
|
||||
"media": "이미지2.jpg",
|
||||
"value": 180,
|
||||
"point": 2
|
||||
},
|
||||
"20": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "imageOverlay",
|
||||
"media": "이미지2.jpg",
|
||||
"value": {
|
||||
"ID": "104",
|
||||
"VID102": "8"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
|
||||
},
|
||||
"21": {
|
||||
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
|
||||
"type": "clipTransition",
|
||||
"media": "이미지2.jpg",
|
||||
"value": {
|
||||
"ID": "25",
|
||||
"Range": "860:890",
|
||||
"Type": "2"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버랩일 경우 Type속성값 16으로 변경"
|
||||
},
|
||||
"22": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@Name",
|
||||
"search": "자연 속 놀이터 Nature playground",
|
||||
"type": "video.Text",
|
||||
"value": "자연 속 놀이터 Nature playground",
|
||||
"point": 3
|
||||
},
|
||||
"23": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID102",
|
||||
"search": "자연 속 놀이터 Nature playground",
|
||||
"type": "video.Text",
|
||||
"value": "바탕체",
|
||||
"point": 2
|
||||
},
|
||||
"24": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID101",
|
||||
"search": "자연 속 놀이터 Nature playground",
|
||||
"type": "video.Text",
|
||||
"value": "150",
|
||||
"point": 2
|
||||
},
|
||||
"25": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4']/@VID100",
|
||||
"search": "자연 속 놀이터 Nature playground",
|
||||
"type": "video.Text.Color",
|
||||
"value": "aff32a",
|
||||
"point": 2,
|
||||
"desc": "컬러값은 RGB로 입력한다, [대소문자, #]허용 (#FFFFFF, ffffff 두 값 모두 허용)"
|
||||
},
|
||||
"26": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='2']",
|
||||
"search": "자연 속 놀이터 Nature playground",
|
||||
"type": "video.Text.Outline",
|
||||
"value": {
|
||||
"width": "20",
|
||||
"color": "9e0a71"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "두께는 XML에서는 소수점으로 표기되지만, 프로그램 내부적으로 변환하여 사용하므로 현재 파일에서는 정수로 작성"
|
||||
},
|
||||
"27": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr",
|
||||
"search": "자연 속 놀이터 Nature playground",
|
||||
"type": "opening.Text.FadeInEffect",
|
||||
"value": {
|
||||
"VID505": "5",
|
||||
"VID507": "3"
|
||||
},
|
||||
"point": 3,
|
||||
"desc": "오프닝자막의 나타나기 효과를 확인하는 문항. id속성은 VID505, playtime속성은 VID507으로 XML 내부에 표기되어 있다."
|
||||
},
|
||||
"28": {
|
||||
"ele": "",
|
||||
"search": "자연 속 놀이터 Nature playground",
|
||||
"type": "opening.StartTime",
|
||||
"value": 0,
|
||||
"point": 2,
|
||||
"desc": "오프닝자막의 시작시간 value 속성만 수정"
|
||||
},
|
||||
"29": {
|
||||
"ele": "",
|
||||
"search": "자연 속 놀이터 Nature playground",
|
||||
"type": "opening.Length",
|
||||
"value": 120,
|
||||
"point": 2
|
||||
},
|
||||
"30": {
|
||||
"ele": "",
|
||||
"type": "audio.StartTime",
|
||||
"media": "음악.mp3",
|
||||
"value": 0,
|
||||
"point": 2
|
||||
},
|
||||
"31": {
|
||||
"ele": "//CRTrackList[@Name='오디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']",
|
||||
"type": "audio.EndTime",
|
||||
"media": "음악.mp3",
|
||||
"value": 750,
|
||||
"point": 2
|
||||
},
|
||||
"32": {
|
||||
"ele": "//CRTrackList[@Name='오디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "audio.Effect",
|
||||
"media": "음악.mp3",
|
||||
"value": {
|
||||
"ID": "1",
|
||||
"Duration": "90"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "ID속성-페이드인:0 / 페이드아웃: 1"
|
||||
},
|
||||
"33": {
|
||||
"ele": "none",
|
||||
"point": 0,
|
||||
"desc": "파일명 확인"
|
||||
}
|
||||
},
|
||||
"4": {
|
||||
"1": {
|
||||
"type": "canvas.Size",
|
||||
@@ -488,18 +16,18 @@
|
||||
"3": {
|
||||
"type": "layer.exists",
|
||||
"ele": "//Layer/Name/@value",
|
||||
"value": "Flower",
|
||||
"value": "Turtle Village",
|
||||
"point": 5,
|
||||
"desc": "Flower 레이어가 있는지 여부 체크"
|
||||
"desc": "Turtle Village 레이어가 있는지 여부 체크"
|
||||
},
|
||||
"4": {
|
||||
"type": "layer.Effects",
|
||||
"ele": "//Layer[Name[@value='{search}']]/Effects/Item",
|
||||
"search": "Flower",
|
||||
"search": "Turtle Village",
|
||||
"value": {
|
||||
"name": "생동감",
|
||||
"name": "글로우",
|
||||
"option": {
|
||||
"생동감": "40"
|
||||
"밝기": "-80"
|
||||
}
|
||||
},
|
||||
"point": 5,
|
||||
@@ -522,23 +50,27 @@
|
||||
"6": {
|
||||
"type": "exists",
|
||||
"ele": "//Layer/Effects/Item/Name/@value",
|
||||
"value": "세피아",
|
||||
"value": "색조/채도",
|
||||
"point": 6,
|
||||
"desc": "세피아 효과가 있는지 여부 체크"
|
||||
"desc": "색조/채도 효과가 있는지 여부 체크"
|
||||
},
|
||||
"7": {
|
||||
"type": "exists",
|
||||
"ele": "//Layer/Shapes/Shape/shape_type/@value",
|
||||
"value": "ELLIPSE",
|
||||
"value": "RECTANGLE",
|
||||
"point": 3,
|
||||
"desc": "레이어 쉐이프 타입이 타원인지 체크"
|
||||
"desc": {
|
||||
"사각형": "RECTANGLE",
|
||||
"모서리가 둥근 사각형": "ROUNDED_RECTANGLE",
|
||||
"원형/타원형": "ELLIPSE"
|
||||
}
|
||||
},
|
||||
"8": {
|
||||
"type": "shape.size",
|
||||
"ele": "//Layer//op_points",
|
||||
"value": {
|
||||
"width": 120,
|
||||
"height": 120
|
||||
"width": 650,
|
||||
"height": 30
|
||||
},
|
||||
"point": 3,
|
||||
"desc": "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
|
||||
@@ -546,7 +78,7 @@
|
||||
"9": {
|
||||
"type": "shape.color",
|
||||
"ele": "//Layer//Shape[contains(draw_type/@value, 'Interior')]/secondary_color/@value",
|
||||
"value": "7097BB",
|
||||
"value": "BD28CF",
|
||||
"point": 6,
|
||||
"desc": ""
|
||||
},
|
||||
@@ -554,8 +86,8 @@
|
||||
"type": "layer.blend.opacity",
|
||||
"ele": "//Layer",
|
||||
"value": {
|
||||
"BlendOp": "반사",
|
||||
"Opacity": "80"
|
||||
"BlendOp": "중첩",
|
||||
"Opacity": "75"
|
||||
},
|
||||
"point": 6
|
||||
},
|
||||
@@ -603,14 +135,19 @@
|
||||
"type": "exists",
|
||||
"ele": "//Layer//shape_type/@value",
|
||||
"value": "ROUNDED_RECTANGLE",
|
||||
"point": 3
|
||||
"point": 3,
|
||||
"desc": {
|
||||
"사각형": "RECTANGLE",
|
||||
"모서리가 둥근 사각형": "ROUNDED_RECTANGLE",
|
||||
"원형/타원형": "ELLIPSE"
|
||||
}
|
||||
},
|
||||
"6": {
|
||||
"type": "shape.size",
|
||||
"ele": "//Layer//op_points",
|
||||
"value": {
|
||||
"width": 400,
|
||||
"height": 60
|
||||
"width": 350,
|
||||
"height": 70
|
||||
},
|
||||
"point": 3,
|
||||
"desc": "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
|
||||
@@ -621,56 +158,56 @@
|
||||
"startColor": "gradient_start_color/@value",
|
||||
"endColor": "gradient_end_color/@value",
|
||||
"value": {
|
||||
"startColor": "ffe000",
|
||||
"endColor": "34A159"
|
||||
"startColor": "FFCB6F",
|
||||
"endColor": "FDA3A3"
|
||||
},
|
||||
"point": 6
|
||||
},
|
||||
"8": {
|
||||
"type": "text.exists",
|
||||
"ele": "//Layer//Shape[shape_type/@value='TEXT']/lines/Item/@value",
|
||||
"value": "흰 꽃 사이 노란 꽃",
|
||||
"value": "거북이 마을 여행",
|
||||
"point": 5
|
||||
},
|
||||
"9": {
|
||||
"type": "exists",
|
||||
"ele": "//Layer//Shape[shape_type/@value='TEXT']/font/Name/@value",
|
||||
"value": "맑은 고딕",
|
||||
"value": "함초롬돋움",
|
||||
"point": 3
|
||||
},
|
||||
"10": {
|
||||
"type": "exists",
|
||||
"ele": "//Layer//Shape[shape_type/@value='TEXT']/font/{style}/@value",
|
||||
"style": "Italic",
|
||||
"style": "Bold",
|
||||
"value": "True",
|
||||
"point": 3
|
||||
},
|
||||
"11": {
|
||||
"type": "exists",
|
||||
"ele": "//Layer//Shape[shape_type/@value='TEXT']/font/Size/@value",
|
||||
"value": "30",
|
||||
"value": "24",
|
||||
"point": 3
|
||||
},
|
||||
"12": {
|
||||
"type": "text.color",
|
||||
"ele": "//Layer//Shape[shape_type/@value='TEXT'][contains(draw_type/@value, 'Interior')]/secondary_color/@value",
|
||||
"value": "b46Ef8",
|
||||
"value": "75D137",
|
||||
"point": 3
|
||||
},
|
||||
"13": {
|
||||
"type": "exists",
|
||||
"ele": "//Layer//Shape[shape_type/@value='TEXT']/outline_peninfo/Width/@value",
|
||||
"value": "7",
|
||||
"value": "5",
|
||||
"point": 3
|
||||
},
|
||||
"14": {
|
||||
"type": "text.color",
|
||||
"ele": "//Layer//Shape[shape_type/@value='TEXT'][contains(draw_type/@value, 'Outline')]/primary_color/@value",
|
||||
"value": "ffffff",
|
||||
"value": "00A337",
|
||||
"point": 3
|
||||
},
|
||||
"15": {
|
||||
"type": "exists",
|
||||
"type": "clippingMask.exists",
|
||||
"ele": "//Layer/MaskOpType/@value",
|
||||
"value": "Clipping",
|
||||
"point": 6,
|
||||
@@ -685,15 +222,16 @@
|
||||
"사각형": "RECTANGLE",
|
||||
"모서리가 둥근 사각형": "ROUNDED_RECTANGLE",
|
||||
"원형/타원형": "ELLIPSE"
|
||||
}
|
||||
},
|
||||
"desc2": "16번 문항의 value값을 17~20번 문항의 option값으로 사용"
|
||||
},
|
||||
"17": {
|
||||
"type": "clipping.size",
|
||||
"ele": "//Layer//Shape[shape_type/@value='{option}']//op_points",
|
||||
"option": "RECTANGLE",
|
||||
"value": {
|
||||
"width": 150,
|
||||
"height": 150
|
||||
"width": 200,
|
||||
"height": 120
|
||||
},
|
||||
"point": 3,
|
||||
"desc": "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
|
||||
@@ -702,14 +240,15 @@
|
||||
"type": "exists",
|
||||
"ele": "//Layer//Shape[shape_type/@value='{option}']/outline_peninfo/Width/@value",
|
||||
"option": "RECTANGLE",
|
||||
"value": "7",
|
||||
"value": "3",
|
||||
"point": 3
|
||||
},
|
||||
"19": {
|
||||
"type": "clipping.color",
|
||||
"ele": "//Layer//Shape[shape_type/@value='{option}' and contains(draw_type/@value, 'Outline')]/primary_color/@value",
|
||||
"ele2": "//Layer//Shape[shape_type/@value='{option}' and contains(draw_type/@value,'Outline')]/primary_color/@value|//Layer//Shape[shape_type/@value='{option}'and contains draw_type/@value,'Outline')]/secondary_color/@value",
|
||||
"option": "RECTANGLE",
|
||||
"value": "e8e88e",
|
||||
"value": "2AB93A",
|
||||
"point": 3,
|
||||
"desc": "채우기:secondary_color, 외곽선:primary_color"
|
||||
},
|
||||
@@ -719,9 +258,9 @@
|
||||
"option": "RECTANGLE",
|
||||
"value": {
|
||||
"shadow": true,
|
||||
"width": "3",
|
||||
"distance": "5",
|
||||
"blur": "1",
|
||||
"width": "5",
|
||||
"distance": "10",
|
||||
"blur": "5",
|
||||
"angle": "320"
|
||||
},
|
||||
"point": 5,
|
||||
@@ -739,5 +278,292 @@
|
||||
"point": 0,
|
||||
"desc": "파일명 확인"
|
||||
}
|
||||
},
|
||||
"2": {
|
||||
"1": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[not(@Length<='5' and @ClipLength='-1')]/@ClipIndex",
|
||||
"type": "mediaOrder",
|
||||
"value": ["동영상.mp4", "이미지3.jpg", "이미지1.jpg", "이미지2.jpg"],
|
||||
"point": 4,
|
||||
"desc": "비디오1 트랙에 있는 클립의 ClipIndex값을 기준으로 CRClipArr에서 Path값을 가져와서 정답 채점, 클립의 ClipIndex값이 -1인 경우와 길이가 5프레임 이하인 경우는 제외한다."
|
||||
},
|
||||
"2": {
|
||||
"ele": "/CROASTERP/CRTrackArr[1]/CRVideoTrackArr[1]/CRTrackList[1]/CRTrackClip[1]/@Speed",
|
||||
"type": "oneAnswer",
|
||||
"value": {
|
||||
"speed": "150"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "100당 1배속 / 130 = 1.3배속"
|
||||
},
|
||||
"3": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']",
|
||||
"type": "startEnd",
|
||||
"media": "동영상.mp4",
|
||||
"value": {
|
||||
"start": "0",
|
||||
"end": "360"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "시작시간과 재생시간 정답값 입력, 3번문항은 '동영상.mp4' 클립의 길이를 확인하는 문항이므로 media는 수정할 필요가 없다."
|
||||
},
|
||||
"4": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "effect",
|
||||
"media": "동영상.mp4",
|
||||
"value": {
|
||||
"ID": "151",
|
||||
"VID102": "1.2",
|
||||
"VID104": "12"
|
||||
},
|
||||
"point": 3,
|
||||
"desc": "value값의 키값(VID___)은 이펙트의 속성종류에 따라 변경되므로 채점기준표작성시 확인 필요"
|
||||
},
|
||||
"5": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@Name",
|
||||
"search": "여러 종류의 거북이들",
|
||||
"type": "video.Text",
|
||||
"value": "여러 종류의 거북이들",
|
||||
"point": 3
|
||||
},
|
||||
"6": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID102",
|
||||
"search": "여러 종류의 거북이들",
|
||||
"type": "video.Text",
|
||||
"value": "굴림체",
|
||||
"point": 2
|
||||
},
|
||||
"7": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID101",
|
||||
"search": "여러 종류의 거북이들",
|
||||
"type": "video.Text",
|
||||
"value": "110",
|
||||
"point": 2
|
||||
},
|
||||
"8": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4']/@VID100",
|
||||
"search": "여러 종류의 거북이들",
|
||||
"type": "video.Text.Color",
|
||||
"value": "0bd468",
|
||||
"point": 2,
|
||||
"desc": "컬러값은 RGB로 입력한다, [대소문자, #]허용 (#FFFFFF, ffffff 두 값 모두 허용)"
|
||||
},
|
||||
"9": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@*[name()='VID600' or name()='VID601']",
|
||||
"search": "여러 종류의 거북이들",
|
||||
"type": "video.Location",
|
||||
"value": ["0.29270834", "0.92962962"],
|
||||
"point": 2,
|
||||
"desc": "정답 파일의 자막 좌표를 기준으로 프로그램 내부적으로 0.1까지 오차를 허용한다"
|
||||
},
|
||||
"10": {
|
||||
"ele": "",
|
||||
"search": "여러 종류의 거북이들",
|
||||
"type": "video.StartTime",
|
||||
"value": 160,
|
||||
"point": 2,
|
||||
"desc": "내부적으로 자막의 시작시간과 길이를 계산"
|
||||
},
|
||||
"11": {
|
||||
"ele": "",
|
||||
"search": "여러 종류의 거북이들",
|
||||
"type": "video.Length",
|
||||
"value": 120,
|
||||
"point": 2,
|
||||
"desc": "내부적으로 자막의 시작시간과 길이를 계산"
|
||||
},
|
||||
"12": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Mute",
|
||||
"type": "Mute",
|
||||
"media": "동영상.mp4",
|
||||
"value": "1",
|
||||
"point": 2
|
||||
},
|
||||
"13": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
|
||||
"type": "imageLength",
|
||||
"media": "이미지3.jpg",
|
||||
"value": 150,
|
||||
"point": 2
|
||||
},
|
||||
"14": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "imageOverlay",
|
||||
"media": "이미지3.jpg",
|
||||
"value": {
|
||||
"ID": "102",
|
||||
"VID101": "4"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
|
||||
},
|
||||
"15": {
|
||||
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
|
||||
"type": "clipTransition",
|
||||
"media": "이미지3.jpg",
|
||||
"value": {
|
||||
"ID": "12",
|
||||
"Range": "480:510",
|
||||
"Type": "2"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버랩일 경우 Type속성값 16으로 변경"
|
||||
},
|
||||
"16": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
|
||||
"type": "imageLength",
|
||||
"media": "이미지1.jpg",
|
||||
"value": 180,
|
||||
"point": 2
|
||||
},
|
||||
"17": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "imageOverlay",
|
||||
"media": "이미지1.jpg",
|
||||
"value": {
|
||||
"ID": "128",
|
||||
"VID101": "4"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
|
||||
},
|
||||
"18": {
|
||||
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
|
||||
"type": "clipTransition",
|
||||
"media": "이미지1.jpg",
|
||||
"value": {
|
||||
"ID": "7",
|
||||
"Range": "630:690",
|
||||
"Type": "2"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버랩일 경우 Type속성값 16으로 변경"
|
||||
},
|
||||
"19": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
|
||||
"type": "imageLength",
|
||||
"media": "이미지2.jpg",
|
||||
"value": 150,
|
||||
"point": 2
|
||||
},
|
||||
"20": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "imageOverlay",
|
||||
"media": "이미지2.jpg",
|
||||
"value": {
|
||||
"ID": "67",
|
||||
"VID103": "6"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
|
||||
},
|
||||
"21": {
|
||||
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
|
||||
"type": "clipTransition",
|
||||
"media": "이미지2.jpg",
|
||||
"value": {
|
||||
"ID": "20",
|
||||
"Range": "810:840",
|
||||
"Type": "2"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버랩일 경우 Type속성값 16으로 변경"
|
||||
},
|
||||
"22": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@Name",
|
||||
"search": "거북이 집 (Turtle House)",
|
||||
"type": "video.Text",
|
||||
"value": "거북이 집 (Turtle House)",
|
||||
"point": 3
|
||||
},
|
||||
"23": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID102",
|
||||
"search": "거북이 집 (Turtle House)",
|
||||
"type": "video.Text",
|
||||
"value": "바탕체",
|
||||
"point": 2
|
||||
},
|
||||
"24": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID101",
|
||||
"search": "거북이 집 (Turtle House)",
|
||||
"type": "video.Text",
|
||||
"value": "150",
|
||||
"point": 2
|
||||
},
|
||||
"25": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4']/@VID100",
|
||||
"search": "거북이 집 (Turtle House)",
|
||||
"type": "video.Text.Color",
|
||||
"value": "00f3ff",
|
||||
"point": 2,
|
||||
"desc": "컬러값은 RGB로 입력한다, [대소문자, #]허용 (#FFFFFF, ffffff 두 값 모두 허용)"
|
||||
},
|
||||
"26": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='2']",
|
||||
"search": "거북이 집 (Turtle House)",
|
||||
"type": "video.Text.Outline",
|
||||
"value": {
|
||||
"width": "20",
|
||||
"color": "105932"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "두께는 XML에서는 소수점으로 표기되지만, 프로그램 내부적으로 변환하여 사용하므로 현재 파일에서는 정수로 작성"
|
||||
},
|
||||
"27": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr",
|
||||
"search": "거북이 집 (Turtle House)",
|
||||
"type": "opening.Text.FadeInEffect",
|
||||
"value": {
|
||||
"VID505": "1",
|
||||
"VID507": "2"
|
||||
},
|
||||
"point": 3,
|
||||
"desc": "오프닝자막의 나타나기 효과를 확인하는 문항. id속성은 VID505, playtime속성은 VID507으로 XML 내부에 표기되어 있다."
|
||||
},
|
||||
"28": {
|
||||
"ele": "",
|
||||
"search": "거북이 집 (Turtle House)",
|
||||
"type": "opening.StartTime",
|
||||
"value": 0,
|
||||
"point": 2,
|
||||
"desc": "오프닝자막의 시작시간 value 속성만 수정"
|
||||
},
|
||||
"29": {
|
||||
"ele": "",
|
||||
"search": "거북이 집 (Turtle House)",
|
||||
"type": "opening.Length",
|
||||
"value": 150,
|
||||
"point": 2
|
||||
},
|
||||
"30": {
|
||||
"ele": "",
|
||||
"type": "audio.StartTime",
|
||||
"media": "음악.mp3",
|
||||
"value": 0,
|
||||
"point": 2
|
||||
},
|
||||
"31": {
|
||||
"ele": "//CRTrackList[@Name='오디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']",
|
||||
"type": "audio.EndTime",
|
||||
"media": "음악.mp3",
|
||||
"value": 820,
|
||||
"point": 2
|
||||
},
|
||||
"32": {
|
||||
"ele": "//CRTrackList[@Name='오디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "audio.Effect",
|
||||
"media": "음악.mp3",
|
||||
"value": {
|
||||
"ID": "1",
|
||||
"Duration": "60"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "ID속성-페이드인:0 / 페이드아웃: 1"
|
||||
},
|
||||
"33": {
|
||||
"ele": "none",
|
||||
"point": 0,
|
||||
"desc": "파일명 확인"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,294 +1,4 @@
|
||||
{
|
||||
"2": {
|
||||
"1": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[not(@Length<='5' and @ClipLength='-1')]/@ClipIndex",
|
||||
"type": "mediaOrder",
|
||||
"value": ["동영상.mp4", "이미지3.jpg", "이미지1.jpg", "이미지2.jpg"],
|
||||
"point": 4,
|
||||
"desc": "비디오1 트랙에 있는 클립의 ClipIndex값을 기준으로 CRClipArr에서 Path값을 가져와서 정답 채점, 클립의 ClipIndex값이 -1인 경우와 길이가 5프레임 이하인 경우는 제외한다."
|
||||
},
|
||||
"2": {
|
||||
"ele": "/CROASTERP/CRTrackArr[1]/CRVideoTrackArr[1]/CRTrackList[1]/CRTrackClip[1]/@Speed",
|
||||
"type": "oneAnswer",
|
||||
"value": {
|
||||
"speed": "130"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "100당 1배속 / 130 = 1.3배속"
|
||||
},
|
||||
"3": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']",
|
||||
"type": "startEnd",
|
||||
"media": "동영상.mp4",
|
||||
"value": {
|
||||
"start": "0",
|
||||
"end": "360"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "시작시간과 재생시간 정답값 입력, 3번문항은 '동영상.mp4' 클립의 길이를 확인하는 문항이므로 media는 수정할 필요가 없다."
|
||||
},
|
||||
"4": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "effect",
|
||||
"media": "동영상.mp4",
|
||||
"value": {
|
||||
"ID": "168",
|
||||
"VID100": "0.80000001",
|
||||
"VID102": "10"
|
||||
},
|
||||
"point": 3,
|
||||
"desc": "value값의 키값(VID___)은 이펙트의 속성종류에 따라 변경되므로 채점기준표작성시 확인 필요"
|
||||
},
|
||||
"5": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@Name",
|
||||
"search": "모래 촉감 놀이",
|
||||
"type": "video.Text",
|
||||
"value": "모래 촉감 놀이",
|
||||
"point": 3
|
||||
},
|
||||
"6": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID102",
|
||||
"search": "모래 촉감 놀이",
|
||||
"type": "video.Text",
|
||||
"value": "굴림체",
|
||||
"point": 2
|
||||
},
|
||||
"7": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID101",
|
||||
"search": "모래 촉감 놀이",
|
||||
"type": "video.Text",
|
||||
"value": "110",
|
||||
"point": 2
|
||||
},
|
||||
"8": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4']/@VID100",
|
||||
"search": "모래 촉감 놀이",
|
||||
"type": "video.Text.Color",
|
||||
"value": "fec02d",
|
||||
"point": 2,
|
||||
"desc": "컬러값은 RGB로 입력한다, [대소문자, #]허용 (#FFFFFF, ffffff 두 값 모두 허용)"
|
||||
},
|
||||
"9": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@*[name()='VID600' or name()='VID601']",
|
||||
"search": "모래 촉감 놀이",
|
||||
"type": "video.Location",
|
||||
"value": ["0.35312501", "0.92962962"],
|
||||
"point": 2,
|
||||
"desc": [
|
||||
"정답 파일의 자막 좌표를 기준으로 프로그램 내부적으로 0.1까지 오차를 허용한다",
|
||||
"CRCUnitArr의 VID600이 X좌표, VID601이 Y좌표"
|
||||
]
|
||||
},
|
||||
"10": {
|
||||
"ele": "",
|
||||
"search": "모래 촉감 놀이",
|
||||
"type": "video.StartTime",
|
||||
"value": 170,
|
||||
"point": 2,
|
||||
"desc": "내부적으로 자막의 시작시간과 길이를 계산"
|
||||
},
|
||||
"11": {
|
||||
"ele": "",
|
||||
"search": "모래 촉감 놀이",
|
||||
"type": "video.Length",
|
||||
"value": 150,
|
||||
"point": 2,
|
||||
"desc": "내부적으로 자막의 시작시간과 길이를 계산"
|
||||
},
|
||||
"12": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Mute",
|
||||
"type": "Mute",
|
||||
"media": "동영상.mp4",
|
||||
"value": "1",
|
||||
"point": 2
|
||||
},
|
||||
"13": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
|
||||
"type": "imageLength",
|
||||
"media": "이미지3.jpg",
|
||||
"value": 180,
|
||||
"point": 2
|
||||
},
|
||||
"14": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "imageOverlay",
|
||||
"media": "이미지3.jpg",
|
||||
"value": {
|
||||
"ID": "184",
|
||||
"VID101": "5"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
|
||||
},
|
||||
"15": {
|
||||
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
|
||||
"type": "clipTransition",
|
||||
"media": "이미지3.jpg",
|
||||
"value": {
|
||||
"ID": "21",
|
||||
"Range": "480:540",
|
||||
"Type": "2"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버랩일 경우 Type속성값 16으로 변경"
|
||||
},
|
||||
"16": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
|
||||
"type": "imageLength",
|
||||
"media": "이미지1.jpg",
|
||||
"value": 180,
|
||||
"point": 2
|
||||
},
|
||||
"17": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "imageOverlay",
|
||||
"media": "이미지1.jpg",
|
||||
"value": {
|
||||
"ID": "102",
|
||||
"VID100": "6"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
|
||||
},
|
||||
"18": {
|
||||
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
|
||||
"type": "clipTransition",
|
||||
"media": "이미지1.jpg",
|
||||
"value": {
|
||||
"ID": "9",
|
||||
"Range": "690:720",
|
||||
"Type": "2"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버랩일 경우 Type속성값 16으로 변경"
|
||||
},
|
||||
"19": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
|
||||
"type": "imageLength",
|
||||
"media": "이미지2.jpg",
|
||||
"value": 150,
|
||||
"point": 2
|
||||
},
|
||||
"20": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "imageOverlay",
|
||||
"media": "이미지2.jpg",
|
||||
"value": {
|
||||
"ID": "67",
|
||||
"VID103": "7"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
|
||||
},
|
||||
"21": {
|
||||
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
|
||||
"type": "clipTransition",
|
||||
"media": "이미지2.jpg",
|
||||
"value": {
|
||||
"ID": "94",
|
||||
"Range": "840:870",
|
||||
"Type": "2"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버랩일 경우 Type속성값 16으로 변경"
|
||||
},
|
||||
"22": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@Name",
|
||||
"search": "자연 놀이터 (Nature Playground)",
|
||||
"type": "video.Text",
|
||||
"value": "자연 놀이터 (Nature Playground)",
|
||||
"point": 3
|
||||
},
|
||||
"23": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID102",
|
||||
"search": "자연 놀이터 (Nature Playground)",
|
||||
"type": "video.Text",
|
||||
"value": "바탕체",
|
||||
"point": 2
|
||||
},
|
||||
"24": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID101",
|
||||
"search": "자연 놀이터 (Nature Playground)",
|
||||
"type": "video.Text",
|
||||
"value": "140",
|
||||
"point": 2
|
||||
},
|
||||
"25": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4']/@VID100",
|
||||
"search": "자연 놀이터 (Nature Playground)",
|
||||
"type": "video.Text.Color",
|
||||
"value": "388e3c",
|
||||
"point": 2,
|
||||
"desc": "컬러값은 RGB로 입력한다, [대소문자, #]허용 (#FFFFFF, ffffff 두 값 모두 허용)"
|
||||
},
|
||||
"26": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='2']",
|
||||
"search": "자연 놀이터 (Nature Playground)",
|
||||
"type": "video.Text.Outline",
|
||||
"value": {
|
||||
"width": "30",
|
||||
"color": "fffe37"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "두께는 XML에서는 소수점으로 표기되지만, 프로그램 내부적으로 변환하여 사용하므로 현재 파일에서는 정수로 작성"
|
||||
},
|
||||
"27": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr",
|
||||
"search": "자연 놀이터 (Nature Playground)",
|
||||
"type": "opening.Text.FadeInEffect",
|
||||
"value": {
|
||||
"VID505": "14",
|
||||
"VID507": "2"
|
||||
},
|
||||
"point": 3,
|
||||
"desc": "오프닝자막의 나타나기 효과를 확인하는 문항. id속성은 VID505, playtime속성은 VID507으로 XML 내부에 표기되어 있다."
|
||||
},
|
||||
"28": {
|
||||
"ele": "",
|
||||
"search": "자연 놀이터 (Nature Playground)",
|
||||
"type": "opening.StartTime",
|
||||
"value": 0,
|
||||
"point": 2,
|
||||
"desc": "오프닝자막의 시작시간 value 속성만 수정"
|
||||
},
|
||||
"29": {
|
||||
"ele": "",
|
||||
"search": "자연 놀이터 (Nature Playground)",
|
||||
"type": "opening.Length",
|
||||
"value": 120,
|
||||
"point": 2
|
||||
},
|
||||
"30": {
|
||||
"ele": "",
|
||||
"type": "audio.StartTime",
|
||||
"media": "음악.mp3",
|
||||
"value": 0,
|
||||
"point": 2
|
||||
},
|
||||
"31": {
|
||||
"ele": "//CRTrackList[@Name='오디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']",
|
||||
"type": "audio.EndTime",
|
||||
"media": "음악.mp3",
|
||||
"value": 840,
|
||||
"point": 2
|
||||
},
|
||||
"32": {
|
||||
"ele": "//CRTrackList[@Name='오디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "audio.Effect",
|
||||
"media": "음악.mp3",
|
||||
"value": {
|
||||
"ID": "1",
|
||||
"Duration": "60"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "ID속성-페이드인:0 / 페이드아웃: 1"
|
||||
},
|
||||
"33": {
|
||||
"ele": "none",
|
||||
"point": 0,
|
||||
"desc": "파일명 확인"
|
||||
}
|
||||
},
|
||||
"4": {
|
||||
"1": {
|
||||
"type": "canvas.Size",
|
||||
@@ -306,18 +16,18 @@
|
||||
"3": {
|
||||
"type": "layer.exists",
|
||||
"ele": "//Layer/Name/@value",
|
||||
"value": "Nature",
|
||||
"value": "Crew space",
|
||||
"point": 5,
|
||||
"desc": "Nature 레이어가 있는지 여부 체크"
|
||||
"desc": "Crew space 레이어가 있는지 여부 체크"
|
||||
},
|
||||
"4": {
|
||||
"type": "layer.Effects",
|
||||
"ele": "//Layer[Name[@value='{search}']]/Effects/Item",
|
||||
"search": "Nature",
|
||||
"search": "Crew space",
|
||||
"value": {
|
||||
"name": "밝기/대비",
|
||||
"option": {
|
||||
"대비": "10"
|
||||
"밝기": "30"
|
||||
}
|
||||
},
|
||||
"point": 5,
|
||||
@@ -326,7 +36,7 @@
|
||||
"밝기/대비": ["밝기", "대비"],
|
||||
"노출": "노출",
|
||||
"색조/채도": ["색조", "채도", "명도"],
|
||||
"감마": ["어두운 영역", "미드톤", "밝은 영역"],
|
||||
"감마": ["리프트", "감마", "게인"],
|
||||
"세피아": ["U", "V"],
|
||||
"생동감": "생동감"
|
||||
}
|
||||
@@ -340,9 +50,9 @@
|
||||
"6": {
|
||||
"type": "exists",
|
||||
"ele": "//Layer/Effects/Item/Name/@value",
|
||||
"value": "색조/채도",
|
||||
"value": "세피아",
|
||||
"point": 6,
|
||||
"desc": "색조/채도 효과가 있는지 여부 체크"
|
||||
"desc": "세피아 효과가 있는지 여부 체크"
|
||||
},
|
||||
"7": {
|
||||
"type": "exists",
|
||||
@@ -359,8 +69,8 @@
|
||||
"type": "shape.size",
|
||||
"ele": "//Layer//op_points",
|
||||
"value": {
|
||||
"width": 650,
|
||||
"height": 50
|
||||
"width": 160,
|
||||
"height": 350
|
||||
},
|
||||
"point": 3,
|
||||
"desc": "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
|
||||
@@ -368,7 +78,7 @@
|
||||
"9": {
|
||||
"type": "shape.color",
|
||||
"ele": "//Layer//Shape[contains(draw_type/@value, 'Interior')]/secondary_color/@value",
|
||||
"value": "1D8033",
|
||||
"value": "005FFF",
|
||||
"point": 6,
|
||||
"desc": ""
|
||||
},
|
||||
@@ -376,10 +86,11 @@
|
||||
"type": "layer.blend.opacity",
|
||||
"ele": "//Layer",
|
||||
"value": {
|
||||
"BlendOp": "중첩",
|
||||
"Opacity": "80"
|
||||
"BlendOp": "색 굽기",
|
||||
"Opacity": "60"
|
||||
},
|
||||
"point": 6
|
||||
"point": 6,
|
||||
"desc": "BlendOp값 중첩, 색 굽기 / Opacity값 불투명도 수치값 입력"
|
||||
},
|
||||
"11": {
|
||||
"type": "none",
|
||||
@@ -436,8 +147,8 @@
|
||||
"type": "shape.size",
|
||||
"ele": "//Layer//op_points",
|
||||
"value": {
|
||||
"width": 300,
|
||||
"height": 80
|
||||
"width": 400,
|
||||
"height": 100
|
||||
},
|
||||
"point": 3,
|
||||
"desc": "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
|
||||
@@ -448,52 +159,52 @@
|
||||
"startColor": "gradient_start_color/@value",
|
||||
"endColor": "gradient_end_color/@value",
|
||||
"value": {
|
||||
"startColor": "DE9693",
|
||||
"endColor": "AC2EF8"
|
||||
"startColor": "FD68B9",
|
||||
"endColor": "FFE428"
|
||||
},
|
||||
"point": 6
|
||||
},
|
||||
"8": {
|
||||
"type": "text.exists",
|
||||
"ele": "//Layer//Shape[shape_type/@value='TEXT']/lines/Item/@value",
|
||||
"value": "숲속 놀이터",
|
||||
"value": "떠나는 여객선",
|
||||
"point": 5
|
||||
},
|
||||
"9": {
|
||||
"type": "exists",
|
||||
"ele": "//Layer//Shape[shape_type/@value='TEXT']/font/Name/@value",
|
||||
"value": "굴림",
|
||||
"value": "궁서체",
|
||||
"point": 3
|
||||
},
|
||||
"10": {
|
||||
"type": "exists",
|
||||
"ele": "//Layer//Shape[shape_type/@value='TEXT']/font/{style}/@value",
|
||||
"style": "Bold",
|
||||
"style": "Italic",
|
||||
"value": "True",
|
||||
"point": 3
|
||||
},
|
||||
"11": {
|
||||
"type": "exists",
|
||||
"ele": "//Layer//Shape[shape_type/@value='TEXT']/font/Size/@value",
|
||||
"value": "28",
|
||||
"value": "36",
|
||||
"point": 3
|
||||
},
|
||||
"12": {
|
||||
"type": "text.color",
|
||||
"ele": "//Layer//Shape[shape_type/@value='TEXT'][contains(draw_type/@value, 'Interior')]/secondary_color/@value",
|
||||
"value": "FFFFFF",
|
||||
"value": "0085FF",
|
||||
"point": 3
|
||||
},
|
||||
"13": {
|
||||
"type": "exists",
|
||||
"ele": "//Layer//Shape[shape_type/@value='TEXT']/outline_peninfo/Width/@value",
|
||||
"value": "5",
|
||||
"value": "4",
|
||||
"point": 3
|
||||
},
|
||||
"14": {
|
||||
"type": "text.color",
|
||||
"ele": "//Layer//Shape[shape_type/@value='TEXT'][contains(draw_type/@value, 'Outline')]/primary_color/@value",
|
||||
"value": "43006A",
|
||||
"value": "FFFFFF",
|
||||
"point": 3
|
||||
},
|
||||
"15": {
|
||||
@@ -521,7 +232,7 @@
|
||||
"option": "ROUNDED_RECTANGLE",
|
||||
"value": {
|
||||
"width": 150,
|
||||
"height": 160
|
||||
"height": 150
|
||||
},
|
||||
"point": 3,
|
||||
"desc": "레이어 쉐이프 X, Y 좌표를 가지고 너비, 높이 계산하여 정답 채점"
|
||||
@@ -530,14 +241,15 @@
|
||||
"type": "exists",
|
||||
"ele": "//Layer//Shape[shape_type/@value='{option}']/outline_peninfo/Width/@value",
|
||||
"option": "ROUNDED_RECTANGLE",
|
||||
"value": "6",
|
||||
"value": "5",
|
||||
"point": 3
|
||||
},
|
||||
"19": {
|
||||
"type": "clipping.color",
|
||||
"ele": "//Layer//Shape[shape_type/@value='{option}' and contains(draw_type/@value, 'Outline')]/primary_color/@value",
|
||||
"ele2": "//Layer//Shape[shape_type/@value='{option}' and contains(draw_type/@value,'Outline')]/primary_color/@value|//Layer//Shape[shape_type/@value='{option}'and contains draw_type/@value,'Outline')]/secondary_color/@value",
|
||||
"option": "ROUNDED_RECTANGLE",
|
||||
"value": "1fc72b",
|
||||
"value": "41A4FF",
|
||||
"point": 3,
|
||||
"desc": "채우기:secondary_color, 외곽선:primary_color"
|
||||
},
|
||||
@@ -547,10 +259,10 @@
|
||||
"option": "ROUNDED_RECTANGLE",
|
||||
"value": {
|
||||
"shadow": true,
|
||||
"width": "5",
|
||||
"distance": "3",
|
||||
"width": "6",
|
||||
"distance": "4",
|
||||
"blur": "3",
|
||||
"angle": "310"
|
||||
"angle": "320"
|
||||
},
|
||||
"point": 5,
|
||||
"desc": "그림자 속성이 있는 경우 그림자 속성의 너비, 거리, 흐림 정도, 각도를 비교하여 정답 채점"
|
||||
@@ -567,5 +279,295 @@
|
||||
"point": 0,
|
||||
"desc": "파일명 확인"
|
||||
}
|
||||
},
|
||||
"2": {
|
||||
"1": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[not(@Length<='5' and @ClipLength='-1')]/@ClipIndex",
|
||||
"type": "mediaOrder",
|
||||
"value": ["동영상.mp4", "이미지3.jpg", "이미지2.jpg", "이미지1.jpg"],
|
||||
"point": 4,
|
||||
"desc": "비디오1 트랙에 있는 클립의 ClipIndex값을 기준으로 CRClipArr에서 Path값을 가져와서 정답 채점, 클립의 ClipIndex값이 -1인 경우와 길이가 5프레임 이하인 경우는 제외한다."
|
||||
},
|
||||
"2": {
|
||||
"ele": "/CROASTERP/CRTrackArr[1]/CRVideoTrackArr[1]/CRTrackList[1]/CRTrackClip[1]/@Speed",
|
||||
"type": "oneAnswer",
|
||||
"value": {
|
||||
"speed": "150"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "100당 1배속 / 130 = 1.3배속"
|
||||
},
|
||||
"3": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']",
|
||||
"type": "startEnd",
|
||||
"media": "동영상.mp4",
|
||||
"value": {
|
||||
"start": "0",
|
||||
"end": "380"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "시작시간과 재생시간 정답값 입력, 3번문항은 '동영상.mp4' 클립의 길이를 확인하는 문항이므로 media는 수정할 필요가 없다."
|
||||
},
|
||||
"4": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "effect",
|
||||
"media": "동영상.mp4",
|
||||
"value": {
|
||||
"ID": "43",
|
||||
"VID100": "9",
|
||||
"VID103": "0.80000001"
|
||||
},
|
||||
"point": 3,
|
||||
"desc": "value값의 키값(VID___)은 이펙트의 속성종류에 따라 변경되므로 채점기준표작성시 확인 필요"
|
||||
},
|
||||
"5": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@Name",
|
||||
"search": "섬 나들이",
|
||||
"type": "video.Text",
|
||||
"value": "섬 나들이",
|
||||
"point": 3
|
||||
},
|
||||
"6": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID102",
|
||||
"search": "섬 나들이",
|
||||
"type": "video.Text",
|
||||
"value": "굴림체",
|
||||
"point": 2
|
||||
},
|
||||
"7": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID101",
|
||||
"search": "섬 나들이",
|
||||
"type": "video.Text",
|
||||
"value": "110",
|
||||
"point": 2
|
||||
},
|
||||
"8": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4']/@VID100",
|
||||
"search": "섬 나들이",
|
||||
"type": "video.Text.Color",
|
||||
"value": "e5f741",
|
||||
"point": 2,
|
||||
"desc": "컬러값은 RGB로 입력한다, [대소문자, #]허용 (#FFFFFF, ffffff 두 값 모두 허용)"
|
||||
},
|
||||
"9": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@*[name()='VID600' or name()='VID601']",
|
||||
"search": "섬 나들이",
|
||||
"type": "video.Location",
|
||||
"value": ["0.40416667", "0.92962962"],
|
||||
"point": 2,
|
||||
"desc": [
|
||||
"정답 파일의 자막 좌표를 기준으로 프로그램 내부적으로 0.1까지 오차를 허용한다",
|
||||
"CRCUnitArr의 VID600이 X좌표, VID601이 Y좌표"
|
||||
]
|
||||
},
|
||||
"10": {
|
||||
"ele": "",
|
||||
"search": "섬 나들이",
|
||||
"type": "video.StartTime",
|
||||
"value": 160,
|
||||
"point": 2,
|
||||
"desc": "내부적으로 자막의 시작시간과 길이를 계산"
|
||||
},
|
||||
"11": {
|
||||
"ele": "",
|
||||
"search": "섬 나들이",
|
||||
"type": "video.Length",
|
||||
"value": 180,
|
||||
"point": 2,
|
||||
"desc": "내부적으로 자막의 시작시간과 길이를 계산"
|
||||
},
|
||||
"12": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Mute",
|
||||
"type": "Mute",
|
||||
"media": "동영상.mp4",
|
||||
"value": "1",
|
||||
"point": 2
|
||||
},
|
||||
"13": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
|
||||
"type": "imageLength",
|
||||
"media": "이미지3.jpg",
|
||||
"value": 150,
|
||||
"point": 2
|
||||
},
|
||||
"14": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "imageOverlay",
|
||||
"media": "이미지3.jpg",
|
||||
"value": {
|
||||
"ID": "67",
|
||||
"VID103": "8"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
|
||||
},
|
||||
"15": {
|
||||
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
|
||||
"type": "clipTransition",
|
||||
"media": "이미지3.jpg",
|
||||
"value": {
|
||||
"ID": "17",
|
||||
"Range": "470:530",
|
||||
"Type": "2"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버랩일 경우 Type속성값 16으로 변경"
|
||||
},
|
||||
"16": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
|
||||
"type": "imageLength",
|
||||
"media": "이미지2.jpg",
|
||||
"value": 180,
|
||||
"point": 2
|
||||
},
|
||||
"17": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "imageOverlay",
|
||||
"media": "이미지2.jpg",
|
||||
"value": {
|
||||
"ID": "173",
|
||||
"VID105": "10"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
|
||||
},
|
||||
"18": {
|
||||
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
|
||||
"type": "clipTransition",
|
||||
"media": "이미지2.jpg",
|
||||
"value": {
|
||||
"ID": "35",
|
||||
"Range": "680:710",
|
||||
"Type": "2"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버랩일 경우 Type속성값 16으로 변경"
|
||||
},
|
||||
"19": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']/@Length",
|
||||
"type": "imageLength",
|
||||
"media": "이미지1.jpg",
|
||||
"value": 180,
|
||||
"point": 2
|
||||
},
|
||||
"20": {
|
||||
"ele": "//CRTrackList[@Name='비디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "imageOverlay",
|
||||
"media": "이미지1.jpg",
|
||||
"value": {
|
||||
"ID": "102",
|
||||
"VID102": "10"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버레이 속성 키값(VID10X) 확인하고 변경"
|
||||
},
|
||||
"21": {
|
||||
"ele": "//CRTransFilter[@ClipIndex='{CRTrackClipIndex}']",
|
||||
"type": "clipTransition",
|
||||
"media": "이미지1.jpg",
|
||||
"value": {
|
||||
"ID": "15",
|
||||
"Range": "830:890",
|
||||
"Type": "2"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "오버랩일 경우 Type속성값 16으로 변경"
|
||||
},
|
||||
"22": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr/@Name",
|
||||
"search": "여객선 여행 (Ferry Trip)",
|
||||
"type": "video.Text",
|
||||
"value": "여객선 여행 (Ferry Trip)",
|
||||
"point": 3
|
||||
},
|
||||
"23": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID102",
|
||||
"search": "여객선 여행 (Ferry Trip)",
|
||||
"type": "video.Text",
|
||||
"value": "돋움체",
|
||||
"point": 2
|
||||
},
|
||||
"24": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool[@Type='1']/GCUnit/@VID101",
|
||||
"search": "여객선 여행 (Ferry Trip)",
|
||||
"type": "video.Text",
|
||||
"value": "150",
|
||||
"point": 2
|
||||
},
|
||||
"25": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='4']/@VID100",
|
||||
"search": "여객선 여행 (Ferry Trip)",
|
||||
"type": "video.Text.Color",
|
||||
"value": "4affec",
|
||||
"point": 2,
|
||||
"desc": "컬러값은 RGB로 입력한다, [대소문자, #]허용 (#FFFFFF, ffffff 두 값 모두 허용)"
|
||||
},
|
||||
"26": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr//GCUnitPool/GCUnit[@Type='2']",
|
||||
"search": "여객선 여행 (Ferry Trip)",
|
||||
"type": "video.Text.Outline",
|
||||
"value": {
|
||||
"width": "20",
|
||||
"color": "ffffff"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "두께는 XML에서는 소수점으로 표기되지만, 프로그램 내부적으로 변환하여 사용하므로 현재 파일에서는 정수로 작성"
|
||||
},
|
||||
"27": {
|
||||
"ele": "//CROwneUnit[{index}]/CRCUnitArr",
|
||||
"search": "여객선 여행 (Ferry Trip)",
|
||||
"type": "opening.Text.FadeInEffect",
|
||||
"value": {
|
||||
"VID505": "5",
|
||||
"VID507": "2"
|
||||
},
|
||||
"point": 3,
|
||||
"desc": "오프닝자막의 나타나기 효과를 확인하는 문항. id속성은 VID505, playtime속성은 VID507으로 XML 내부에 표기되어 있다."
|
||||
},
|
||||
"28": {
|
||||
"ele": "",
|
||||
"search": "여객선 여행 (Ferry Trip)",
|
||||
"type": "opening.StartTime",
|
||||
"value": 0,
|
||||
"point": 2,
|
||||
"desc": "오프닝자막의 시작시간 value 속성만 수정"
|
||||
},
|
||||
"29": {
|
||||
"ele": "",
|
||||
"search": "여객선 여행 (Ferry Trip)",
|
||||
"type": "opening.Length",
|
||||
"value": 150,
|
||||
"point": 2
|
||||
},
|
||||
"30": {
|
||||
"ele": "",
|
||||
"type": "audio.StartTime",
|
||||
"media": "음악.mp3",
|
||||
"value": 0,
|
||||
"point": 2
|
||||
},
|
||||
"31": {
|
||||
"ele": "//CRTrackList[@Name='오디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']",
|
||||
"type": "audio.EndTime",
|
||||
"media": "음악.mp3",
|
||||
"value": 880,
|
||||
"point": 2
|
||||
},
|
||||
"32": {
|
||||
"ele": "//CRTrackList[@Name='오디오1']/CRTrackClip[@ClipIndex='{CRClipIndex}']//CRFilter",
|
||||
"type": "audio.Effect",
|
||||
"media": "음악.mp3",
|
||||
"value": {
|
||||
"ID": "1",
|
||||
"Duration": "90"
|
||||
},
|
||||
"point": 2,
|
||||
"desc": "ID속성-페이드인:0 / 페이드아웃: 1"
|
||||
},
|
||||
"33": {
|
||||
"ele": "none",
|
||||
"point": 0,
|
||||
"desc": "파일명 확인"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user