puredata + wii

Linux版本

http://kishal**mi.net/cms/taxonomy/term/8
http://www.murb.nl/projects/2007/wiimote/puredata.html
函式庫
http://www.youngmusic.org/wiki/index.php/Wiilib

-------------------------------------------------------

Mac版本

轉換訊號過程:
wiiremote>>>>>>>osculator>>>>>>>osc>>>>>>>puredata
這個方法是透過OSCulator去抓到wiiremote的藍芽信號後轉成 osc (open sound control),最後puredata的dumpOSC物件去取得。
下載OSCulator

* 下載puredata和這個 patch: wii-solo.zip
* 打開 wii osculator patch 並且抓到 wii 手把。
* 打開名稱為wii-solo.pd的 pure data patch。
* 設定puredata的MIDI偏好設定: input from osculator, output to iac (如果必要的話,啟動apple 操作系統的 midi 偏好設定)
* 現在按下 wii 把手上的任何按鍵,當你按下+ 或 – 按鈕的時候, 你應該在puredata patch裡看到活動指示燈。


ps.使用osculator需要購買他的認證,才能有完整得使用,他的價格不貴你可以選擇19到39美金之間的付費,而且他可以用在不同的外接控制器上,轉換成你想要的信號格式,是很值得的好物。

參考資料:
osculator + puredata = useful portable midi controller for ableton live

------------------------------------------------------------------

Windows版本

就目前所知,有兩種方式用wiiremote去控制puredata,

1.使用GlovePie
轉換訊號過程:
wiiremote>>>>>>>GlovePie>>>>>>>osc>>>>>>>puredata
這個方法是透過GlovePie去抓到wiiremote的藍芽信號後轉成 osc (open sound control),最後puredata的dumpOSC物件去取得。

從下面的網址下載檔案,然後依序用GlovePie、puredata各程式來開啟
http://code.google.com/p/**musiccontroller/downloads/list

下載 GlovePie


2.WiiSense

下載 WiiSense

* 把WiiSense.dll放到c\program\pd\extra檔案夾裡
* pc抓到wii藍芽信號後在開啟WiiSense-help.pd


ps.目前遇到的狀況是的pd-extended版本會有問題,請使用pd-vanilla的版本。如果有解決的方式請務必讓我知道。

----------------------------------------------------------------

以上感謝阿達兄的幫忙測試,在此非常感恩。
Read more

李駿在COSCUP介紹Puredata

COSCUP【開源人年會】是台灣關於 open source 的重要會議,一群天才、駭客在這一年一度的盛會分享他們的研究與想法,而李駿身為使用自由軟體進行創作的藝術家也是pd其中的開發者之一,當然是沒有缺席,下面的影片絕對會為pd的愛好者與新手有更有趣深入的介紹。



Read more

Pd-extended 0.41.4 發佈!

趕快下載來玩!!!!!
Read more

圖形化編寫程式語言(Graphical Programming Language)概述

一般來說,程式的編寫都是使用鍵盤敲打文字的方式,輸入訊息,按照各種程式語言的規則,程式設計師使用語言逐漸建構他對軟體的想像。也因為文字介面編寫程式語言的關係,正立下一道深邃的鴻溝在人與電腦程式設計之間,而來自程式語言使用上的艱澀,除非有經過程式訓練和對程式語言熟悉的人,才能對電腦有更多的掌握,不然的話,一般人想對電腦有更多的操作,依然要花時間慢慢建立一種關係,這關係的建立如同在學習外語必然會做的過程,如背單字、學習文法的過程,但是除此之外更重的一點是,在命令列介面的環境編寫程式,它的成就感不容易建立在加上所編寫的程式不容易立即看到結果,造成學習上的緩慢以及最糟糕的情況就是讓學習者終止接觸程式語言。

圖形化編寫程式語言的出現或許正在解決這樣的問題,Max是最早開發出來的圖形化編寫語言,它是在80年代中期的時候由Miller PucketteIRCAM所開發出來的,當時只能使用在麥金塔的系統上,並且由電腦與鋼琴控制聲音的創作,後來在1999年,由Cycling '74發行Max的商業版。而在1996年的時候,Miller Puckette發佈了一個完全重新設計的自由軟體計劃,稱為Pd(全名為"Pure Data" )。

圖形化編寫程式的操作方式是使用盒子與盒子的連接,也就是拉線的方式,將各個功能連繫起來,其中圖形化介面中的物件連接是屬於資料流動(dataflow)的概念,這影響是來自電路圖、管線等。 它的優點是,協助非程式背景的人員順利進行編寫程式的動作,掌握更多的電腦掌控和邏輯、規劃流程的建立,還有容易見到目前編寫程式的狀態等,但最大的益處是幫助學習者易得成就感。而缺點是非線性的編寫程式,比較難瞭解程式是由哪裡開始和哪裡結束和其他參數來自哪裡,這是因為圖形化的關係,容易將程式散落在工作區域裡,也因為如此,如果沒標示好註解去區分的話,創作者以外的人難以理解程式的流動與運作,尤其在大型程式中最為明顯。

從實際使用的過程進一步理解文字、圖形這兩種介面的差異,圖形介面使用的過程如同積木的堆疊,而堆積木的感覺是來自高度的模組化,因為從文字介面的方式來編寫程式建構一種功能的話,必須從最基本的地方開始建立,如變數、迴圈、判斷式的運用,總而言之,就是把你要做的事,從頭到尾在講一遍。但是使用圖形編寫程式語言就不一樣了,它把上述的事建立成功能並且包裝成一個盒子,這也就是所謂的模組化,你要使用它的時候,不用再說一次,只要把盒子呼叫出來,加入你需要用到的參數並且用圖形化拖拉的方法,連接到別的盒子(功能)你就可以建立一個於你自己的程式。

而使用文字編寫程式如同捏黏土,會有這樣的感覺是因為來自對於你必須從新打造你要設計的功能,這也意味著能限制你比較少,你可以完全量身訂做專屬你的程式功能,所以這就是為什麼有黏土與積木的比喻,這對照很確切的描述這兩者的差異。

圖形化編寫程式語言也許可以從圖形使用者介面(Graphical User Interface,簡稱 GUI) 與命令列介面(Command Line Interface,簡寫:CLI)這兩種介面發展脈絡裡得到經驗。從介面的發展看來,早期文字介面的使用會使得一般的使用者產生卻步,讓程式的編寫趨向一種高技術、技巧的狀態,但是在圖形使用介面的開發後,因為使用數位工具的難度下降以及功能圖形化顯示的隱喻,讓使用者直觀使用,降低使用的挫折感,提高親切性,讓更多人不必有深厚的程式設計師訓練,就可以更快更順利的使用電腦。

以自己的本身學習過成為例,為了創作作品中互動技術的解決,由actionscriptjavaprocessingmax/mspvvvv以及最後的自己選擇在puredata這開放軟體工具定下,這一路走來,來自參加北藝大的課程與許多優秀的工作坊所學到與經歷,如李家祥所主持的互動工作坊、中研院的玩趣工作坊、北科大的編曲互動工作坊,這些經驗讓我這非工程師背景的人,由命令列介面到圖形使用者介面的編寫互動程式軟體走了一大圈。結果是我明白編寫程式可以完成你想要做的事,不過文字的方式造就學習的挫折感,圖形介面讓學習容易上手,但是執行效能與創作範圍上的限制,文字編寫介面的執行效能高於圖形編寫,圖形編寫限制高於文字是確實的狀態,端看使用者的衡量。

圖形化編寫程式環境相異:

表格的比較的目的並非比較出哪一種軟體工具是最為優秀,而是在幫助初次接觸以patch為編寫程式的視圖形環境的初學者作為一個簡單的釐清,那一套軟體是最適合自己的需要。個人認為每個工具都有自己的長處與短處,而且最為重要的是,工具的最終目是為了實踐創作者的想法,因此找出符合你的工具就好。

就自己的學習經驗,由短時間初學Max/msp、摸索Vvvv快一年多,到最後選擇在Puredata落腳,看起來似乎花了很多時間在三個相似的工具上,但是在這段旅程中,對我而言,自身瞭解到介面設計的重要性以及每個軟體都有各自的精神與哲學。


參考資料:

DirectX

http://en.wikipedia.org/wiki/DirectX

GEM

http://en.wikipedia.org/wiki/Graphics_Environment_for_Multimedia

openGL

http://en.wikipedia.org/wiki/OpenGL



軟體:

Max/Msp

http://www.cycling74.com/

Puredata

http://puredata.info/

vvvv

http://vvvv.org/tiki-index.php


介面:

命令列介面(Command Line Interface,簡稱CLI

http://en.wikipedia.org/wiki/Command-line_interface

圖形使用者介面(Graphical User Interface,簡稱 GUI

http://en.wikipedia.org/wiki/Graphical_user_interface

視覺化編寫程式語言

http://en.wikipedia.org/wiki/Visual_programming_language

資料流動(Dataflow

http://en.wikipedia.org/wiki/Dataflow

Dataflow programming

http://en.wikipedia.org/wiki/Dataflow_programming

集成開發環境 (Integrated_development_environment

http://en.wikipedia.org/wiki/Integrated_development_environment

Read more

為什麼我要選擇puredata?

剛剛打完李駿的影像控制筆記後,可能自己的熱血又在沸騰,自己也很莫名其妙的想要寫一下自己學習程式的過程以及對於puredata的看法,自己的思緒整理一下

一切要回到最初,自己對於數位創作的接觸應該是從錄像創作的接觸作為一個起點,到後來對錄像創作形式的不滿足,而這開始我對於數位創作中互動性的追尋,當時著眼正在發表的互動數位藝術創作,總是可以發現這些作品會運用到一些電腦程式的參與。為了達到我創作的目的,我開始一路學電腦程式語言,從flashactionscrptprocessing我的初步,但是這第一步搞得我快瘋掉,尤其是自己看書與搜尋網站自學,根本很難理解什麼是變數、迴圈、判斷式等這些專業概念,雖然後來有理解了,不過也繞了一大圈與花了許多錢在買有程式的書籍上。

不過後來在這領域的資料看多了總是會看到更多的可能與出口,因為能解決問題的方法不只一種,後來發現這世界有許多天才在做出很好玩又簡單化的工具,如圖形化編寫程式語言,個人認為是最偉大的發明,如果維大力炸醬麵是窮人的救星(基本上它是啦,幫我省下一筆生活開銷又好吃又便宜),那麼它就是幫助程式語言沒天份的人又想進入數位互動創作的最好朋友,它幫你重建對於電腦程式的信心並且幫助你用圖形的方式去瞭解程式的最基本原則,如邏輯、規劃、變數等。當我知道有這東西后,就開始一段旅程找資源去學這些工具,其實用這種概念開發出來的軟體很多,如Max/mspvvvvPuredata等,這些工具最為數位藝術創作所廣泛使用,在台灣以Max/msp為多數,然後發現台北藝術大學有王福瑞老師在教Max/msp,不過當我知道後好像已經沒有上這樣的課程,但是也知道有另一位魏德樂老師在教vvvv,那時候我就從這邊下手,厚著臉皮請求老師給予旁聽,現在回想起來老師是很好的人,不僅教技術也給予一些數位基礎的知識打好基本功。

這裡插花一下,作一下Max/mspPuredatavvvv3套軟體簡介。前兩者工具都是同一個父親-Miller Puckette所開創,而vvvv Sebastian Oschatz Max Wolf所研發的,都是使用圖形化編寫程式語言與資料流動的操作概念,這裡有幾個些微的差異是Max/msp可以執行在MACWINDOWS平台,但是以我的朋友PUTA(聲響藝術家與台灣著名的失聲祭負責人)的經驗分享,它在MAC的穩定度最好,而且它的視覺介面是三個中最好的和兼具設計感,使用它的介面過程中真的是蠻爽的,那種感覺就像從windows跳到mac的作業系統,而且也是裡面的年長者Vvvv只能在WINDOWS平台上執行,它的專門領域是在視覺表現與互動裝置上,原初是德國一家互動設計公司MESO內部自己專用的開發程式,可以在國外一些互動建築、裝置和表演看到它的出現。但後來不知道為何開放出來為半自由軟體(也就是說你可以自由使用,但是要作為商業用途你必須付費),台灣玩Vvvv玩的最猛的是丙哥-廖克楠(他是很厲害的藝術家,說他撐起最近幾年的台灣數位藝術後面的技術部份半邊天,對於熟悉這領域的人,我想是沒有人有異議的)。Puredata則是Miller PucketteMax/msp開發公司回到學術界之後的作品,然後把它的程式碼完全開放,一個自由軟體(floss)並且可在各個作業平台上執行,連你手上的ipodiphone也可以,當然它在Linux的版本的支援度是最好的。它原本只是處理聲音的部份,後來很多駭客、程式設計師幫它另外在寫了處理其他領域的擴充(external),如專門處理圖形GEM。所以他不僅可以處理聲音也可以做好影像與互動裝置的部份,總之這個軟體工具基本上都可以處理到上述所提到的創作範圍以及各自有擅長的地方,只是端看你要做什麼創作目的最為順手,選擇跟你最有緣份與好學上手的版本就好。

其實對我而言,在圖形化編寫程式語言的軟體學習,我也是照著Max/mspvvvvPuredata一路學下來,最早印了2大本的中文說明手冊(由聲響藝術家李岳凌所翻譯的,有興趣可到M之道看看)來看,Max/msp還是一直學不上手,在學vvvv的時候就很快,當時有好老師在帶與課堂上的討論是很大的原因,這一點相當重要,有朋友可以一起分享討論會讓學習的曲線成倍數成長。好玩的是,當時學vvvv的時候就大概知道Puredata的存在,可是它的使用者介面實在簡潔到我不想去瞭解它(可見我是外貿協會的),不過到了2008年時,我參加了玩趣工作坊遇到了李駿老師,才讓我瞭解Puredata更深層的紋理。

於是我又走了一大圈軟體學習後,但為什麼最後決定選擇Puredata作為自身的創作工具,這個選擇的原因是來自於工具它本身的自由開放性以及軟體是藉由社群的自發性與熱血力量去成就,因為我深深的相信內心的熱情去作一件事跟為了工作去作事,這兩者的出發點是有很大的差異,尤其這點差異讓自由軟體比商業軟體更加擁有即時性、更為豐沛的多樣性(許多外掛)與貼近使用者的特性,不斷的修正符合使用的需求(這也是缺點造成自由軟體的些許不穩定,但任何事都有兩面性)。在加上現在的自由軟體逐漸成熟,自己基於一些原因也想慢慢將數位工具、平台轉換成Linux的版本(原因是錢的因素以及不想一直被資本所控制…)。另外有時候人所創造的媒體工具也會反過來改變自身對各種事物的態度,從李駿於Puredata的實踐和創作,我看到駭客(這裡指的是正面意義,致力於自由軟體的開發和分享,而非數位資訊的破壞)與藝術家的跨領域緊密結合實證,而且對於他自己所學所知的數位技術部份樂於分享,也專注在以自由軟體的數位媒體為主要工具進行創作,如聲響創作與互動裝置。

而透過李駿所介紹的puredata,這軟體對我不僅僅是工具而已,而是一道大門,你可以想像駭客任務第一集的影片快結束的時候,Neo的覺醒成為救世主,對於母體世界有全新的體驗。而這扇門的開啟對我而言也是如此,雖然沒辦法讓人變成救世主,但讓我得以窺看Gun/Linux、自由軟體、開放程式碼和創用cc等的精神與概念,這些如何影響與發展數位科技的可能,以及最重要的是與藝術創作的緊密相連。回到對於數位工具學習的過程而言,程式碼的開放與否確實佔得很重要的位置,這個決定讓學習者可以看到前人所走過的痕跡,或是常見的說法,就是站在巨人的肩上看到世界,因為程式如同一個語言,有其世界觀和規則,編寫程式如同文字的描述在說明一些事物,你得從前人的經驗裡學會如何去使用這些言語。但是最終的差異在於在程式的範疇裡,當商業應用程式的出現就意味著產生本身的不透明性,你只能見其外觀不能知曉其結構,但對於從數位藝術創作的人而言,這樣不透明的結果是無助於數位創作與學習,更糟糕的是會造成對於商業軟體的依賴。其實數位創作與從事其它種類創作材料的創作的過程是沒有太多差異,就是我們都得真誠的面對我們所選擇的素材本身,經過人與材料的互動、時間堆積。就像繪畫創作者要知曉繪畫材料,雕碩創作者要熟悉金屬與石材,不可避免的數位創作者也勢必要面對數位材料的本質-code

一旦程式碼選擇了開放性就會呈現一種透明的質地,這會讓從事數位創作的人有一個很好的切入點,可以去瞭解作品是如何做的以及近一步用修改前人的創作程式碼作為學習的途徑,這動作如同過往的畫家臨摹經典畫作,藉此從中學到技巧瞭解到前人的創作哲學。回到創作實做面的例子來說,如果有長期在觀察數位互動的作品,應該會發現近幾年的作品技術層面的共通現象,就是在使用軟體方面大多都用directorflashjavaprocessingopenframworksmax/mspvvvvpuredata,而在硬體方面則為arduinowiring等,一個好玩的事實是這裡有八成都是自由軟體與開放程式碼。然而會有這樣的狀況產生,個人認為實在是這些軟體工具採取了自由與開放的態度決定,造成數位藝術創作者與學生可以以便宜的價格(甚至免費)與快速接觸到程式碼以及程式去解讀並且學習,來提昇作品的實踐可能性。另外更為現實的問題是,一旦學生離開了學校就會失去豐沛的資源,試想買一套動輒數萬元的軟體,對數位創作者而言是一筆不少的數目,現在可以試者計算當你買下一套硬體以及著名商業軟體windows ADOBE的全套正版你必須花多少錢,然後在想想要合法從事這一方面的創作是多麼嚴苛。

當我摸索puredata至今,我深刻的瞭解到數位工具之於創作者的關係,我們越是常使用,跟軟體的互動會更加緊密與產生更多的依賴。但是使用的對象是商業軟體這就會有點糟糕,因為跟商業軟體的合作會是一種慢性監控,你的作為是一種在為商業軟體公司下工作的狀態,而不是為了你自己的創作而工作。當看到剛剛那段話我在想應該大多數人是沒有任何感覺,因為私底下大都在使用〝我要成為海賊王專用版〞(你應該懂我的意思),但是有一天商業公司可以全面掌控你的軟體使用權的時候,哪你該怎麼辦。另外推薦投入自由軟體的使用,必須誠實的說是為了錢、法律、道德和對自己的工具更多的自主性這幾個部份的考量,因為自由軟體的透明化,你可以知道這些工具在你電腦做了哪些事,和你可以明確的要求電腦為你哪些事以及你可以將金錢的付出降至最低,當然這世上沒有白吃的午餐,你還是得付出你的時間與耐心去瞭解你的工具,最後你會發現這些付出是有益的。上述的這些好像跟我為什麼要選擇puredat這題目有點離題,但是puredat也是眾多的自由軟體其中之一,它的出現證明自由軟體的的成熟度不亞於商業軟體和也體現了社群開發工具的力量。而這些都是自由軟體與開放程式碼的概念與精神所帶來的影響與好處,讓從事數位工作的人是數位藝術創作者而不是軟體公司下的員工。


Read more

影片控制課程筆記

目錄-
前言
基本
建立顯示器
播放核心器核心
播放
________________________________________
前言
該篇筆記是於李駿(Lee Chun)在課堂上教學生如何使用pd從無到有,去建立一個可以完全控制各參數與播放的影片播放器,並且了解pd在建立與執行的過程中,明白pd的幾個基礎概念。
________________________________________
基本
在建立patch前,要先理解這個程式的執行邏輯,並且找出建立影片控制所需要的構成要素:
1.影片
2.顯示器
3.播放器

準備影片
準備用來播放的影片,它的檔案格式盡量是AVI、MOV(你的電腦內需要裝好QUICKTIME),雖然pd對於播放的格式的支援與否,理論上是依賴於你的系統所安裝的播放程式與編解碼器支援,但是最好以這兩種為主。
________________________________________
建立顯示器
在這部份,設定顯示器所需的物件與訊息
[gemwin]、[create(、[destroy(、[1(、[0(
[gemhead]、[pix_textecture]、[rectangle]
然後完成跟圖示1一樣的連結,而物件是用來接收影片並顯示在矩形上,這之後會用到,在此先準備好。點擊[create(會跳出一個視窗然後在按下[1(會在視窗內渲染出現一個矩形。關掉視窗則是按下[destroy(,按下[0(取消渲染矩形。
圖示1:顯示器

建立播放器核心
在建立播放器核心前,先思考一般影片是怎麼如何動起來。其實影片是包含多個靜態的圖片然後逐一移動,最後使視覺暫留造成運動的感官知覺。為了建立這個運動機制,我們必須製造一個自動增加數字的計算器去推動圖片,達到影片播放的目的。
在此,我們在patch裡需要幾個物件:
1.[metro]
2[+]
3.[float]
4.[print]
5. [O]
6. [ ]
圖示2:基本元素
按照圖示1將這些盒子連接起來,完成後每當你點一次[bang]後,你會注意到數字盒子內的數字會增加一次。在這部份,一定會有疑問這到底是為什麼流動的,在下面的圖示將會解釋這個過程,而這也是puredata最重要的概念-Data Flow(資料流動)
圖示3:資料流動圖解
1.點擊[O]後,會要[flost ]送出一個數字(此時它是0)。
2.接著給予 [+ 1]的左邊輸入,(在這裡進行數學運算,0+1=1)送出一個數字1。
3.再來這1送到[print],你會在pd 視窗看到一行文字print: 1,和送到 [float]的右手邊將1暫存在裡面。
之後再點擊[O]時,1到3的步驟會在作一次,數字會在累加造成數字遞增。

每當你按一下時,這流程就會在走一遍,依序將數字累加,此時我們已經完成一個簡單手動的遞增計算器。但是這裡有一個小麻煩,我們不可能一直按著滑鼠點擊[O]去產生數字遞增,我們必須在加上尚未用到的[metro],這個物件具有自動點擊的功能,並且在此你可以手動調整頻率,我們在metro 字後面空一格加上參數500。將[ ]左下角連到[metro 500] 的左上角,並且[metro]的左下角連至[flost ]的左上角,當這些動作完成後,最後滑鼠點擊[ ],你會看到pd視窗的數字逐漸增加。
圖示4:自動化點擊

再來的問題是我們要如何讓計算器重新計算,讓影片重播。而這會有用到一個簡單的數學手法,就是利用除法去取得餘數,這原理是當數字不停的增加時,藉由另一數字同時相除,你取得的餘數會變成在一定的範圍增加並且回覆到1。我們加上一個[%]物件,並且在盒子裡的%後面空一格加上一個參數30,變成[% 30]。將[flost ]的左下角連到[% 30]的左上角,再將[% 30]的 左下角連到[print]。最後點擊,你會看到pd視窗的數字有個循環重複出現。
圖示5:數字重複

然後要如何讓數字遞減,造成影片倒著播放,這裡也是用數學運算的方式去達到這個目的。在patch裡放入[-]物件,隨後在盒子內部將參數定為30(這裡的參數是延續上一個重複patch的設定)變成[- 30]。將[% 30]的左下角連到[- 30]的左上角,再將[- 30]的左下角連到[print],最後點擊,你會看到pd視窗的數字有個循環重複的結果。但是有沒注意到一個細節,那就是出來的數字都是負的,為了解決這個小問題,我們必須在加上一個[abs]物件,去接收送過來的數值轉化成絕對值,在送入pd視窗,最後你就可以看到是以正數在進行倒數循環。
圖示6:數字倒數
________________________________________
播放
進行到此也意謂著我門已經完成了很多工作,再來的工作就是將播放器核心與顯示器,這2個模組連接起來。這裡我們要在用上一個物件[pix_film],它的功能是用來開啟電影檔案並且播放,並且在gem視窗內實行。把[gemhead ]連接給[pix_film],在將連接給[pix_textecture],但是我們還沒給予開啟檔案的機制,在此放入[O]、[openpanel]物件與[open $1(訊息,將它們依序連接起來,並且連到[pix_film],這時候我們可以點擊[O]開啟並且指定我們要播放的影片,影片開啟後,它會載入到[pix_textecture]送給[ ],在gem視窗你會看到影片的第一個畫面。
圖示7:影片載入

接下來是最重要的部份,因為這裡是要接上播放器核心、[pix_textecture]與播放器模組。首先把[+ 1]左下角連接至[pix_film]物件的右上角,然後打開[O],你會發現GEM視窗的影片正在播放,但是以極快的速度在進行,這是因為我們當初的設為500,這表示每500毫秒就送出一個訊號,所以才會播放速度變快。然而要調回正常的速度,要回想一下關於影片的基本知識,就是影片一秒是多少影格,這樣我們才能進行下個步驟。通常影格一秒為25格,所以原本參數500,要修正為40,在開啟一次,你會發現影片以正常播放。

圖示8:正常播放

還記得之前我們在建立播放器核心的循環與倒轉,現在我們要將這功能派上用場,在此先取消[+ 1]與[pix_film]物件連接,改成[% 30]左下角連至[pix_film],但是開啟後,依然有播放的時間問題,經過上面的第一個播放問題解決,想必你知道問題出在參數設定,因為數字30小於你要播放的總影格數,所以當一播放時就只會播30格影格後就會再來一次,所以我們的解決之道就是找出我們要播的影片總長度值,並把這值取代30。這裡我們需要[unpack]並且在裡面設3個0變為[unpack 0 0 0],你會發現到物件的底部多了三個小方塊,將這一些小方塊連到各自的數字盒子,這三個盒子以需代表的是總影格數、影片的寬度與影片的高度,所以現在我們已經取得總影格數,隨後將這數字盒子連至[%],[%]就會用總影格數去進行除法取餘數,然後影片就會循環重播。
圖示9:循環播放

而倒轉影片的能力,也是依照上述相同的作法,你會發現之前的播放器核心建立是值的。在此先將[%]輸出到[pix_film]的連接取消,將[abs]左下角連到[pix_film],可是仍然有播放的問題,這是因為[-]物件的參數設為30,因此在播放時會只會倒數30格然後再來一次,到此你一定知道只要將總影格數去取代30,一切會變成如我們所預期的,再次播放影片,你會看倒好的結果。
圖示10:影片倒播
Read more