본문 바로가기

만들기 / Programming/MAXMSP,Jitter

오브젝트(Objects)

패쳐창에서 새 오브젝트 만들기


오브젝트 팔레트(Object Palette)

안 잠긴 상태의 패쳐창에서, 오브젝트 팔레트는 창의 맨 위쪽에 나타납니다. 패쳐창에서 새 오브젝트를 만들려면, 오브젝트 팔레트에서 원하는 아이콘을 클릭하기만 하면 됩니다(그러면 커서가 클릭한 아이콘 모양으로 바뀝니다). 그리고 나서 오브젝트를 원하는 위치에 갖다 놓고 클릭하면 됩니다.

패쳐창이 팔레트에 있는 아이콘 넓이 보다 작으면, 팔레트에서 제일 오른쪽에 있는 칸이 화살표 표시로 바뀝니다. 그 화살표에 마우스를 갖다 놓고 누르면, 팝업 메뉴의 형태로 나머지 오브젝트 팔레트의 내용이 나타납니다. 팝업 메뉴에 나타난 목록들은 윈도우에서는 글자로, 맥킨토시에서는 아이콘으로 표시됩니다. 원하는 오브젝트를 메뉴에서 고르세요. 팔레트 위에서 다른 오브젝트로 마우스를 옮기면, 그 오브젝트에 대한 설명이 도움말 칸(Assistance area)에 표시된다는 것을 알아두세요.

만약 실수로 다른 오브젝트를 선택했을 때는, 팔레트의 제일 왼쪽에 있는 빈 여백에다 클릭하거나, 딜리트(백스페이스) 키를 누르면 취소할 수 있습니다.

오브젝트 박스(Object Box)

맥킨토시에서는 패쳐창 내에서 오브젝트 위에 컨트롤과 옵션 키를 누르거나, 윈도우에서는 오브젝트 위에 알트-오른쪽 버튼을 클릭하면, 그 오브젝트에 입력된 메시지에 대한 빠른 참조 목록이 나타납니다.

만약 어떤 메시지가 부가적으로 변수를 필요로 한다면, 그 메시지 뒤의 괄호 안에 변수의 종류가 표시됩니다. 어떤 메시지에는 맥스 프로그램 내부의 전문 용어가 쓰일 수도 있습니다. 예를 들면 in1 이라고 표시된 것은 제일 왼쪽 인렛의 첫번째 오른쪽 인렛에 인터거(int) 메시지를 말하는 것입니다. 게다가 빠른 참조 메시지 목록에 있는 어떤 메시지는, 여러분이 직접 패치를 통해서 오브젝트로 보내야 하는 메시지가 아니라, 맥스 프로그램 내부에서 오브젝트로 보내는 메시지가 표시되기도 합니다. 만약 어떤 메시지가 빠른 참조 메시지 목록에는 있는데 문서에는 나타나지 않는다면, 그것에 대해 크게 걱정할 필요는 없습니다.


새 오브젝트 목록(New Object List)

오브젝트 박스 안에 써넣어야 할 이름이 너무 많기 때문에, 이런 이름들을 기억하기 위해 약간의 도움이 필요할 것입니다. 옵션 메뉴에서 새 오브젝트 목록(New Object List)을 선택하면, 패쳐창에서 새 오브젝트 박스를 만들려고 할 때마다, 사용 가능한 모든 오브젝트의 이름을 완벽하게 열거해줍니다.


새 오브젝트 목록창(New Object List window)

새 오브젝트 목록 창에는 칸이 두 개 있습니다. 왼쪽 칸은 오브젝트의 카테고리를 열거해 놓은 것이고, 오른쪽 칸에는 선택된 카테고리에서의 오브젝트 이름이 표시되어 있습니다. 모든 오브젝트(All Objects) 카테고리에는 맥스 프로그램이 인지하고 있는 모든 오브젝트의 이름이 들어있습니다.

오브젝트 이름을 찾으려면, 목록을 쭉 훑어본 다음, 원하는 오브젝트 이름의 처음 몇 글자를 써 넣거나, 맥킨토시 키보드에서 위 아래 화살표를 사용하세요.

목록 중에서 오브젝트 이름을 선택하고 그것을 오브젝트 박스 안에 놓으려면, 그 이름 위에다가 더블 클릭을 하거나, 리턴, 엔터, 스페이스 키를 누르면 밝게 표시된 이름이 선택됩니다. 오브젝트 이름을 선택하고 나면, 새 오브젝트 목록은 사라집니다. 오브젝트 박스 안에 삽입된 이름 뒤에 깜박이는 점이 있는데, 여기에 필요하다면 변수를 써넣을 수가 있습니다. 마지막으로 오브젝트 박스 바깥 아무데에다 클릭을 하거나, 맥킨토시에서는 엔터 키를, 윈도우에서는 시프트-엔터를 누르면, 새 오브젝트가 만들어집니다.

새 오브젝트 목록창이 열려 있을 때, 맥킨토시에서는 옵션 키를, 윈도우에서는 알트 키를 누르고 더블 클릭을 하거나, 리턴, 엔터, 스페이스 키를 누르면, 선택된 오브젝트 이름에 대한 도움말을 얻을 수가 있습니다.

만약 오브젝트 이름을 직접 써 넣기 위해서 새 오브젝트 목록을 사라지게 하고싶다면, 딜리트(백 스페이스) 키를 누르거나, 새 오브젝트 목록창 바깥 아무데에나 클릭하세요. 그러면 삽입 커서는 다시 오브젝트 박스 안으로 돌아가서 깜박거릴 것입니다.  새 오브젝트 목록을 보지 않고 새 오브젝트를 만들고 싶다면, 패쳐창 안에 오브젝트 박스를 갖다 놓고, 맥킨토시에서 옵션 키를, 윈도우에서 알트 키를 누르거나, 옵션 메뉴에서 새 오브젝트 목록(New Object List)을 선택한 상태를 취소하세요.

맥스 새 오브젝트 목록(Max New Object List)

맥스 새 오브젝트 목록은 새 오브젝트 박스를 만들려고 할 때마다, 사용 가능한 모든 오브젝트의 목록을 보여줍니다. 자주 쓰는 오브젝트라면 직접 이름을 추가해서 새 오브젝트 목록에 나타나게 할 수 있습니다. 여러분이 직접 추가한 오브젝트는 외부 오브젝트로 나타나거나, 여러 분이 직접 맥스 문서로 만들고 저장해서 당신 자신의 패치로 사용할 수 있습니다. 아니면 여러분이 직접 오브젝트나 패치의 카테고리를 만들 수도 있습니다.
맥스 새 오브젝트 목록에 오브젝트를 추가하려면, 맥킨토시에서는 /Library/Application Support/Cycling '74 폴더에, 윈도우에서는 C:Program FilesCommon FilesCycling '74 폴더에 들어있는 init 폴더의 텍스트 파일로 편집하면 됩니다. 이 파일에는 원래 프로그램 안에 원래 들어있던, 맥스 프로그램 내부에서 사용되는 메시지의 목록이 들어있습니다. 새 오브젝트 목록에 이미 사용되는 표준적인 카테고리를 보고싶다면, “max-objectlist.txt” 파일(여기에는 표준적인 맥스 오브젝트가 들어있습니다)이나, “audio-objectlist.txt” 파일(여기에는 표준적인 MSP 오브젝트가 들어있습니다)을 보면 됩니다.
혹은 여러분 자신의 새 카테고리와 오브젝트 목록을 포함하는 텍스트 파일을 직접 만들 수도 있습니다. init 폴더에서 원하는 만큼 텍스트 파일을 만들 수 있습니다.

새 오브젝트 목록에 로딩된 텍스트 파일의 기재 사항은 다음과 같이 표시됩니다 :
max oblist ;

만약 카테고리(혹은 오브젝트)의 이름에 띄어쓰기나 다른 특수 문자가 들어있으면, 그런 이름은 반드시 따옴표를 써서 표시해 주어야 합니다 :
max oblist “My Special Objects” mixmaster;

만약 새 오브젝트 목록에 추가하려고 하는 오브젝트가 윈도우에서만 혹은 맥킨토시에서만 사용가능한 것이라면, “max”라는 단어 뒤에 add system windows 혹은, system macintosh 라고 덧붙이면 됩니다. 이렇게 하면 각 운영 체제에서 같은 오브젝트 목록 파일을 사용할 수 있습니다. 그리고 당신이 맥스 프로그램을 돌리고 있는 운영 체제에서 사용 가능한 오브젝트만을 볼 수 있습니다.  
max system windows oblist “Secret Weapons” cantileverxp.ext

맥스 오브젝트 목록 파일을 편집하고 난 후에, 새 오브젝트 목록 창이 바뀌기 전에 맥스 프로그램을 다시 시작해야 합니다.

카테고리 이름을 정하는 데 제한은 없습니다. 그러나 오브젝트 이름 안에 쉼표(콤마)나 세미콜론(;)이 포함되어 있으면, 적절한 오브젝트를 만들 수가 없습니다. 변수를 추가하고 싶을 때는 오브젝트 이름 뒤에 써 넣을 수 있습니다.

직접 카테고리를 추가하는 것은 당신이 자주 사용하는 오브젝트 이름을 제공하므로 편리합니다. 모든 카테고리를 보려면, 새 오브젝트 목록창의 맨 아래 오른쪽 모서리에 있는 크기 상자를 이용해서 창의 크기를 넓게 하면 됩니다. 조절된 창의 크기는 다음에 오브젝트 박스를 만들 때 설정으로 저장됩니다. 그리고 다음에 맥스 프로그램을 열었을 때에도 사용됩니다.

외부 오브젝트(Externals)


맥스의 능력을 확장시키기

맥스 오브젝트의 두 가지 종류(Two Kinds of Max Objects)

이 매뉴얼을 읽다 보면 곳곳에서 내부 오브젝트와 외부 오브젝트에 대해서 말하고 있는 것을 볼 수가 있습니다. 이 두 오브젝트의 차이는 사소한 것이지만 중요합니다. 내부 오브젝트는 맥스 프로그램의 한 부분입니다.

외부 오브젝트는 맥스 환경에 연결될 수 있는 C 언어로 되어있는 개별적인 파일입니다. 이런 식의 파일은 원래 맥스 안에 들어있던 오브젝트와 크게 다를 바가 없습니다. 그래서 이 매뉴얼에서는 어떤 특정한 오브젝트가 내부 오브젝트인지 외부 오브젝트인지 특별히 언급하지 않고 설명했습니다.

덧붙여서 맥스 오브젝트에는 두 가지 종류가 있습니다.

•    표준 오브젝트(normal objects) — 패쳐창에서 이름과 특수 문자를 포함한 오브젝트 박스로 표시되는 맥스 오브젝트입니다. (예를 들면 borax, && )

•    사용자 인터페이스 오브젝트 (user interface objects) — 패쳐창 팔레트에서 아이콘으로 표시되는 맥스 오브젝트입니다. 이 오브젝트는 패쳐창에서 구별하기 쉬운 그림으로 표시됩니다.

외부의 사용자 인터페이스 오브젝트는 맥스 시작하기(max-startup) 폴더 안에 들어있어야만 합니다. 그래야 작업을 시작할 때부터 팔레트에서 사용자 인터페이스 오브젝트의 아이콘을 사용할 수 있습니다. 표준 외부 오브젝트는 맥스 검색 경로의 다른 폴더에 위치를 지정할 수 있습니다. 그리고 필요할 때 가져다 쓸 수 있습니다.

표준 외부 오브젝트는 미디 하드웨어 장치가 아닌 다른 종류의 장치에 접근할 수 있도록 해줍니다. 그리고 맥스 오브젝트의 기본적인 묶음(예를 들어 집합(coll) 오브젝트는 숫자나 상징으로 표시된 임의의 목록 구조의 저장과 검색을 할 수가 있습니다)에는 없는 능력이 있습니다. 외부 사용자 인터페이스 오브젝트는 키보드 슬라이더 kslider와 같이 패처창 내에서 관용적인 인터페이스를 건설하는데 중요합니다.

문서를 가져오려면 외부 오브젝트 파일이 어디에 있는지 찾을 수가 있어야 합니다. 외부 오브젝트의 위치가 지정되어있지 않으면, 맥스창에서 다음과 같은 오류 메시지가 뜨는 것을 볼 수 있을 것입니다.

• error: objectname: no such object(오류: 오브젝트 이름 : 해당 오브젝트 없음)

로딩한 패쳐창에서 사용자 인터페이스 오브젝트가 아닌 경우라면, 박스 안에 오브젝트의 이름이 쓰여 있는, 위 아래에 회색 선이 그려져 있는(인렛과 아웃렛이 없는) 오브젝트 박스를 볼 수 있을 것입니다.

만약에 위치를 찾을 수 없는 사용자 인터페이스 오브젝트를 포함하는 패치를 불러왔다면, 괄호 안에 오브젝트의 이름이 들어있는, 회색 선으로 그려진 박스 하나를 보게 될 것입니다.

외부 사용자 인터페이스 오브젝트를 찾을 수 없다는 내용의 표시가 있는 패치를 불러왔는데, 그 패치가 열려져 있는 상태라면 그 패치의 경로가 완전 꼬여버릴 것입니다. 위치를 찾을 수 없거나, 삽입된 preset 오브젝트가 들어있는 사용자 인터페이스 오브젝트를 찾아서 불러오려 한다면, 맥스 창에는 에러 메시지가 계속해서 길게 뜨게 될 수도 있습니다.

맥스에서 외부 오브젝트를 자동으로 찾기 위해서는, 오브젝트가 파일 선택창(File Preferences window)의 폴더 안에 있어야만 합니다. 폴더를 추가하려면 옵션 메뉴에서 파일 선택…(File Preferences...)을 선택하면 됩니다.

설치하려고 하는 외부 오브젝트 파일의 위치를 지정하기 위해서는, 원하는 외부 오브젝트에 더블 클릭하거나, 파일 메뉴에서 설치…(Install…)를 선택하거나, 보통의 파일 열기(Open File) 대화상자를 사용하면, 여러분이 직접 외부 오브젝트를 맥스 환경으로 불러올 수가 있습니다.

어떤 외부 오브젝트가 만들고 있는 중이라면, 그 외부 오브젝트의 수정된 결과물을 목록에 더하기 위해서 설치…(Install…)를 사용할 수가 없습니다ㅡ맥스는 프로그램을 새로 시작하기 전까지는 원래의 오브젝트를 계속 사용할 것입니다.

만약 어떤 외부 오브젝트 이름이 언급될 때마다 (그 오브젝트를 사용하는 맥스 문서를 로딩하거나, 그 오브젝트의 이름을 오브젝트 박스 안에 써 넣음으로써) 자동으로 로딩되기를 원한다면, 그 외부 오브젝트의 파일 이름은 반드시 그 오브젝트의 이름과 같아야만 합니다. 오브젝트의 이름이 파일 안에 들어있는 재료에서 나온 것일 지라도 말입니다.

오브젝트 지도(Object Mappings)

어떤 Max/MSP 오브젝트에는, 특정한 OS 파일 시스템 안에서, 저장되어 있거나 다른 뜻을 지니는 특수 문자가 들어있는 경우가 있습니다. 이런 맥스 오브젝트는, 오브젝트 박스 안에 실제로 써넣는 오브젝트의 이름과는 다른 파일 이름을 가지고 있습니다. 예를 들어 !/ 오브젝트라고 쓰는 외부 파일 이름은 실제로는 rdiv. 입니다. 오브젝트 박스에다 !/ 라고 쓰면, 맥스 프로그램은 맥스 오브젝트 지도(max-objectmappings.txt) 라는 텍스트 파일을 사용합니다. 이 텍스트 파일은 당신이 써넣은 외부 오브젝트의 이름을 연결해서 맥스를 시작할 때 로딩됩니다. 맥스 오브젝트 지도max-objectmappings.txt 에는 파일 지도에 대한 완전한 목록이 들어있습니다. 이것과 다른 오브젝트 지도 파일은, 맥킨토시에서는 /Library/Application Support/Cycling ’74/init 에서, 윈도우에서는 C:Program FilesCommon FilesCycling ’74init 에서 찾아볼 수 있습니다.

외부 오브젝트와 집단 파일(External Objects and Collectives)

집단 파일을 만들려면, 파일 메뉴 중에서 집단 파일로 저장하기…(Save As Collective…)를 선택하면, 패치와 모든 하위패처 파일과 사용된 외부 오브젝트 모두를 포함하는 파일을 만들 수 있습니다. 어떤 경우에는 모든 외부 오브젝트가 포함되지 않을 수도 있습니다. 그리고 집단 파일을 로딩할 때 “해당 오브젝트 없음(no such object)” 이라는 오류 메시지가 뜨는 것을 볼 수 있을 것입니다. 이것은 당신의 외부 오브젝트를 포함하는 표준적인 검색 경로가 지정되지 않았다는 의미입니다.ㅡ 예를 들면, pcontrol 오브젝트와 함께 로딩된 다른 패쳐 파일을 사용하는 패치는, 패쳐 키워드를 사용하는 집단 파일 이름에 명백하게 포함되어 있는 파일을 필요로 할 것입니다. 집단 파일 만들기에 대해서 더 자세하게 알고 싶으시다면, 맥스 사용 지침과 주제별 지침의 집단 파일 (Collectives) 장을 살펴보세요.

외부 오브젝트를 로딩할 때의 오류(Errors When Loading External Objects)

외부 오브젝트를 불러올 때 오류가 있으면, 프로그램은 오브젝트를 찾을 수 없을 때와 같은 방식의 반응을 보입니다. 오브젝트의 이름이 (표준 오브젝트일 경우) 위 아래에 회색 선이 그려진 오브젝트 박스가 나타납니다. 아니면 (사용자 인터페이스 오브젝트의 경우) 괄호 안에 회색의 직사각형 안에 이름이 써져 있을 것입니다.
어떤 외부 오브젝트는 부가적인 소프트웨어를 필요로 할 수도 있습니다. 예를 들어 MSP 외부 오브젝트는 맥스 오디오 라이브러리(MaxAudioLib) 라는 소프트웨어를 필요로 합니다(맥킨토시에서 이 소프트웨어는 Max/MSP 와 Max/MSP Runtime 이라는 프로그램에 들어있습니다). 맥스창에서 다음과 같은 오류 메시지가 뜬다면

•   error: can’t fragload objectname: missing LibraryName (function name)
오류: 오브젝트 이름을 찾을 수 없음: 라이브러리 이름을 찾을 수 없음

외부 오브젝트를 사용하기 위해서 특정한 라이브러리를 구하거나 실행시킬 필요가 있습니다. 이렇게 하는 것은 항상 직선적인 일련의 과정인 것은 아닙니다. 어떤 라이브러리는, Cycling '74's Jitter library와 같은 특정한 맥스 응용 프로그램 폴더 안에 갖다 놓아야만 합니다. 반면 다른 라이브러리는 Apple's QuickTime libraries와 같은 OS 안에 소프트웨어를 설치할 것을 필요로 할 것입니다. 어떻게 해야 할 지 의심스럽다면, 외부 오브젝트에 대한 도움말을 찾아보세요.

제 삼의 외부 오브젝트(External Objects from Third Parties)

맥스 프로그램 자체에서 제공되는 오브젝트 외에, 제 삼의 개발자에 의해 이용 가능한 수백 개의 외부 오브젝트가 있습니다. 어떤 것은 판매용 패키지에 포함되어 있지만, 대부분은 비(非)상업용 프로그램을 포함해서 무료로 이용할 수가 있습니다. 오브젝트 중에는 무작위 번호 추출 같은 것에서부터 비디오 동작 인지와 같은 것에 까지 흥미로운 것들이 많이 있습니다. 저의 회사는 외부 오브젝트 소스를 공유하는 웹 페이지를 운영하고 있습니다.

http://www.cycling74.com/community/.

주의 : 이런 제 삼의 외부 오브젝트를 사용하는, 집단 파일이나 맥스로 만든 프로그램을 배포하기 전에는 반드시 그것을 배포해도 되는지를 확인해야만 합니다. 만약 허가가 없다면, 원작자에게 물어보시기를 권합니다. GPL(GNU Public License)하에서 배포된 맥스 오브젝트는 상업용 소프트웨어에 포함되지 않습니다.

제 삼의 오브젝트를 사용하면서 문제가 있을 때는, 그 오브젝트의 원작자와 연락하셔야 합니다. 저희 Cycling ’74사는 외부 오브젝트를 만드는 개발자들을 돕기 위해 노력하지만, 개발자에 대한 지원을 제공하지는 않습니다.

'만들기 / Programming > MAXMSP,Jitter' 카테고리의 다른 글

미디(MIDI)  (0) 2008.10.04
단축키(Shortcuts)  (0) 2008.10.04
메뉴  (0) 2008.10.04
맥스 문서(Max Documents)  (0) 2008.10.04
창(Windows)  (0) 2008.10.04