Baliに行ってきた

強行的に休暇をとってバリに行って来た。

コースは、
クタ(半日)→ウブド(2日)→シドゥメン(1日)→レンボガン(2日)→サヌール&デンパサール(1日)→乗り継ぎでシンガポール(半日)
レンボガンはココ数年でどんどん観光地化されてきていて、物価も上がってきていて、欧米化が進んでいて、居心地が以前より若干悪くなった。いい島だけど。
シドゥメンはウブドから1時間くらいでいける小さな村。落ち着いていて観光客も少なくリラックスできた。あんまり流行ってほしくない。

ちょうど行っている途中で、クニンガンというヒンドゥー教のセレモニー(日本のお盆のようなもの)があったので、デンパサールの街で知り合ったおじさんに大きなお寺へ連れってもらい見学した。すごい力を感じた。
3月にはニュピという、一日中火や電気を使わない日があるそう。いつか行ってみたい。

写真

Kuta, Bali Kuta, Bali Kuta, Bali Kuta, Bali Kuta, Bali Ubud, Bali Ubud, Bali Ubud, Bali Ubud, Bali Ubud, Bali Ubud, Bali Ubud, Bali Ubud, Bali Ubud, Bali Ubud, Bali Ubud, Bali Ubud, Bali Ubud, Bali Ubud, Bali Ubud, Bali


続き:flickr

2/21開催 サウンドインスタレーションライブ「反射する音楽」@TWS渋谷

来週の月曜、夜8時から、トーキョーワンダーサイト渋谷という渋谷パルコ近くのアートギャラリーで、ドラマー出口智也の即興演奏に連動しダイナミックに空間を歪めるインスタレーションライブ作品を発表します。

学校や会社帰りとかにぜひ遊びに来てください!!

ちなみに今回、LogicとMOTU Travelerを使って、7in6outの特殊なセットを構築しました。
どうなることやら、楽しみです。

予約なしでもおそらく入れます。

以下、oxoxo.meより一部転載



oxoxo [ゼロバイゼロ]は、2011年2月、TOKYO EXPERIMENTAL FESTIVAL ― SOUND, ART & PERFORMANCE PART 2(東京都渋谷区)にて、ドラマー出口智也氏とともに、サウンドインスタレーションライブを行います。

反射する音楽

音というひとつの次元を超えた、音楽の反射。
発音体(出口智也)から出た音は、ミラーの振動へ、さらには映し出された発音体の振動へと変化する。
その瞬間、発音体からは次の音が出され、それらは無限に繰り返されてゆく。
出口智也の即興演奏により繰り出される音は、直ちに光の動きとなり視界を歪ませる。音楽の緊張感、躍動感は、音としてだけでなく、ミラーに映し出された光として演奏者自身へと伝わり、次の音にフィードバックされる。

日時:2011年2月21日 (月)20:00開演(19:30開場)
入場料:1,000円

Flickr API を GWT 2.1 で使用してみる

最近、oxoxo [ゼロバイゼロ]のサイトを流行りのHTML5&GWTでつくろうと奮闘中。その備忘録。
■Google Web Toolkit 2.1.1で、JSONP を利用して、flickrへの呼び出し(photosetの取得)を以下のように実装してみた。

・準備

※GWTでJSONPを使う方法は、

http://google-web-toolkit.googlecode.com/svn/javadoc/2.0/com/google/gwt/jsonp/client/JsonpRequestBuilder.html


<ProjectName>.gwt.xmlに、

<inherits name=’com.google.gwt.jsonp.Jsonp’/>

を追加する。そうしないと、

No source code is available for type
com.google.gwt.jsonp.client.JsonpRequestBuilder; did you forget to inherit
a required module?

と、実行時に怒られる。最初、web.xmlに追加していてハマった。。

・呼び出し


JsonpRequestBuilder builder = new JsonpRequestBuilder();

builder.setCallbackParam("jsoncallback"); // [1]

builder.requestObject(FLICKR_PHOTOSET_URL, // [2]
new AsyncCallback&lt;FlickrRsp&gt;() {

public void onFailure(Throwable caught) {
//...
}

public void onSuccess(FlickrRsp result) {
JsArray&lt;FlickrPhoto&gt; photos = result.getPhotos();
String debugOut = "ids: ";
for(int i=0; i &lt; photos.length(); i++) {
FlickrPhoto photo = photos.get(i);
debugOut += photo.getId();
}
dbgLabel.setText(debugOut);
dbgLabel.setVisible(true);
}

});
}
//...

[1]callback関数を変更する必要がある。

理由:

例えば[2]でセットするURLを、以下のように定義したとする。

static final String FLICKR_PHOTOSET_URL =
"http://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos&amp;format=json&amp;api_key=xx&amp;photoset_id=xx";

すると、GWTは実行時に以下のようなHTTP GETリクエストを発行する。fireBugとCocoaPacketAnalyzerで確認。

GET /services/rest/?method=flickr.photosets.getPhotos&format=json&api_key=xx&photoset_id=xx&callback=__gwt_jsonp__.I0.onSuccess

要は、末尾にcallbackを指定するパラメータを勝手に付加するらしい。
しかし、flickr APIのデフォルトのコールバック関数名は、jsonFlickrApi なので、関数名が一致せず、コールバックが呼び出されず、TIMEOUTしてしまう。onFailure() が呼ばれる。

Failed to send the message. Timeout while calling <url>.

そのため、先述のsetCallbackParamで、”jsoncallback”を入れる必要がある。
jsoncallback については、 http://www.flickr.com/services/api/response.json.html

そうすると、以下のようなHTTP GETリクエストが発行され、onSuccess() がコールされるようになる。

GET /services/rest/?method=flickr.photosets.getPhotos&format=json&api_key=xx&photoset_id=xx&jsoncallback=__gwt_jsonp__.I0.onSuccess

音楽、写真、ソフトウェアなどのデザイン。イベント情報。