2007年10月 Archives

« 2007年9月 2007年11月 »

Flex、初体験

ActionScript3での音生成をしてみたいぜ!と強く思ったので、ちょっとFlexを弄ってみた。

Flashばっかの人間にはFlexは何となく敷居が高いな~と思っていたけど、同じく敷居が高いと思っていたAS3.0も書いてみると思っていたほどでもなかったので、Flexでも何とかなるだろうと試してみたところ、コレがびっくり。

FlashCS3のIDE機能よりも遙かに洗練されている。コードヒントもimport文の自動挿入も最高にイイ!
というか何故その機能がFlashCS3に実装されていないのかがむしろ不思議だ。

ずいぶん前にJAVAやらPHPで習作を作るためにEclipseを使ったことがあったが、そのときもEclipseってDreamweaverとかより全然使えるじゃない!と思った。で、今回のこともあってEclipseが再燃しそう。

一応AdobeはEclipseFoundationに参加してると以前どこかの記事で目にしたが、Flexはその成果物としてとてもすばらしいんじゃないかと思う。だから、その成果をFlashとDWにも反映して欲しい。

more.. "Flex、初体験" »

RadioHeadの新作はオープンプライスで

2000年ごろに「world wide web は無意味な底引き網になってしまった」とトム・ヨークが言っていたけど、今度はなんと新作をオープンプライスにしてしまったらしい。

しかも販売店が勝手に販売価格をつけるオープンプライスではなく、購入者が自らの評価によって購入価格をつけるオープンプライスだ。率直に言って、凄いことだ。

でもって、報道によれば「販売店での価格とだいたい同じくらいの価格」で売れているそうな。「戦略は今のところ成功している」らしい。

ところでこの戦略(戦略と呼ぶべきなのか?)の成功と失敗は果たして定義されているのだろうか?販売店での価格と同程度でリスナーが買っていくことをトム・ヨークは成功と呼んで嬉しがっているのだろうか?
或いは、ただ同然でリスナーが買っていった場合、彼は失敗だったと落胆するのだろうか?正直よくわからない。トム・ヨークの真意は何なんだろう。

とりあえず分かっていることはこの「オープンプライス」は単なる「無料配布」より遙かにデリケートな手法だと言うことだ。「無料配布」は無料とはいえ、やはり「定額」であることに違いない。購入者によって価格をつけると言うやり方はアマゾンで評価に星を付けたりする行為とは全く次元が違う。

関連記事(ITMedia)

Adobe MAX

日本では11月に開催されるAdobeMAXはすでにアメリカで開催されていて、おいしい情報がいろんなところで顔を見せ始めている。


Adobe MAX Japan 2007
*このバナーはAdobeMAXのサイトから「ブログパーツ」として配布されているけど、なんかあんまりブログパーツっぽくないと思うんだけど...

FlashPlayer10 Astro だとか Thermo とかFlashにz軸の追加とか...
あんまり調べすぎると11月の楽しみが半減しそうだ。

とはいえ元々の目的はAdobeの商品発表を聴きに行くわけではなくて、中村勇吾氏と深津貴之氏のセッションが目当てなので、あんまり影響はないかも。ところでさっきAdobeMAXサイトをチェックすると両講演とも満席!コレってスゴイことだ。しかも両氏は同じ会社、tha.ltdのTOPと若手ナンバーワンみたいな2人。7000円という決して安くないペイだけど、この2つの講演だけでも十分かも。


その深津貴之氏が、Thermの出現でFlashIDEはそろそろお払い箱かも、っていうかAS2はすでにレガシーだもんな~と書いてらっしゃる。本当に流れが速くてやばいくらいだけど、Flashがこんなに凄いことになって、JAVAみたいにファットなプラットフォームになってしまわないか少し不安だ。

なんにせよとりあえずがっついて吸収しないとMS Silverlightよろしく取り残されるかも。
Silverlightはフェードアウトすればいいけど人間は消せないからね。

Leopard は10/26 ?

MacOSX10.5Leopardが10月26日にリリースされるかも、と言う話だけど、なんだかんだで随分長い延期だった。

個人的に試してみたい機能は「Spaces」
デスクトップをデュアルモニタで作業をしているけど、そんなものはもう不要になるだろうか。
シングルモニタでデュアルモニタ以上にワークスペースが確保出来るなら本当に欲しい。

ところで、LeopardはやはりiPhoneにもインストールされるのかな?でもってiPhoneでもSpacesとかTimemachineが使えるようになるのだろうか

潔いな~

正直、ニコニコ動画はあまり利用していないけど、こういうサクサクした判断はとてもイイと思う。

参照記事

一度投入したサービスを時期尚早ということで仕切りなおすのは組織の規模にかかわらず簡単なことではないはずだ。こういう姿勢やそれを許容できるユーザこそが大切なんだろうな。

フツーのMacくれよ

Mac nano もいいけどさ、フツーのMacをくれよ。

とはいってみたところで、Appleにそんな気が微塵もないのはよく分かっている。
それより、せめてMacProの価格を下げたりしてくれないだろうか。CPUの単価が下がっていることだし数字的には不可能ではないはず。

made with Flash

前回、FlexでPOPFORGEをカスタマイズしたのがすごく楽しかったので、Flashベースで楽器のような習作を色々作ろうかと思う。

とりあえずリズムマシーンのようなものを作ってみた。

リズムマシーン

リズムマシーンだけど、極力シンプルにしたかったので、音源は3種類、ドレミ、だけ。
3種類だけ?と思うだろうが、これがどうしてそこそこのシーケンスを作れるかもしれない手応えがある。
もう少し試行錯誤すればいけるかも。

某プロジェクトにも流用したい。


ちなみにロジックはわかりやすく、下のプログレスバーとの衝突を拾って、音を鳴らしているだけ。一応ActionScript3.0(AS3.0)でコーディングしているが、技術的にはAS2.0でできる。(ひょっとするとAS1.0でも出来るかもしれない)今のところAS3.0で無ければ実装出来ない技術は何も盛り込んでいない。だからといって、AS3.0を不要だといったり、AS2.0で十分!と言うつもりは全然無い。何というか、まだうまく言えないがAS3.0はいいんだ。

more.. "made with Flash" »

ActionScript(AS3.0)とmacromediaへのオマージュ

AS3.0の学習を始めてからひと月少々が経つので、ここらでひとつ雑感をまとめて見ようと思う。半年経つとまた認識が変わっているはずなので、自分の心境の変化を後から比較するのにも役に立つかもしれない。

9月初めにこの参考書を購入。AS3.0のヘルプはAS2.0のときより若干サンプルコードが減った気がする。やっぱり新しい事を学ぶにはwebベースの資料も大事だけどハードコピーが一つくらいあった方がはかどる。

学習前の予想として、「AS3.0になってOOPの性格がよりいっそう強くなったけど、実際は新しいクラスや機能が追加されただけでAS2.0の時と同じフレームアクションで構築できるんでしょ?」という予想は当たらずとも遠からずだったようだ。

実際にAS2.0、というかFlash8以前のコーディング方法で外部asファイルを使用せずにフレームアクション主体で構築する事は普通に出来る。(一応断っておくけどAS2.0でも外部asを使った構築は可能)
内容によってはフレームアクションで構築した方が外部asを使うより効率がいい事も多いだろう。

ただ、やはり外部asファイルを使ってクラス定義をしていく方が、それぞれの機能の役割や内容を把握しやすいみたいだ。そして何よりOOPの理解が格段に深まったことが嬉しい。以前にJavaで3Dフレームワークに手を出したとき、行列の計算やらアフィン変換、zバッファとかの勉強にはなったが、OOPに関してはあまり目覚めなかった。

ところが今回、AS3.0の学習によってOOPへの理解が深まったのは、馴染みの深いFlashIDEの恩恵や自分の貧弱だが付き合いが長いAS2.0のスキルによるものではないかと思う。いくつかの共通点があるとはいえ、ロクにさわったことが無いJavaの上ではOOPなんてややこしい概念が腹に落ちるはずがない、と思う。仮に全く前提知識やスキルが無い状態でAS3.0やOOPを理解するのは、骨が折れるというよりも苦痛じゃないだろうか。

とにかくAS2.0やレガシーFlashの存在無くしては今回の取り組みはより格段に大変だったはずだ。
そして当然のことだが、AS2.0のスキルやFlashIDEの習熟も、それ以前のバージョンによって支えられてきたものだ。自分の場合、AS1.0やFlashMX(ここからデビュー、懐かしい)の存在によって、少しずつスキルを磨くことが出来た。ActionScriptが単なるムービーにちょっと色を添えるぐらいの簡易言語(本当の意味でスクリプト)からスタートせずにいきなりOOPとしてJavaの様な仕様だったらこんなところまで付いて来られるはずがない。

そういうわけで自分のスキルは完全にActionScriptの進化によって導かれていると言って過言ではない。macromediaがFlashにスクリプト言語を実装した頃、どの程度のロードマップを描いていたのか知る由も無いが、この進化の速度と課程にたいしてmacromediaに感謝せずにはいられない。そう、Adobeに対してではなくだ。

というわけで、あえて今、macromediaのタグを追加してみた。

LeopardとMacの終演

噂通り10月26日リリースになったLeopard、オメデトウ。

リリースのかなり以前に、LeopardがOSXの最終版にかなり近い存在になると、どこかに書かれていたけど、実際にLeopard以降の開発ロードマップはどうなっているんだろうか。Appleはそこら辺の情報はなかなか見せてくれないから全く分からないけど、ひょっとしてiPodとiPhoneに注力しすぎてOS開発なんてどうでも良かったりして。すでにApple Computerではなく Apple Incになってるわけだし。
まさかね。

でもITの最たるデバイスとしてパーソナルコンピューターの存在意義はかなり薄れてきているんじゃ無いかと思う。すでにコンシューマレベルではフィットしていなくて、iPhoneとかiPodとかの普及がそれを示唆しているんじゃないだろうか。

jobs曰く、Leopardは過去最高のアップグレードらしいけど、こんな気の利かないフレーズをつけるのもパーソナルコンピューター、Mac終演の伏線を張ってのことかもしれない。(言い過ぎかな)

ActionScript3.0から大容量XMLをPOST送信

AS3からPHPとかにXMLをPOST送信することはよくある事だが、XMLデータが大きい場合、ちょっと問題が生じる。具体的にはデータサイズが100KBとかになると危険。

そんなときは
var req:URLRequest = new URLRequest('target.php');
req.contentType = "application/xml";
var postLoader:URLLoader = new URLLoader();
postLoader.load(req);

この「req.contentType = "application/xml";」が重要で、ヘルプなんかでは「req.contentType = "text/xml";」と書かれている。こうしておけば一応1MBくらいまでは送信可能になる。ただこのやり方で良いのかちょっと不安。ひょっとしてBadTipsかもしれないので、もうちょっと検証が必要かも。

リズムマシン made with Flash

POPFORGEカスタマイズ簡易リズムマシンの系譜を少しばかりブラッシュアップしてみた。

こちら↓↓↓
http://memo.kappa-lab.com/catapio_test/alpha_0_0_1_5.html

リズムマシーン   リズムマシーン

前回までと本質的に異なっている(一応進化したと言いたい)のは演奏したデータを保管し、他のユーザがそれを試聴できる点。手垢にまみれた言葉だけど、2.0とかCGM的な性質を持たせてみた。
今後どれだけこのページ(悲しいかなまだサイトではない)がどの程度成長するか、演奏データを蓄積出来るのかが楽しみ。とは言えこの弱小ブログに載せた程度じゃあ告知能力に限界があるので、そのうち何か手だてを考えないと。

今回、演奏データを残すためにこんな具合にした。

1.一定時間(1/50sec)ごとに音源ボールの位置をすべて記録する
2.演奏終了後、音源ボールの差分だけを検出し、記録データを圧縮する

つまり、とりあえず底引き網的にデータ収集、その後、必要なトコロだけ取捨選択する。というやり方にしてみた。当初、圧縮は必要ないかと思いきや180秒で軽く1MBを超すので圧縮を決定。おかげで100KB以下に。

この手のユーザーインタラクションを記録するのはみんなどうやっているだろうか。(次回までの宿題)

今日の世紀的発見!(必読)

また一つ、大発見をしてしまった。

  リンゴの皮は、

  ピーラーで剥けば良いんだよ!!!

思えば長い間リンゴは果物ナイフで
ムキムキされていたわけだけど

彼の皮もジャガイモよろしくピーラーでスルリスルリと剥けるんだ。


新しい時代が来る予感がする

リズムマシン feat MySQL

FlashカンタンリズムマシンをMySQLと連携してみた。


http://memo.kappa-lab.com/catapio_test/alpha_0_1_2_0.html

実はMySQLは今回が初挑戦。

MySQLが、と言うわけではなくデータベース事態初めてだったが割とすんなり実装できた。
PHPもそんなに得意ではないが、データの参照、追加、編集くらいなら半日くらいで理解、実装できるんだな、と感心。なかなかおもしろかった。データベースは利用するよりインフラとして用意する方がよっぽど大変なんだろう。

でもって、若干UIも変更。
PlayListから他のユーザの演奏情報もプレイできるようにしつつ、視聴回数も表示するようにした。(ここの文言をlistenedとかテキトな言葉なので恥ずかしいがあえてそのままにする)取り合えず一段落。

ここまでの過程は初めに描いていたとおり迷い無く突き進むことができたけど、ここからが問題だ。どういう方向に発展させていくか。ここが凄く重要だと思う。本当におもしろいものになるかどうか、ここからが勝負だと思うが、この分岐点は選択肢がいっぱいで正直、悩む。

以下、妄想を列挙してみる。

1.会員登録とかSNSっぽく!
2.とにかく音楽系機能てんこ盛り!
3.ブログパーツとか作ってみる!
4.もっとUIのデザインを煮詰める!
5.この楽器だけでライブをやる!
6.AIR化する!
7.(何故か)グッズを作ってみる!

上記2/3位は本気だったりするけど、まあ週末にじっくり考えてみよう。

そういえば今日だった!

うっかり忘れていたけど、今日はLeopardの発売日。あと一時間だ(17時現在)
Appleのwebでカウントダウンをしているけど、世界同時販売だと今になって漸く知った。この雨の中、みんなAppleストアに並んでいるんだろうか。

Appleからコンピュータの名前が消えて初めてのOSだけど、やっぱりよさげだ。
すでにプリインストールも出てるみたい。流石だ。

Flashと改行コード( CRLF )とphpMyAdmin

winマシンからphpMyAdminのフィールド編集画面を開くと、データの改行コードがかってに( CRLF )に変換される様な気がする。あまりちゃんと検証していないけど、編集画面を開いても保存しなければ大丈夫だったり...よく分からん。

で、それ( CRLF 変換されちゃったデータ )をFlashに渡してtraceとかしてやると、CRとLFで2回ずつ開業しているので、一行ずつ空白が出来ててとてもビックリ。色々調べて( CRLF)かよ!と憤慨。

ちょっと調べてみるとcrlf2lfを発見。

いいな~と思ったのでそれをAS3.0なので正規表現を使って書いてみた。
function crlf2lf(str:String):String {
  str = str.replace(/\r/g,'');
str = str.replace(/\r\n/g, '\n');
  return str;
}

Flex Builder大安売り!?

いま、ちらりとAdobeのwebを見るとFlexが大安売りしていた!!

こちら

たしか以前の価格表だと10万円位していたはず...いきなりの価格破壊でビックリ。もうすぐ試用期限も切れるので購入しようかと俄然やる気が出てきた。SDKオンリーでやるのってどうもね。

新たにchartingというのが追加されたようだけど、チャートライブラリらしい。これだけで¥55,000っていったいどんな内容なんだろう(素朴な疑問で)

とりあえず、これだけ大胆に価格変更してくれたことが嬉しい。これより以前に購入した人は気の毒だけど、それだけFlexの普及にAdobeはがんばってるってことで良いかな。

RSS + Contuct

  • rss
  • email

Credit

Copyright (C) 2007 kappa-lab.com.
All Rights Reserved.