위 매뉴에서 홀드 편집기, 상태 표시줄은 체크 해제를 아면 아래와 같이 된다.





아래 그림은 도구 모음에 있는 것까지 모든 체크를 해제 했을 때





심플한 메모장 같은 형태가 된다.

Posted by 투명인간취급
,

아래와 같습니다.
실질적으로 사용가능한 명령어는 이외에 다수 존재하지만 아래에 나열된 명령어들은
CC가 자체적으로 처리해주는 명령어 셋들입니다.

동영상 재생제어와
자막제어, 그리고 각종 문자열 처리, 편집환경 제어가 서비스 됩니다.

CRLF
- 엔터키를 반환합니다. 문자열 등에 이 문을 넣으면 엔터가 됩니다.
예) '다음줄'+CRLF+'입니다.'

CC_MEDIASEEK(시간값)
- 밀리 세컨드 단위로 미디어를 탐색합니다. 정해진 시간 만큼 미디어를 앞으로 밀거나 당깁니다.
예) CC_MediaSeek(-500);

CC_MEDIAJUMP(이동할 시간)
- 지정한 시간으로 이동합니다.
예) CC_MediaJump(1000);

CC_MEDIAPLAYSTATE
- 현재의 재생 상태를 반환합니다. 0 / 1 / 2
예) If CC_MediaPlayState = 2 Then CC_MediaSeek(1000);

CC_MEDIACURRENTTIME
- 현재의 시간을 그대로 반환합니다.

CC_MEDIACURRENTSYNCTIME
- 현재의 시간에 가중치를 더해서 반환합니다.

CC_MEDIAPLAYTIME
- 미디어의 전체 재생시간을 반환합니다.

CC_MEDIAPLAY
- 재생을 시작합니다.

CC_MEDIAPAUSE
- 일시정지 시킵니다.

CC_MEDIASTOP
- 정지시킵니다.

CC_ISSYNCLINE(줄 번호)
- 줄번호에서 지정한 줄이 싱크 태그를 가지는지 반환합니다.
예) If CC_IsSyncLine(1) Then ShowMessage('첫번째 줄은 싱크태그가 있습니다.');

CC_PTAG
- 현재의 P 태그를 반환합니다.

CC_PCLASS
- 현재 선택된 클래스를 반환합니다.

CC_PID
- 현재 선택된 ID를 반환합니다.

CC_INSERTLINE(줄번호, 문자열)
- 지정한 줄에 문자열을 추가합니다.
예) CC_InsertLine(1, '안녕하세요');

CC_MODIFYLINE(줄번호, 교체할 문자열)
- 지정한 줄의 문자열을 교체합니다.

CC_DELETELINE(줄번호)
- 지정한 줄을 삭제합니다.

CC_INSERTCURRENTPOS(문자열)
- 현재줄에 문자열을 추가합니다.

CC_GETSCRIPTHEAD
- 현재 스크립트의 헤더를 얻어옵니다.
예) ShowMessage(CC_GetScriptHead);

CC_GETSCRIPTTAIL
- 현재 스크립트의 꼬리를 얻어옵니다.

CC_GETSCRIPTBODY
- 현재 스크립트의 본체를 얻어옵니다.

CC_PARSECLASS
- 현재 스크립트를 처리해서 출력합니다.

CC_CLASSLIST
- 현재 클래스 리스트를 얻어옵니다.

CC_IDLIST
- 현재의 아이디 리스트를 얻어옵니다.

GETCHAR(문자열, 얻어올 번호)
- 한개의 문자를 얻어옵니다.
예) GetChar('ABC', 2); -> B를 반환합니다.

CC_RUNLOWCOMMAND(명령이름)
- 메뉴를 이름으로 호출합니다. 이때 이름은 고유이름을 입력해야 합니다.

CH_GETKEYSTATE(확인할 키의 VK 키값)
- 현재의 키 상태를 반환받습니다.

CC_GETFUNCTIONPATH
- 현재 Functions 폴더를 반환합니다.

CC_STRINGREPLACE(원본 문자열, 찾을 문자열, 바꿀 문자열)
- 문자열을 교체합니다.

CC_STRONGPOS (구현안됨)
CC_DICSEARCHBYWORD (구현안됨)
CC_DICREADWORDBYINDEX (구현안됨)
CC_DICREADMEANBYINDEX (구현안됨)
CC_DICREADPRONUNBYINDEX (구현안됨)
CC_OPENWEBPAGE (구현안됨)
CC_OPENPROGRAM (구현안됨)
CC_COMPLEXKEY (구현안됨)
CC_SHOWMESSAGEBOX (구현안됨)
CC_SHOWEDMESSAGEBOX (구현안됨)
CC_SHOWEDVIEWMESSAGEBOX (구현안됨)

CC_GETSCRIPTENGINEVERSION
- 현재 스크립트 엔진의 버전을 반환받습니다.

CC_GETMAINVERSION
- 메인 프로그램의 버전을 반환받습니다.

CC_CREATENEWHOLD
- 새 홀드를 추가합니다.

CC_REANAMEHOLD(홀드의 번호, 바꿀 이름)
- 지정한 홀드의 이름을 변경합니다.

CC_COPYNEWHOLD
- 현재의 홀드를 복사해 새 홀드를 만듭니다.

CC_DELETEHOLD(홀드 번호)
- 특정 홀드를 지정해서 삭제합니다.

CCP_GETCURRENTHOLDINDEX
- 현재 홀드의 번호를 반환받습니다.

CCP_GETHOLDCOUNT
- 현재 홀드의 총 숫자를 반환합니다.

CCP_CURRENTTIMEBLOCK (구현안됨)

CCP_CURRENTTIME
- 현재 편집중인 시간입니다. 이 함수는 쓰기 가능합니다.
예) CCP_CurrentTime := 4000; -> 현재 시간 블럭의 시간을 4000으로 변경합니다.

CCP_CURRENTTEXT (구현안됨)

CCP_CURRENTLINE
- 현재 커서가 존재하는 줄을 반환합니다. 이 함수는 쓰기 가능합니다.

CCP_SCRIPT
- 현재의 스크립트 전체를 반환합니다. 이 함수는 쓰기 가능합니다.

CCP_CLIPBRDSTRING
- 클립보드를 반환합니다. 이 함수는 쓰기 가능합니다.

CCP_CARETX
- 현재 커서의 X 위치를 반환합니다. 이 함수는 쓰기 가능합니다.

CCP_CARETY
- 현재 커서의 Y 위치를 반환합니다. 이 함수는 쓰기 가능합니다.

CCP_BLOCKSTRING
- 현재 블럭으로 선택된 문자열을 반환합니다. 이 함수는 쓰기 가능합니다.

CCP_BLOCKSTARTX
- 블럭이 시작되는 X 좌표를 반환합니다. 이 함수는 쓰기 가능합니다.

CCP_BLOCKSTARTY
- 블럭이 시작되는 Y 좌표를 반환합니다. 이 함수는 쓰기 가능합니다.

CCP_BLOCKENDX
- 블럭이 끝나는 X 좌표를 반환합니다. 이 함수는 쓰기 가능합니다.

CCP_BLOCKENDY
- 블럭이 끝나는 Y 좌표를 반환합니다. 이 함수는 쓰기 가능합니다.

CC_SETCURRENTTIME (구현안됨)

(4.0.18추가)---------------------------------------------------------------

CC_MODIFYTIMERANGE(변경할 시간의 크기, 라인의 시작 번호, 라인의 끝 번호)
- 특정 범위를 지정해서 시간을 변경합니다.

CC_CURRENTLINECOUNT
- 현재의 줄 숫자를 반환합니다.

CC_GETLINETEXT(줄번호)
- 지정한 줄의 문장을 반환합니다.

CC_MAKEUPZIPALLHOLD(파일명)
- 지정한 파일명으로 현재의 홀드 전체를 ZIP 형식으로 저장합니다.


(4.0.24추가)---------------------------------------------------------------

CC_ADDHOLDFROMFILE(파일명)
- 지정한 파일명으로 홀드에 추가합니다.


(4.0.24추가)---------------------------------------------------------------

CC_AnsiToUnicode(ANSI 문자열, 코드 페이지 번호)
- 지정한 문자열을 유니코드로 변환합니다.

CC_UnicodeToAnsi(유니코드 문자열, 코드 페이지 번호)
- 지정한 유니코드 문자열을 ANSI 코드로 변환합니다.

CC_ConfigManager
- 환경설정 매니져를 호출합니다.

 

(4.1.1 RC 7추가)---------------------------------------------------------------

CP_TopLine
- 지정한 위치로 스크롤 합니다 (화면에 보이는 제일 윗줄을 기준으로 합니다)



CC_ReplaceAll(대상문자열, 지정문자열)
CC_ReplaceAll(방향 True/False, 대상문자열, 지정문자열, 대소문자구분 True/False, 모두바꿈 True/False)

- 에디터에서 현재위치 기준으로 대상 문자열을 지정된 문자열로 모두 교체합니다
 

CC_FindNext(찾을문자열)
CC_FindNext(방향 True/False, 찾을문자열, 대소문자구분 True/False)

- 에디터에서 현재위치 기준으로 다음에 나오는 문자열을 찾고 스크롤하고 블럭을 씌웁니다.

 
CC_GetLineCount
- 현재 에디터에서 편집중인 텍스트의 전체 줄 숫자를 반환합니다.

Posted by 투명인간취급
,

장담하건데 Caption Creator 4 의 스마트 블럭 기능을 아시는 분은 아마 거의 없을겁니다.

일단은 업데이트 기능 추가 목록에도 이러한 기능이 생겼는지에 대한 언급이

전혀 없으며 다른 어떤 안내에서도 이 기능에 대한 언급이 없기 때문입니다.

 

하지만 분명 이 기능은 필요합니다. 자 그럼 이제 이 기능이 어떤 녀석인지 보도록 하죠.

 

우선 아래와 같은 자막이 있을때

만일 "테스트 x" 문자열을 모두 <b>테스트 x</b> 로 바꾸고 싶다면 어떻게 해야 할까요? 

 

 

 

 

 

(간단한 샘플입니다)


아마도 일반적인 편집 도구에서는 각각의 영역을 선택한 뒤 하나씩 하나씩 수정해주어야 할겁니다.

물론, 일부 멋진 툴중엔 이런 기능을 제공하는 훌륭한 툴도 있습니다만... 잘 없지요??

 

바로 이런 경우에 쓰기 위한 기능이 스마트 블럭입니다.

이 기능을 위해선 먼저 매크로를 작성해 주어야 합니다. 다음과 같이 한번 작성해 보시기 바랍니다.

 

 

 

 

 

 

(메뉴의 도구(T) -> 프로그램 설정(S)... -> 매크로 설정)

 

 

CCP_BLOCKSTRING := CC_AnsiToUnicode('<b>') + CCP_BLOCKSTRING + '</b>';

 

(' '안에는 <i> <u> <s> <Font Color=> 등을 바꿔서 쓸 수 있습니다.)

(' '안에는 </i> </u> </s> </Font> 등을 바꿔서 쓸 수 있습니다.)

 

다음으로 아래와 같이 블럭을 씌웁니다.

아마도 4.1을 설치하시고 눈에 띄는 4.0 과의 차이는 저렇게 회색으로

블럭영역 외를 표시해주는 것을 보셨을텐데요 바로 저것이 스마트 블럭의 영역을 보여주는 것입니다.

 

 

 

 

 

(블럭 선택 외에 회색으로 강조되는 영역이 바로 스마트 블럭입니다)

자 마지막으로 해당 매크로를 실행합니다.


 



 

 

(태그를 제외한 문자열 부분만 볼드 태그가 먹혔습니다)

 

바로 이것이 스마트 블럭 기능입니다.

스마트 블럭 기능은 CCP_BLOCKSTRING 매크로 명령에 한해서 동작하는 기능으로

여러개의 시간 블럭을 선택했을때 이를 스마트(?)하게 처리해주는 기능을 제공합니다.

영상의 오프닝이라던지 엔딩에선 동일한 태그를 여러번 써야할 경우가 많은데

바로 이럴때 스마트 태그를 쓰면 간편하게 해결할 수 있는 것이죠.

 

 

 

 

Posted by 투명인간취급
,

 이 기능은 4.1.0 이후 버전에서 사용가능합니다.

 

브리지들은 기본적으로 유니코드 한자를 표시해주지 않는 문제점이 존재하는데요 KMP 브리지에서는 이 문제를 해결할 수 있는 옵션이 존재합니다.





Caption Creator 4 가 설치된 폴더 안의 Players 폴더에 가보시면 KMPBridge 의 DCC 정의 파일인 pld 파일이 존재합니다. 이 파일을 메모장으로 여신 뒤 아래의 그림처럼 "EncodeMode=Unicode" 를 추가해줍니다. (대소문자를 구분하니 주의 하세요 ^_^)





추가가 완료되었으면 KMP 브리지를 재시작 하시거나 Caption Creator 4 를 재시작 합니다.

아마도 유니코드 한자와 한글이 정상적으로 잘 보이게 될겁니다 ^_^


Posted by 투명인간취급
,

대부분의 경우 이것은 키 프레임 탐색 기능의 영향입니다.

KMP를 실행하시고
메인 컨트롤 메뉴 (마우스 오른쪽 클릭) -> 재생 제어 -> 키 프레임 탐색(마우스),

키 프레임 탐색(방향키)의 체크를 꺼주시면 정상적으로 싱크가 작동하게 됩니다.






위에 마우스 오른쪽 팝업에서 체크가 안 풀릴 경우 F2키 누르고 환경 설정에서 아래처럼 체크 해제





Posted by 투명인간취급
,

Caption Creator의 기록언어 설정이 한국어로 되어 있는 경우 (기본 설정값이 한국어입니다)

기본설정값으로 다른 언어에서 실행시 다음과 같은 메세지를 출력합니다.



내용에서 보시다시피 현재 설정된 폰트로는 기록언어를 정상적으로 출력해서 보여줄수 없다는 내용인데요
실제로 실행해보시면 자막 편집창에서 한글이 ???나 점으로 표시되는 것을 볼수 있습니다.

이 경우 지시한대로 폰트 설정을 바꾸어 주시면 되는데요

도구(T) -> 프로그램 설정(S)... -> 작업 환경 설정 탭의 [글꼴 모양, 크기, 스타일 수정]을 눌러주셔야 합니다.


작업 환경의 글꼴 모양, 크기, 스타일 수정 버튼입니다.


클릭하시면 폰트 설정 창이 따로 뜨게 되며 이곳에서 글꼴을 설정해주시면 됩니다.
(아래의 그림은 일어 윈도우에서 실행한 스크린 샷입니다)


한글 폰트를 지원하는 글꼴을 선택해주시면 끝!

Posted by 투명인간취급
,

자막 편집을 하다보면 가끔 다른 언어의 자막파일을 열어야 할 경우가 있습니다.

영어권의 자막파일들은 기본적으로 한글윈도우에서도 잘 출력해주기 때문에 별 문제가 없으나

유니코드가 아닌 경우 Caption Creator 로 열어도 정상적으로 파일을 읽을수 없는 경우가 많습니다.


대표적으로 중국어 자막이 그렇지요 Caption Creator 로 이러한 문제를 만난다면

아래의 화면에 보이는 기록 언어 설정 후 파일을 읽는 과정을 통하여

간단하게 해결이 가능합니다. 다른 언어도 마찬가지고요.

 

물론, 해당 언어의 폰트가 없는 경우에는 어떤 상황에도 정상적으로 출력되지 않으므로 이점은 신경을 써주어야 합니다.




기본 목록에 없는 다른 언어도 지원이 필요한 경우도 있을텐데요

그럴 경우엔 아래의 코드표를 참조하여 코드숫자 값을 입력하시면 됩니다.

 

코드

이름

037 
437 
500 
708 
709 
710 
720 
737 
775 
850 
852 
855 
857 
860 
861 
862 
863 
864 
865 
866 
869 
874 
875 
932 
936 
949 
950 
1026
1200
1250
1251
1252
1253
1254
1255
1256
1257
1361
10000
10001
10006
10007
10029
10079
10081

EBCDIC                            
MS-DOS  United States             
EBCDIC "500V1"                    
Arabic (ASMO 708)                 
Arabic (ASMO 449+, BCON V4)       
Arabic (Transparent Arabic)       
Arabic (Transparent ASMO)         
Greek (formerly 437G)             
Baltic                            
MS-DOS  Multilingual (Latin I)    
MS-DOS  Slavic (Latin II)         
IBM Cyrillic (primarily Russian)  
IBM Turkish                       
MS-DOS  Portuguese                
MS-DOS Icelandic                  
Hebrew                            
MS-DOS Canadian-French            
Arabic                            
MS-DOS Nordic                     
MS-DOS Russian                    
IBM Modern Greek                  
Thai                              
EBCDIC                            
Japan                             
Chinese (PRC, Singapore)          
Korean                            
Chinese (Taiwan, Hong Kong)       
EBCDIC                            
Unicode (BMP of ISO 10646)        
Windows 3.1 Eastern European      
Windows 3.1 Cyrillic              
Windows 3.1 US (ANSI)             
Windows 3.1 Greek                 
Windows 3.1 Turkish               
Hebrew                            
Arabic                            
Baltic                            
Korean (Johab)                    
Macintosh Roman                   
Macintosh Japanese                
Macintosh Greek I                 
Macintosh Cyrillic                
Macintosh Latin 2                 
Macintosh Icelandic               
Macintosh Turkish                 


Posted by 투명인간취급
,

이 기능은 4.0.22 부터 제공됩니다.

이러한 문제가 발생하는 자막의 경우 시작시간을 조정해도 시간이 어긋나고 부분적으로 시간을 조정해도 완전히 어긋나버리는 경우가 많기 때문에 참 난감한 경우가 많은데 Caption Creator를 이용하시면 간단하게 수정할수 있습니다.

 

하지만, 비율수정은 매우 민감한 작업이기 때문에 기능자체는 쉽게 사용이 가능하지만 정밀하게 하지 않는다면 실패할 가능성이 존재합니다.
물론 프레임 레이트를 알면 정확하게 편집하는것이 가능하지만 그렇게 하려면 원본의 프레임 레이트를 알아야 하므로 원본 영상이 없는경우엔 정말 난감하게 됩니다.

좌우간 CC를 이용해서 간단하게 편집해봅시다. 딱 3단계면 됩니다.


1. 먼저 자막의 마지막 싱크의 대사가 실제 영화에서 나오는 시간을 재생을 해가면서 찾습니다. (또는 임의의 대사)

2. 다음으로 싱크 비율 수정 기능을 실행합니다.




아래와 같은 창이 뜨게 됩니다.





화면처럼 특정 싱크를 기준으로 자동 비율 수정을 선택하고

3. 마지막으로 현재 기준에 마지막 싱크를 선택하고 수정할 시간에 1번에서 찾은 실제 대사가 나오는 시간을 입력합니다.

그리고 적용을 누르면 끝납니다. 지극히 간단하지요


주의할점은 실제 대사가 나오는 시간을 가능한한 정확하게 찾아내셔야 한다는 겁니다.
그래야만 오차를 최대한으로 줄일수 있습니다.

+ 참고 블럭이 씌워진 상태에선 블럭안에서만 기능이 동작합니다.


Posted by 투명인간취급
,

Caption Creator 4의 경우에는 홀드 기능이 존재하므로 자막 분할에 대해서는
매우 간편하게 작업이 가능합니다.


가장 많은 대부분의 경우는 한개로 된 자막을 2개로 분할하는 경우이므로 이에 맞추어서 설명을 하도록 하겠습니다.
먼저 순서를 설명하자면

1. 한개로 된 자막을 연다.
2. 첫번째 동영상(앞부분)을 열어서 싱크에 맞춥니다.
3. 어느 부분에서 분할이 되는지를 찾는다. (첫번째 동영상의 자막이 어디서 끝나는지 찾습니다.)
4. 홀드 명령의 "선택된 홀드를 현재 커서 기준으로 2개의 홀드로 분할" 기능을 이용해서 끝나는 부분을 분리합니다.
5. 두번째 동영상을 열어서 분할된 뒷부분 홀드의 싱크를 맞추어 줍니다.
6. 마지막으로 각각의 홀드를 한번씩 선택해서 홀드 명령의 "선택된 홀드를 스크립트로 저장" 해줍니다.

현재 배포되고 있는 4.1버전에서는 기본적으로 홀드보기가 꺼져 있으므로 이러한 작업을 수행하기 위해서는 메뉴에 있는 보기(V) -> 홀드 편집기(H) 를 선택해서 홀드 편집기를 켜주어야 합니다. (홀드 편집기 켜기)




자 그럼 각각의 순서를 자세히 설명해보도록 하겠습니다.

1. 먼저 한개로 된 자막을 엽니다.




2. 다음으로 첫번째 동영상, 즉 앞부분에 해당하는 동영상 파일을 열어주고 열린 파일로 싱크를 맞추어 줍니다.
(싱크 맞추기 참고 : Caption Creator 의 싱크 편집 기능 사용하기)


3. 다음으로 영상의 후반부로 가서 어느부분에서 현재의 자막이 끝나는지를 찾습니다.
(뒷부분을 분할하기 위함입니다 ^^)

끝나는 부분을 찾았다면 해당 부분에 커서를 둡니다
이 때 분할되는 뒷부분에 나올 첫부분에 커서를 두셔야 됩니다. 커서 지점이 분할되는 뒷부분에 포함이 되기 때문입니다.



4. 홀드 명령의 "선택된 홀드를 현재 커서 기준으로 2개의 홀드로 분할" 기능을 이용해서 끝나는 부분을 분리합니다.




이 기능을 이용해서 분할을 해주면 아래와 같이 홀드가 변합니다.



(분할 기능을 사용하면 자동으로 분할된 홀드가 선택됩니다 - 앞부분이 파란색으로 활성화 된것이 선택된 홀드입니다.)

+ 주의 : 홀드 분할시 헤더 관리를 해주지 않으므로 유저가 직접 SMI 헤더를 씌워주셔야 합니다.


5. 두번째 동영상을 열어서 분할된 뒷부분의 홀드를 이 동영상의 싱크에 맞추어 줍니다.
싱크를 맞추는 과정은 2번 과정과 동일합니다.





6. 마지막으로 각각의 홀드를 한번씩 선택해서 홀드 명령의 "선택된 홀드를 스크립트로 저장" 해줍니다.




Posted by 투명인간취급
,

Caption Creator의 주요 전체 싱크 편집 기능은 아래의 버튼으로 제어합니다.
(메뉴를 통하면 더욱 자세한 작업또한 가능합니다!)





먼저 전체적으로 싱크가 맞지 않는 자막을 편집하는 방법을 설명하겠습니다.



1. 먼저 편집할 자막 파일을 열어줍니다.

파일 열기 방법 1. 파일(F) -> 스크립트 파일 열기(O)... -> 파일을 선택
파일 열기 방법 2. 탐색기에서 자막을 선택한뒤 Caption Creator의 편집창에 드래그 엔 드랍 합니다.





파일을 열게되면 위의 이미지 처럼 파일이 열려있게 되지요


2. 다음으로 재생을 하면서 어느정도 싱크가 어긋나고 있는지를 판단합니다.

기본 설정 재생 단축키는 F9 입니다, 다시한번 누르면 일시정지가 됩니다
Caption Creator의 시간 편집 단위는 기본적으로 MS (밀리세컨드) 단위입니다.

때문에 1초가 1000 MS 이므로 0.1초가 어긋난다면 수치조정란에 100 을 적고 + / -  버튼을 눌러 조정을 하면 됩니다.





3. 부분적으로 싱크가 다를 경우엔 싱크가 다른 부분을 블럭으로 선택한뒤

수치조정 기능을 사용합니다.





==========================================================================================================


마지막으로 시작시간 기능입니다.

시작시간 기능은 0.1 버전부터 제공되던 Caption Creator 만의 기능으로

처음 나오는 싱크를 사용자가 정한 시간으로 전체적으로 조정 해줍니다.

그림을 보시는 편이 설명이 빠를듯 합니다.
아래의 이미지를 참고해주세요

기능 사용전






기능 사용후





+ 이 기능도 블럭을 씌워서 사용하실 수 있습니다
+ 메뉴를 통하면 기준점을 변경해서 사용할 수 있습니다.


Posted by 투명인간취급
,