對一個顯示脈絡而言,[gemwin]是一個把柄。這個基本意義是,它提供了一個視窗Gem-window,Gem的場景在此渲染。
為了創造Gem-window,你必須送一個 [create(訊息給 [gemwin] 。取消視窗,只需要送出 [destroy(訊息。
你必須注意的是,即使創造了一個 Gem-window (稱為 Gem),是沒有東西會在這視窗描繪出來。反而,是在一開始它會包含在視窗之後的東西(這通常是相當令人煩躁的)。因此它簡直沒有東西包含在這裡面,甚至都沒有的黑色。
為了在 Gem-window 裡面顯示東西,你必須開啟渲染。簡單的送出一個 [1( 給[gemwin],讓它執行。再一次關閉渲染,只要送出 [0(。
我所想到最簡單的Gem-patch顯示在圖案2。它會顯示一個黑色視窗,因為沒有任何物體增加到這 Gem 場景內。
當有一個Gem-window已經被創造出來,你可以啟動渲染。
如果你要取消正在渲染的Gem-window,渲染會自動關閉。如果你要改變Gem-window的屬性,你可以送出訊息給[gemwin]來修改。例如,你可以改變顯示在視窗最上方橫桿的標題,送出 [title title-symbol( 。
你也可以設定 Gem-window 的尺寸([dimen width height()和位置([offset x y()。要注意的是,在實際創造出Gem-window之前,你必須送出有關於視窗外觀的訊息。你不能重新定義尺寸與移動一個已存在帶有訊息的 Gem-window 。在這裡也需要注意的是,在linux下簡單的使用視窗管理員重新修改 Gem-window 尺寸是不可能的,然而這在 windows 系統是可以的。
如果想要有一個 Gem 的全螢幕輸出,你可以送出 [fullscreen 1( 給它(在創造視窗之前)。注意,因為這會用到所有的螢幕,你也許永久不能再控制你的基本pd,例如你不能再一次關閉 Gem-window (並且離開全螢幕模式)。你可以送出一個 [fullscreen 0( 使全螢幕模式失效。
直到現在,只能一次使用一個 Gem-window (在一個 pd 執行範例的脈絡裡)。你可以放置許多 [gemwin] 物件在你的一個或多個 patch 裡,但是他們全部會影響同一個 Gem-window 。
未來的音樂:規劃支援多個 Gem-window 會在將來的 Gem 版本出現。在你電腦桌面上的視窗將會是不必須的,但是可以是你的顯示卡的電視輸出、IEEE1394-ink或是連接到串流視頻服務器(streaming video server)傳播到網路上。
沒有留言:
張貼留言