テレビにTwitterの関連TLをオーバーレイ表示するAIRアプリを作ってみた

部屋にアプリキャストというガジェット機能が使えるブラビアがあるんですが、このガジェットはオーバーレイできないので実際の映像がHD見られなくなってしまいます。そもそも放送法とやらでテレビ上に別の表示を出すのはNGらしいです。まったく不便な話ですね。 で、最近PCでデジタル放送を見たり録画する環境が整ったので、専用PCにHDMIでそのブラビアを繋げてモニターにしてます。F1とか見るときは横目でPCで上げてるTweetDeckを追ってたんですがやっぱり映像に重ねてみたいなと思い、Adobe AIR を使って作ってみました。 できたのが↓です。(F1モナコGPの予選) ちょうど、アナログ→デジタルの過渡期なんで、スーパーが表示されないスペースが左右にあります。そこに乗っけると文字に文字が被って見づらいこともなくなります。 最近覚えた BlendMode = ERASE によるアルファチャネルグラーデーションをかけたりしてます。一応、技術ブログなのでこの部分のソースも書いておきます。下記のコンポーネントの parent には BlendMode.LAYER を設定します。 public class AlphaMask extends UIComponent { public function Overlay() { super(); blendMode = BlendMode.ERASE; } protected override function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void { super.updateDisplayList(unscaledWidth, unscaledHeight); var matrix:Matrix = new Matrix(); matrix.createGradientBox(unscaledWidth, unscaledHeight, Math.PI / 2, 0, 0); var g:Graphics = graphics; g.clear(); g.beginGradientFill(GradientType.LINEAR, [0, 0, 0, 0], [1, 0, 0, 1], [0, 25, 230, 255], matrix); g.drawRect(0, 0, unscaledWidth, unscaledHeight); g.endFill(); } } ...

2010年5月15日 · Toshimitsu Takahashi

iPhone が Flash をサポートしない本当の理由を考える

はじめに 周知のとおり、Apple が iPhone 上での Flash Player を延々サポートしないため、Adobe は Package for iPhone を Flash CS5 に用意して Flash/AS プログラマーに iPhone アプリケーション開発の戸を開こうとした。 そんな中 Adobe が CS5 を発表する直前、Apple は iPhone OS 4.0 の登場とともに iPhone Developer Program を改訂して Package for iPhone などのサードパーティーツールを締め出しました。 Adobe は結局この機能の今後の開発を諦めて、Android へのシフトを発表しました。。 様々な議論が行われる中、スティーブ・ジョブズは Thoughts on Flash の声明を出しました。 ただこれでも真意の探求は止まらず、The real reason why Steve Jobs hates Flash - Charlie’s Diary など様々憶測を呼んでいます。 今回の件について自分も何か裏があるのではないかと思い、色々と頭を巡らしてみました。 iPhone の Flash サポートについて考える まず整理しておきたいのは、iPhone の Flash サポートには二つの事柄があるということです。 iPhone 上のブラウザで Flash Player がサポートされること Package for iPhone による Flash アプリの iPhone アプリケーションヘの変換 前者については、Thoughts on Flash に挙げられた理由でとりあえず自分は納得しました。 Flash が使われるのは、動画配信、クールなフルFlashサイトもしくは広告であり、動画はHTML5で足りるし、フルFlashなサイトはそもそもロールオーバーのサポートがないと動作しないためPC用ユーザーインターフェイスのままでは閲覧が困難だろうし、広告は見られなくても問題がない。 ...

2010年5月4日 · Toshimitsu Takahashi

WordPress で外部サイトの RSS フィードをページ内に出力して表示するには

あるサイト内に別のサイトの RSS フィードをページ内に表示するにはウィジェットを使うと簡単です。 しかし、ページのコンテンツの一部として表示するには自由にタグ付けや情報を取り出して出力したい。 WordPress 2.8 以降には fetch_feed というキャッシュ機構を備えるフィード取得関数が用意されてます。 Function Reference/fetch feed « WordPress Codex ※使うには、feed.php をインクルードしておく必要がある。 これを使って ul, li のリストとしてはてなダイアリーの RSS を取得して書き出す処理を作ったので載せておきます。 fetch_feed は SimplePie を使って実装されているので、各フィードのエントリに関する項目は SimplePie Documentation: SimplePie_Item を参考にできます。 <?php include_once(ABSPATH . WPINC . '/feed.php'); $rss = fetch_feed('http://d.hatena.ne.jp/tilfin/rss2'); $rss_items = $rss->get_items(0, $rss->get\_item\_quantity(5) ); if ($rss_items) { foreach ( $rss_items as $item ) { $title = $item->get_title(); $pos = strpos($title, "\] "); if ($pos !== false) { $title = substr($title, $pos + 2); } echo '' . $item->get_date('Y.n.j') . ''; echo '' . $title; echo ''; } } ?> エントリーのタイトルから [タグ] は取り除くようにしています。自分は最後のタグとタイトルの間にスペースを1つ入れるルールにしているため上記のような簡略処理で書きました。

2010年3月18日 · Toshimitsu Takahashi

Silverlight 4 RC の COM 機能を使って Excel に twitter 検索結果を流し込む

Silverlight 4 から Out of Browser でCOMオートメーション機能が使えるようになった。これにより Excel などの外部アプリケーションを直接呼び出し操作できるようになりました。 Silverlight 4 の出荷候補版も出たので試しに COM による Excel 連携機能を実装してみることにした。今回は作ったのは、twitter で検索した結果を Excel シートに流し込むアプリです。 開発環境 Windows 7 上の Visual Studio 2010 RC と Microsoft Silverlight 4 Tools for Visual Studio 2010 RC による ポイント COMオートメーション機能 まず COMオートメーションの機能は、βからRCになり仕様が変わっています。 AutomationFactory.CreateObject にオブジェクト名を指定してインスタンスを生成します。下記ではさらのExcelを表示して、ワークブックを追加しその最初の(アクティブ)シートを取得しています。 using System.Runtime.InteropServices.Automation; ・・・ dynamic excel = AutomationFactory.CreateObject(“Excel.Application”); excel.Visible = true; dynamic workbook = excel.workbooks.Add(); dynamic excelSheet = excel.ActiveSheet; ※ dynamic を使用するには Microsoft.CSharp の参照追加が必要です。 twitter検索 ボタンのクリックイベントでsearchTextBoxに入力されてたTextでtwitter search API をたたきます。 DataContractJsonSerializer を使って、レスポンスストリームから直接 JSON を C# 上の構造体クラスのデータオブジェクトに変換しています。ToExcelに結果オブジェクトを渡して処理をします(これは後述)。 ...

2010年3月17日 · Toshimitsu Takahashi

Visual Studio 2010 RC に Silverlight 4 Tools for Visual Studio 2010 Beta 2 を無理やり適用インストールするには

Visual Studio 2010 RC 対応版が出たので、もう下記のハックは不要です。 Microsoft Silverlight 4 Tools for Visual Studio 2010 RC Microsoft Download Center Visual Studio 2010 RC が出て半月は経ちますが、Silverlight 4 Tools for Visual Studio 2010 の RC 版がいっこうに出てきません。ということで無理やり Beta 2 版を入れる方法はないものか探していたら、ロシアの方がブログに書いていたので参考にしてやってみました。 Silverlight 4 with VS 2010 RC, Visual Studio 2010, Silverlight 4 | Alex Sorokoletov の記事を参考にやってみました。 原文が(多分)ロシア語なので記事内の「Update: Translated to English version.」のリンクで英語翻訳を見ると良いでしょう。 Microsoft Silverlight 4 Tools for Visual Studio 2010 Beta 2 を入手 http://www.microsoft.com/downloads/details.aspx?FamilyID=68a158af-9bb8-4855-a724-d09d196eaaf3&displaylang=ja: からダウンロードします。 インストールパッケージの抽出 さきほとダウンロードした Silverlight4_Tools.exe を実行します。 ...

2010年2月25日 · Toshimitsu Takahashi

Adobe AIR 2.0 airhttpd でサーバ側でロードした swf のフレームショットをHTML5対応ブラウザで簡易アニメ表示させてみた

なんか airhttpd を使って面白いものを作れないかと思い、SWFLoader を使って外部 swf ファイルをロードし、そのフレームのスナップショットをHTTPクライアントに返すサーバーアプリを思いついた。 HTML 5 の Canvas 対応をブラウザであればそれを JavaScript で描画していくことができる。 開発環境とライブラリ Flex 3.5 Adobe AIR 2.0 β2 airhttpd - http://code.google.com/p/airhttpd/ ファイル構成 lib/ airhttpd-0.5.swc src/ docroot/ index.html webapp/ CGIService.as Main.mxml CGI処理 airhttpd の FileService クラスを継承して CGIService クラスを作ります。 package webapp { import com.tilfin.airthttpd.server.HttpRequest; import com.tilfin.airthttpd.server.HttpResponse; import com.tilfin.airthttpd.services.FileService; import flash.filesystem.File; public class CGIService extends FileService { private var _snapShotFunc:Function; public function CGIService(snapShotFunc:Function, docroot:File) { super(docroot); _snapShotFunc = snapShotFunc; } override public function doService(request:HttpRequest, response:HttpResponse):void { if (request.path == “/action”) { response.contentType = “image/png”; response.body = _snapShotFunc(); return; } super.doService(request, response); } } } ...

2010年2月21日 · Toshimitsu Takahashi

MacBook Air に Snow Leopard をクリーンインストールした

そろそろいいかなと思い、2008年前半モデルの MacBook Air に SuperDrive を使って Snow Leopard をクリーンインストールしてみました。 外付けHDDに TimeMachine バックアップを使用しているので設定はそこから転送しました。またあとでBootCampで Windows 7 を入れるのでパーティションは分けました。 以下、手順のメモ。 DVDからブート SuperDriveをUSB接続して、Snow Leopard Install Disc を挿入する。 Cキーを押しっぱなしにしてMac 起動し、DVDからブートする。 ハードディスクの消去とパーティション設定 言語を選択してから「Mac OS X インストール」まで来たら、 メニューから「ディスクユーティリティ」を開く。 HDD全体を選択して、[消去]を選択してから「消去…」をクリック。 さらに[パーティション]を選択して、[ボリュームの方式]で「2 パーティション」を選択する。 一つ目を名前「Mac OS」、フォーマットを Mac OS 拡張(ジャーナリング)で、二つ目を空き領域にして「適用」をクリック。 以上で「ディスクユーティリティ」を終了。 インストール 「Mac OS X インストール」のダイアログで「続ける」をクリックして進める。 「カスタマイズ」をクリックして、[プリンタサポート]と[言語環境]も日本語以外は非選択にして、「OK」をクリック。 「Mac OS」を選択して、「インストール」をクリック。 インストールを開始、25分ほどかかると表示される。 インストール終了後、自動で再起動。 初期設定 「ようこそ」画面で日本のままで「続ける」をクリック。 「キーボード入力環境を選択」で「ことえり」を選択して「続ける」をクリック。 TimeMachineから設定を転送 「すでに Mac をお持ちですか?」で[Time Machine バックアップから]を選択して「続ける」をクリック。 「バックアップボリュームを選択」でSuperDriveをUSBからはずして、TimeCapsule用の外付けHDDを接続する。 [Macintosh HD]が表示されたら、それを選択して「続ける」をクリック。 「情報を転送する」で[設定]と必要な情報だけ転送元から選択して「転送」をクリック。 ユーザー登録 「ユーザー登録の情報」を確認して「続ける」をクリック。 そのまま進めて最後に「Go」クリックして終了。ログイン画面へ。 所要時間:1時間弱 その後 アプリケーションを移行しないとDockに?アイコンが並んでいるので整理する。 ソフトウェア・アップデートをとりあえず実行する。Mac OS X 統合アップデートと iTunes がアップデートされた。

2010年2月20日 · Toshimitsu Takahashi

BRAVIA と PS3 でファイナルファンタジーXIIIをするときの公認画質設定の方法

最初、アプリキャストをたまたま見ていたら、 http://www.sony.jp/bravia/technology/applicast/appliall.html で「ファイナルファンタジー スペシャルコンテンツ」なるものを発見し、これにスクリーンセーバーのようなものと画質設定方法があった。 URL も載っていたのでそれが下記になります。 ファイナルファンタジー®XIII -公認- 画質・音質 | 液晶テレビ BRAVIA ブラビア | ソニー 非常に詳細な設定ですが、この環境の方でプレイする人は必須でしょう。 ちなみにこれでブラビアのシネマドライブとかCGゲームモードとか初めて知りました。

2009年12月27日 · Toshimitsu Takahashi

GV-MC7/VZ / Windows Media Center専用 地上・BS・110度CSデジタル対応TVキャプチャBOXのレビュー

GV-MC7/VZ を買ってから二週間以上経って一通り試せたので、使用後レビューを書いておく。 GV-MC7/VZ | 地デジチューナー(パソコン・スマートフォン) | IODATA アイ・オー・データ機器 仕様など Windows 7 の Windows Media Center 専用なので Home Premium/Professional/Ultimate Edition が必要。 地デジ、BS、110度CS放送に対応。USB Box バスパワーでの電源供給(そのためアンテナへの電源供給は不可)。 F型コネクタが一つなのでアンテナ線が別々の場合は混合器が必要。 グラフィックボード NVIDIA GeForce 9300 以降、AMD RADEON HD 4350以上(RADEON HD 4850/4870/4890を除く)が必要 HDCP対応のディスプレイが必要 DigiOn-DiXiM Media Server 3 for Media Center TVが付属しておりDLNAプレイヤーで録画番組が視聴できる。 Corel DDR MOVEが付属しており、DVD/Blu-rayにダビング(10でなければムーブ)できる。 気をつけたいところ BS・110度CS衛星放送の認識が難しい(後述)。 グラフィックボードがかなり新しくないとPCでの再生が厳しい。うちのRADEON HD 3450ではディスプレイはHDCP対応でも地デジ対応と箱には書いてあったのに無理だった。 アンテナ電源供給なくても問題ないか、特に一戸建ての家は事前に確認しておきたい。最近のテレビチューナーなどは省電力化などのために常時供給ができない場合がある。 Windows Home Server に Media Center コネクトをして番組を Home Server 移すと DiXiM からの配信ができなくなる。 Corel DDR MOVE での DVD/Blu-ray へのダビングは番組単位でファイナライズされてしまうし、CMカットも一切できない。 テレビ信号の検出 これがシビアというかなかなかむずい。単純に地上波デジタルとBS・110度CS衛星線を混合器経由で繋いだだけでは、衛星放送は検出されなかった。 自分が試してできた手順を書いておく。 一旦、データ放送の設定をリセットする。 BS・110度CSアンテナの線を直接、GV-MC7/VZに繋いでテレビ信号の検出を行う。 地上波デジタルとBS・110度CSアンテナの線を混合器に繋ぎ、そこからGV-MC7/VZに接続して再度、テレビ信号の検出を行う。 Extra → TVチューナー設定 → アンテナ受信による信号確認では衛星の信号は 2. では検出できたが、3. では取れなくなってしまった。しかし、実際の放送は見られるので気にしないことにする。 ...

2009年12月20日 · Toshimitsu Takahashi

来年出る Flex 4 関連の書籍がもう予約受付になってる

ずいぶん早くないか? なんせ Flex 4 も Flash Builder 4 もまだβ版なのに・・・。 Flex 4 Cookbook (Oreilly Cookbooks) 作者: Joshua Noble,Todd Anderson,Garth Braithwaite,Marco Casario,Rich Tretola 出版社/メーカー: Oreilly & Associates Inc 発売日: 2010/05/31 メディア: ペーパーバック クリック: 20回 この商品を含むブログ (6件) を見る Flash Builder 4 and Flex 4 Bible 作者: David Gassner 出版社/メーカー: Wiley 発売日: 2010/04/19 メディア: ペーパーバック 購入: 1人 クリック: 14回 この商品を含むブログ (2件) を見る 「Flash Builder 4 and Flex 4 Bible」の方は、1032ページもあるみたい。 クックブックの日本語版が出るのは再来年かな。 ...

2009年12月18日 · Toshimitsu Takahashi