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





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





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

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 투명인간취급
,