<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>橋本商会 &#187; chumby</title>
	<atom:link href="http://shokai.org/blog/archives/tag/chumby/feed" rel="self" type="application/rss+xml" />
	<link>http://shokai.org/blog</link>
	<description>なんか作ったりした記録を忘れないうちに書くblog</description>
	<lastBuildDate>Mon, 06 Feb 2012 13:32:44 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com/" />
			<item>
		<title>chumby用wassrウィジェット</title>
		<link>http://shokai.org/blog/archives/1557</link>
		<comments>http://shokai.org/blog/archives/1557#comments</comments>
		<pubDate>Mon, 21 Jul 2008 15:10:14 +0000</pubDate>
		<dc:creator>shokai</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[chumby]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[wassr]]></category>

		<guid isPermaLink="false">http://shokai.org/blog/?p=1557</guid>
		<description><![CDATA[twitter widgetやfavotter widgetと同じく、chumby用のwassrのウィジェットを作った → ここからdownload 使い方はUSBメモリから起動で。profile.xmlのusernam [...]]]></description>
			<content:encoded><![CDATA[<p>
<p><a href="http://shokai.org/blog/archives/1538">twitter widget</a>や<a href="http://shokai.org/blog/archives/1539">favotter widget</a>と同じく、chumby用の<a href="http://wassr.jp/">wassr</a>のウィジェットを作った</p>
<p>→ <a href="http://shokai.org/archive/chumby/0807_wassr/080706_wassr-widget.zip">ここからdownload</a></p>
<p><a href="http://www.flickr.com/photos/shokai/2679947431/" title="DSCF2476 by shokai, on Flickr"><img src="http://farm4.static.flickr.com/3014/2679947431_766eda1710.jpg" width="500" height="375" alt="DSCF2476" /></a></p>
<p>使い方は<a href="http://shokai.org/blog/archives/1534">USBメモリから起動</a>で。profile.xmlのusernameの所を適当に修正してください</p>
<p>APIがtwitterとほぼ同じなので簡単だった。ただ顔アイコンが<br /><br />
http://wassr.jp/user/ユーザID/profile_img.png.128<br /><br />
などで128&#215;128のアイコンが取れるんだけど（サイズは色々指定できて、GIF形式などもある）<br /><br />
Flashへの読み込みがすごく遅い。理由はよく分からない。小さいの指定しても駄目。<br /><br />
修正できなかったのでそのまま公開しました</p>
<p>wassrはイイネ/イラネやchannelなどがあるので、それらの機能もそのうち入れてバージョンアップしたらまた公開しますね</p>
</p>
]]></content:encoded>
			<wfw:commentRss>http://shokai.org/blog/archives/1557/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>chumbyを9V電池で動かす</title>
		<link>http://shokai.org/blog/archives/1543</link>
		<comments>http://shokai.org/blog/archives/1543#comments</comments>
		<pubDate>Thu, 05 Jun 2008 18:07:05 +0000</pubDate>
		<dc:creator>shokai</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[battery]]></category>
		<category><![CDATA[chumby]]></category>
		<category><![CDATA[chumbynight]]></category>

		<guid isPermaLink="false">http://shokai.org/blog/?p=1543</guid>
		<description><![CDATA[2週間ぐらい前にchumby nightというイベントが恵比寿であり、俺もchumby持って参加した。 会場では初めてyoggyさんに会って、9V電池をくれてe-mobile+macbookでWiFiも建ててくれてお世話 [...]]]></description>
			<content:encoded><![CDATA[<p>
<p>2週間ぐらい前にchumby nightというイベントが恵比寿であり、俺もchumby持って参加した。<br /><br />
会場では初めてyoggyさんに会って、9V電池をくれてe-mobile+macbookでWiFiも建ててくれてお世話になりました。</p>
<p>chumbyの底部をあけると9V電池のコネクタがあり、「サポート対象外」みたいな事が書いてあるが普通に動く。<br /><br />
<a title="DSCF2250 by shokai, on Flickr" href="http://www.flickr.com/photos/shokai/2531518582/"><img src="http://farm4.static.flickr.com/3168/2531518582_dca0c6b89d.jpg" alt="DSCF2250" width="500" height="375" /></a></p>
<p>もらった電池。けっこう高そう。<br /><br />
<a href="http://wiki.chumby.com/mediawiki/index.php/Hacking_hardware_for_chumby#Rechargeable_Battery_Options">Hacking hardware for chumby &#8211; ChumbyWiki</a>にも電池の事が書かれていて、ER-PHOTOというデジタルフォトフレーム用の電源がそのまま使えるとのこと。入力は9〜12Vで、2000mAhのER-PHOTO用バッテリで3時間もつらしい。<br /><br />
9V乾電池はだいたい200mAh程度の容量なので、10分の1として計算するとだいたい18分。<br /><br />
たしかに会場では20分ぐらいで電池切れた。（WiFi使用、USBからwidget読み込み、音楽再生なし）<br /><br />
<a title="DSCF2259 by shokai, on Flickr" href="http://www.flickr.com/photos/shokai/2530708243/"><img src="http://farm3.static.flickr.com/2396/2530708243_12d8ecf421.jpg" alt="DSCF2259" width="500" height="375" /></a></p>
<p>ちなみにふだんは千石電商の入って左で売ってる70円の9V電池が安いので常用してるんだけど、コイツでは新品でもchumbyは起動しなかった。chumbyにはきっかり9V以上出る電池じゃないと駄目みたいだ。</p>
<p>（普段は5Vに落とした回路を作ってるので、9Vきっちり出て無くても十分だった）</p>
</p>
]]></content:encoded>
			<wfw:commentRss>http://shokai.org/blog/archives/1543/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>chumby用ふぁぼったーwidget</title>
		<link>http://shokai.org/blog/archives/1539</link>
		<comments>http://shokai.org/blog/archives/1539#comments</comments>
		<pubDate>Sun, 18 May 2008 23:39:09 +0000</pubDate>
		<dc:creator>shokai</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[AS2]]></category>
		<category><![CDATA[chumby]]></category>
		<category><![CDATA[favotter]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://shokai.org/blog/?p=1539</guid>
		<description><![CDATA[ふぁぼったーのwidgetを作った。 ダウンロード → Favotter Widget (Flash AS2 / CS3) ■設定方法 今回もUSBメモリから起動するんだけど、特に設定項目も無いのでzipの中身をそのまま [...]]]></description>
			<content:encoded><![CDATA[<p>
<p><a href="http://favotter.matope.com/">ふぁぼったー</a>のwidgetを作った。</p>
<p>ダウンロード → <a href="http://shokai.org/archive/chumby/080519_Favotter/">Favotter Widget (Flash AS2 / CS3)</a></p>
<p><a href="http://www.flickr.com/photos/shokai/2479528971/" title="favotter on chumby by shokai, on Flickr"><img src="http://farm4.static.flickr.com/3256/2479528971_29ee326ae4_m.jpg" width="240" height="210" alt="favotter on chumby" /></a><a href="http://www.flickr.com/photos/shokai/2483808754/" title="DSCF2209 by shokai, on Flickr"><img src="http://farm3.static.flickr.com/2190/2483808754_eeee064c65_m.jpg" width="240" height="180" alt="DSCF2209" /></a></p>
<p>■設定方法<br /><br />
今回も<a href="http://shokai.org/blog/archives/1534">USBメモリから起動</a>するんだけど、特に設定項目も無いのでzipの中身をそのままUSBメモリに入れてchumbyに刺して、しばらくしてからchannel -> reloadで良い。</p>
<p>人気favと注目favをそれぞれ表示するために、swfが2つ入っている。<br /><br />
前のTwitter widgetと共存させるには、同梱のprofile.xmlを見れば2つのwidgetを読み込ませる設定の参考になると思う。widget_instanceのidが重複しないように注意。</p>
<p>■ダイナミックテキストにHTML表示とか<br /><br />
実装は、前の<a href="http://shokai.org/blog/archives/1538">Twitter widget</a>の時とほぼ同じというか見た目を白黒にしただけなんだけど<br /><br />
ふぁぼったーのFeedにCDATAでHTMLが埋め込んであるので、せっかくなのでそれを利用する事にした所だけが違う。</p>
<p>FlashのダイナミックテキストのhtmlTextプロパティにHTMLを突っ込むと、そのままwebブラウザのようにレンダリングしてくれる。何のエンジンを使っているかは不明だけど、とりあえずそのまま突っ込んでみたらfont colorやimgは読み込めていた。<br /><br />
で、そのままだとchumbyの画面には文字が小さすぎるのでfont size=&#8221;22&#8243;ぐらいまで大きくしたいんだけどAS2に正規表現などがなかったのでsplitと<a href="http://gmx.selfip.com/2007/03/post_14.html">strReplace</a>でがんばった。</p>
<ul>
<li><a href="http://d.hatena.ne.jp/shokai/20080510/1210415289">ダイナミックテキストにHTML表示 &#8211; shokaiの日記</a></li>
</ul>
<p>あとCDATA内のHTMLは＞が＆ｇｔ；のように実体参照になっているが、それを変換するメソッドがAS2に無かった。<br /><br />
無かったのだが、ダイナミックテキストのhtmlTextプロパティに代入してからtextプロパティから読み直すとなぜか変換されている事を発見、解決した。</p>
</p>
]]></content:encoded>
			<wfw:commentRss>http://shokai.org/blog/archives/1539/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>chumbyで日本語TwitterにIPAフォントを埋め込んだ</title>
		<link>http://shokai.org/blog/archives/1538</link>
		<comments>http://shokai.org/blog/archives/1538#comments</comments>
		<pubDate>Sun, 18 May 2008 22:58:07 +0000</pubDate>
		<dc:creator>shokai</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[AS2]]></category>
		<category><![CDATA[chumby]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://shokai.org/blog/?p=1538</guid>
		<description><![CDATA[Flashにフォントそのものを埋め込むのはライセンス的にどうなのかよくわからなかったのでchumbyで日本語twitterの時はswfの公開はしていなかったのだけど、IPAフォントならライセンス的にokだとわかったので埋 [...]]]></description>
			<content:encoded><![CDATA[<p>
<p>Flashにフォントそのものを埋め込むのはライセンス的にどうなのかよくわからなかったので<a href="http://shokai.org/blog/archives/1535">chumbyで日本語twitter</a>の時はswfの公開はしていなかったのだけど、<a href="http://ossipedia.ipa.go.jp/ipafont/">IPAフォント</a>ならライセンス的にokだとわかったので埋め込んで再公開しました。</p>
<p>これでFlash CS3を持っていない人も、chumbyでTwitterを日本語で読めますね！！<br /><br />
ダウンロード → <a href="http://shokai.org/archive/chumby/080509_Twitter/">Chumby Twitter Widget (AS2 / Flash CS)</a></p>
<p><a href="http://www.flickr.com/photos/shokai/2483811422/" title="DSCF2213 by shokai, on Flickr"><img src="http://farm4.static.flickr.com/3287/2483811422_6b7a7e9493.jpg" width="500" height="375" alt="DSCF2213" /></a></p>
<p>設定の仕方は変更無し。<br /><br />
<a href="http://shokai.org/blog/archives/1535">s.h.log  chumbyで日本語Twitterを読めるwidgetを作った</a></p>
</p>
<blockquote><p><p>profile.xmlのusernumの数値を、自分のtimeline用に書き換える。これはtwitter上でのID。<br /><br />
twitter.com/homeで、自分のRSSフィードを見ると 123456.atom みたいな感じになっているので、その数値に書き換える。<br /><br />
intervalの秒数だけ、次の記事を読むまでwaitがかかる。デフォルトは8秒。</p></p></blockquote>
<p>
<p>そして<a href="http://shokai.org/blog/archives/1534">USBメモリから起動</a>してください<br /><br />
ちなみにこないだchumby用に、<a href="http://www.amazon.co.jp/exec/obidos/ASIN/B000T8NR26/shokai-22">PQI製の超小さいUSBメモリ</a>を買ったんだけど相性なのか、認識しなかった。MacBookでは普通に使えているので、財布にも入るサイズだし重宝してるけどどうしようかなあ…USBメモリが正直邪魔だ。</p>
</p>
]]></content:encoded>
			<wfw:commentRss>http://shokai.org/blog/archives/1538/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>chumbyでLDR未読数を表示するwidget</title>
		<link>http://shokai.org/blog/archives/1537</link>
		<comments>http://shokai.org/blog/archives/1537#comments</comments>
		<pubDate>Sat, 17 May 2008 20:35:56 +0000</pubDate>
		<dc:creator>shokai</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[AS2]]></category>
		<category><![CDATA[chumby]]></category>
		<category><![CDATA[crossdomain]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://shokai.org/blog/?p=1537</guid>
		<description><![CDATA[LDR unread countがchumby.comのwidgetとして公開された。 Livedoor Readerのアカウント名を設定すると、未読数が表示されて焦らされるが、1万超えたあたりからどうでもよくなった。  [...]]]></description>
			<content:encoded><![CDATA[<p>
<p><a href="http://www.chumby.com/guide/widget/LDR%20unread%20count">LDR unread count</a>がchumby.comのwidgetとして公開された。<br /><br />
Livedoor Readerのアカウント名を設定すると、未読数が表示されて焦らされるが、1万超えたあたりからどうでもよくなった。<br /><br />
アップロードしたwidgetは基本privateで、publicにした後審査が入ってwidgetsの検索画面から他のユーザに使ってもらえるようになる。今回はだいたい4時間ぐらいで審査が通ったみたい。</p>
<p><a href="http://www.flickr.com/photos/shokai/2482978825/" title="DSCF2199 by shokai, on Flickr"><img src="http://farm4.static.flickr.com/3031/2482978825_8b0597c123.jpg" width="500" height="375" alt="DSCF2199" /></a></p>
<p>ダウンロード → <a href="http://shokai.org/archive/chumby/080518_ldrunread/">SourceCode(Flash AS2 / CS3)</a></p>
<p>（うおお、前の記事書いてから1週間たってる・・・）<br /><br />
前のTwitter widgetより前に作って投稿してあったものなんだけど、これは数字が出るだけなので、Flash的にも手抜き。</p>
<p>Flashは手抜きだけど、chumby widget固有のノウハウである<br /><br />
１．クロスドメイン許可されていない外部のサーバーのデータを読みに行く<br /><br />
２．chumby.comにデータを保存できる設定画面を作る<br /><br />
３．chumby.comに保存したデータをwidgetから読み込む</p>
<p>という事をやってみたので、まとめておこう。</p>
<p>■１．クロスドメイン許可されていない外部のサーバーのデータを読みに行く<br /><br />
Livedoor Readerの未読数を取得するAPIを使う。</p>
<ul>
<li><a href="http://d.hatena.ne.jp/hnw/20080122">LDRユーザーは仕事サボってるのがバレバレな件 &#8211; hnwの日記</a></li>
</ul>
<p>パラメータに<a href="http://rpc.reader.livedoor.com/notify?user=shokaishokai">user=shokaishokai</a>などすると未読数が出てくる。<br /><br />
特にXMLとかではないので、AS2の場合LoadVarsを使えば良い。</p>
<ul>
<li><a href="http://d.hatena.ne.jp/shokai/20080509/1210281896">LoadVarsでテキストデータを読み込んでLDR未読数を取得 &#8211; shokaiの日記</a></li>
</ul>
<p>ローカルドメインで動かす分にはこれで構わないが、セキュリティの事もあってサーバーに置いてあるFlashは別のサーバーにあるデータを読みに行く事ができないようになっている。そのため、rpc.reader.livedoor.comを読みに行けない。<a href="http://shokai.org/blog/archives/1535">前のtwitterで使った</a>XMLクラスなんかは例外。</p>
<p>そのため、大学院棟のサーバーにchumby.comからのアクセスを許可するcrossdomain.xmlを置いて、RubyでproxyするCGIを置いてそれをchumby上のFlashから読むようにした。</p>
<p><a href="http://shokai.mag.keio.ac.jp/crossdomain.xml">crossdomain.xml</a><br /><br />
<code><?xmlversion="1.0"encoding="UTF-8"?><br /><br />
<!DOCTYPEcross-domain-policySYSTEM"http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"><br /><br />
<cross-domain-policy><br /><br />
<allow-access-fromdomain="*.chumby.com"/><br /><br />
</cross-domain-policy></code><br /><br />
*.chumby.com からのアクセスのみ許可すればよい</p>
<p>このサーバーにRuby適当に作ったproxyを置いて、Flashから読ませる。</p>
<ul>
<li><a href="http://d.hatena.ne.jp/shokai/20080509/1210298859">proxy &#8211; shokaiの日記</a></li>
</ul>
<p>これで外部ドメインのデータを読めるようになった。</p>
<p>■２．chumby.comにデータを保存できる設定画面を作る<br /><br />
widgetの管理画面で、設定値を入力するダイアログを出すようにした。<br /><br />
データはchumby.comに保存され、自作widgetがchumby上でロードされたしばらく後に設定値が_root直下の変数として現れるという仕様らしい。<br /><br />
<a href="http://www.flickr.com/photos/shokai/2478472624/" title="LDR unread count customize by shokai, on Flickr"><img src="http://farm4.static.flickr.com/3209/2478472624_7f5b44a754_o.png" width="508" height="462" alt="LDR unread count customize" /></a></p>
<p>この辺のドキュメントを参考にした。</p>
<ul>
<li><a href="http://wiki.chumby.com/mediawiki/index.php/Developing_widgets_for_chumby#Widget_Configuration_Dialog">Developing widgets for chumby &#8211; ChumbyWiki</a></li>
<li><a href="http://wiki.chumby.com/mediawiki/index.php/Widget_Parameter_Example">Widget Parameter Example &#8211; ChumbyWiki</a></li>
<li><a href="http://www.adobe.com/devnet/devices/articles/chumby_development_04.html">Adobe &#8211; Developer Center : Developing widgets for Chumby with Flash Lite 3</a></li>
</ul>
<p>サイズは320&#215;240 pixelで、<a href="http://wiki.chumby.com/mediawiki/index.php/Widget_Parameter_Example">Sample Parameter Example(AS2)</a>に同梱されてた com.Chumby.WidgetParams.as を使うのが楽らしいので作ってみた<br /><br />
→ <a href="http://shokai.org/archive/chumby/080518_ldrunread/LdrUnread/configure.fla">configure.fla</a><br /><br />
まあ今回はユーザ名を保存するだけなのでサンプルを削っただけなんだけど、送信が終わったらgetURLでjavascriptを呼んで自分自身を閉じたりとかしていて面白い。</p>
<p>■３．chumby.comに保存したデータをwidgetから読み込む<br /><br />
chumby.comに保存されたデータは、widgetが画面に読み込まれてからしばらくたってから、_rootに現れる。<br /><br />
どうやら毎回読み込みに行っているらしい。</p>
<p>値が_rootに現れるまで待たないと、undefinedになってしまうので待つ。<br /><br />
<code>this.onEnterFrame=function(){<br /><br />
if(username==null)return;//待ちます<br /><br />
ldr_loadUnread(username);<br /><br />
deletethis.onEnterFrame<br /><br />
}</code></p>
<p>こんな感じで、chumby+サーバーサイドができました。</p>
</p>
]]></content:encoded>
			<wfw:commentRss>http://shokai.org/blog/archives/1537/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>chumbyで日本語Twitterを読めるwidgetを作った</title>
		<link>http://shokai.org/blog/archives/1535</link>
		<comments>http://shokai.org/blog/archives/1535#comments</comments>
		<pubDate>Fri, 09 May 2008 10:36:22 +0000</pubDate>
		<dc:creator>shokai</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[AS2]]></category>
		<category><![CDATA[chumby]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[XPath4AS2]]></category>

		<guid isPermaLink="false">http://shokai.org/blog/?p=1535</guid>
		<description><![CDATA[chumbyは日本語フォントが入っていないので日本語が表示できないが、Flashの中のダイナミックテキストそのものにフォントを埋め込めば日本語が出せる。 Chumby Japan チャンビー・ジャパン: もうすぐ日本語表 [...]]]></description>
			<content:encoded><![CDATA[<p>
<p><a href="http://www.chumby.com/">chumby</a>は日本語フォントが入っていないので日本語が表示できないが、Flashの中のダイナミックテキストそのものにフォントを埋め込めば日本語が出せる。</p>
<ul>
<li><a href="http://chumbyjapan.com/blog/2008/03/post.html">Chumby Japan チャンビー・ジャパン: もうすぐ日本語表示が可能に？</a></li>
<li><a href="http://d.hatena.ne.jp/marqs/20080313/p1">Chumby Widgetで日本語表示 &#8211; marqs blog</a></li>
</ul>
<p>ちょうどIMのAPIが動いてなかったので、twitterのfriends timelineを表示するchumby widgetを作ってみた。ただしフォントデータそのものを埋め込んで配布するのはライセンス的にまずそうなので、flaファイルのみの公開になります。自分の環境でコンパイルしてください<a href="http://shokai.org/blog/archives/1538">IPAフォントを埋め込んで、swfも公開しました</a></p>
<p>ダウンロード → <a href="http://shokai.org/archive/chumby/080509_Twitter/">SourceCode (Flash CS3 / AS2)</a></p>
<p>（AS2が久しぶりすぎてやばかった）</p>
<p><a title="twitter on chumby by shokai, on Flickr" href="http://www.flickr.com/photos/shokai/2478168816/"><img src="http://farm4.static.flickr.com/3008/2478168816_6df672331e_o.jpg" alt="twitter on chumby" width="240" height="320" /></a></p>
<p>ただしこの方法だとファイルサイズが100kb（chumby widgetの容量制限）を超えるので、USBから起動するしかない。<br /><br />
→ <a href="http://shokai.org/blog/archives/1534">s.h.log  chumbyで自作widgetをUSBメモリから起動する</a></p>
<p><a title="japanese twitter on chumby by shokai, on Flickr" href="http://www.flickr.com/photos/shokai/2477030617/"><img src="http://farm3.static.flickr.com/2107/2477030617_90f403fbf4_o.png" alt="japanese twitter on chumby" width="332" height="290" /></a></p>
<p>■<a href="http://shokai.org/archive/chumby/080509_Twitter/Twitter/profile.xml">profile.xml</a><br /><br />
profile.xmlのusernumの数値を、自分のtimeline用に書き換える。これはtwitter上でのID。<br /><br />
twitter.com/homeで、自分のRSSフィードを見ると 123456.atom みたいな感じになっているので、その数値に書き換える。</p>
<p>intervalの秒数だけ、次の記事を読むまでwaitがかかる。デフォルトは8秒。</p>
<p>■Twitter APIをAS2で読む<br /><br />
<a href="http://www.xfactorstudio.com/">XPath4AS2</a>でxml版のフィードを読んだ。<br /><br />
FlashでBasic認証を通る方法がわからなかったので、protectをかけているユーザのtimelineは読めないかも知れない。<br /><br />
前に作ったXPath4AS2テスターが役に立った。</p>
<ul>
<li><a href="http://shokai.org/blog/archives/1130">s.h.log  Flash &#8211; XPath4AS2でXPathテスター</a></li>
<li><a href="http://shokai.org/blog/archives/1132">s.h.log  FlashでFlickr REST-APIを呼ぶ</a></li>
<li><a href="http://www.trick7.com/blog/2006/09/28-092340.php">trick7.com blog: xfactorstudioのXPath4AS2の使い方</a></li>
</ul>
<p>■favorite<br /><br />
どうしてもふぁぼりたかったんだけど、FlashからBasic認証を通る事ができなくて無理だった。<br /><br />
http://user:pass@twitter.comの方法も、Base64エンコードしてLoadVarsにaddRequestHeaderするのも、getURLも駄目。<br /><br />
ブラウザの中で動いているわけではないのでログイン済みのcookieを共有するも出来ない。<br /><br />
cgiでproxyすればいいんだけど。</p>
<p>■thumbnail<br /><br />
USBから起動した場合、サムネイルが読めない。<br /><br />
同じ画像ファイルでwebにアップした場合は読めたので、profile.xmlの記述ミスかも。</p>
<p>■setIntervalがおかしい<br /><br />
PC上で実行している時は問題ないんだけど、ChumbyのFlashLite3上でsetIntervalを使ってタイマ処理を行っている時、4秒以上待てない。10秒などを指定すると、4秒ぐらいでタイマ処理が回ってしまう。調べても特にFlashLiteは特別という記述は見あたらなかったので、なんだかわからないけど、さすがに4秒はchumbyから目を離せなくなってしまうので今回は1秒を数えるsetIntervalを作ってさらにカウントアップする変数を用意して、時間を数えるようにした。</p>
<p>■プログラム<br /><br />
全部<a href="http://shokai.org/archive/chumby/080509_Twitter/Twitter/twitter.fla">twitter.fla</a>の1フレーム目に書いた</p>
</p>
<blockquote><p><p>
importcom.xfactorstudio.xml.xpath.*;</code></p>
<p>if(!interval)interval=10;<br /><br />
if(!usernum)usernum=3631571;</p>
<p>vartwitterXml:XML=newXML();<br /><br />
twitterXml.ignoreWhite=false;</p>
<p>varxmlUrl="http://twitter.com/statuses/friends_timeline/"+usernum+".xml";</p>
<p>twitterXml.onLoad=twitterXml_onLoad;<br /><br />
twitterXml.load(xmlUrl);</p>
<p>varint_id;<br /><br />
functiontwitterXml_onLoad(success:Boolean){<br /><br />
if(success){<br /><br />
trace("XMLloadsuccess!!");<br /><br />
loading._visible=false;<br /><br />
preLoadIcon(twitterXml);<br /><br />
int_id=setInterval(count_sec,1000);<br /><br />
loadNextStat();<br /><br />
}<br /><br />
else{<br /><br />
trace("XMLloaderror!!");<br /><br />
}<br /><br />
}</p>
<p>functionpreLoadIcon(stats:XML){<br /><br />
//trace(stats);<br /><br />
varicons:Array=XPath.selectNodes(stats,"statuses/status/user/profile_image_url/text()");<br /><br />
trace(icons.length);<br /><br />
for(vari:Number=0;i&lt;icons.length;i++){<br /><br />
varloader=newmx.controls.Loader();<br /><br />
loader.contentPath=icons[i];<br /><br />
//loader.load();<br /><br />
//trace(loader.autoLoad);<br /><br />
trace(loader.contentPath);<br /><br />
}<br /><br />
}</p>
<p>varstat_id=0;<br /><br />
varfav="false";<br /><br />
functionloadStats(stats:XML,num:Number){<br /><br />
varlen=XPath.selectNodes(stats,"statuses/status").length;<br /><br />
if(num&gt;len){<br /><br />
clearInterval(int_id);<br /><br />
loading._visible=true;<br /><br />
twitterXml.load(xmlUrl);<br /><br />
n=1;<br /><br />
return;<br /><br />
}<br /><br />
varupdate=XPath.selectNodes(stats,"statuses/status["+num+"]/text/text()");<br /><br />
fav=XPath.selectNodes(stats,"statuses/status["+num+"]/favorited/text()");<br /><br />
variconUrl=XPath.selectNodes(stats,"statuses/status["+num+"]/user/profile_image_url/text()");<br /><br />
varuserName=XPath.selectNodes(stats,"statuses/status["+num+"]/user/name/text()");<br /><br />
varscreenName=XPath.selectNodes(stats,"statuses/status["+num+"]/user/screen_name/text()");<br /><br />
vardate=XPath.selectNodes(stats,"statuses/status["+num+"]/created_at/text()");<br /><br />
stat_id=XPath.selectNodes(stats,"statuses/status["+num+"]/id/text()");<br /><br />
iconLoader.contentPath=iconUrl;<br /><br />
//favStar.gotoAndStop(fav);//labelで移動<br /><br />
labelUpdate.text=update;<br /><br />
labelUserName.text=userName+"("+screenName+")";<br /><br />
labelDate.text=date;<br /><br />
trace(fav);<br /><br />
}</p>
<p>varsec=0;<br /><br />
functioncount_sec(){<br /><br />
sec++;<br /><br />
if(sec&gt;=interval){<br /><br />
sec=0;<br /><br />
loadNextStat();<br /><br />
}<br /><br />
}</p>
<p>varn=1;<br /><br />
functionloadNextStat(){<br /><br />
trace("loadNextStat");<br /><br />
loadStats(twitterXml,n++);<br /><br />
}<br />
</p></p></blockquote>
<p>
</p>
]]></content:encoded>
			<wfw:commentRss>http://shokai.org/blog/archives/1535/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>chumbyで自作widgetをUSBメモリから起動する</title>
		<link>http://shokai.org/blog/archives/1534</link>
		<comments>http://shokai.org/blog/archives/1534#comments</comments>
		<pubDate>Thu, 08 May 2008 19:59:02 +0000</pubDate>
		<dc:creator>shokai</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[AS2]]></category>
		<category><![CDATA[chumby]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://shokai.org/blog/?p=1534</guid>
		<description><![CDATA[MakerFaireで買ってきたchumbyにFlashLite3が入っていて、ActionScript2.0が動く。 ちょうど良い事に俺がFlasherなので、自分でwigetを作って動かしてみた。 yoggyさんに教 [...]]]></description>
			<content:encoded><![CDATA[<p>
<p>MakerFaireで買ってきた<a href="http://www.chumby.com/">chumby</a>にFlashLite3が入っていて、ActionScript2.0が動く。<br /><br />
ちょうど良い事に俺がFlasherなので、自分でwigetを作って動かしてみた。</p>
<p>yoggyさんに教えてもらった<a href="http://www.scottjanousek.com/">Scott Janousek</a>さんのスライドが凄くまとまっている。chumby独自の変数（内蔵の加速度センサー、タッチパネル等）の取得の仕方なども書いてある<br /><br />
→ <a href="http://www.slideshare.net/scottjanousek/developing-flash-lite-widgets-for-the-chumby-platform">Developing Flash Lite Widgets For The Chumby Platform  SlideShare</a></p>
<p>あと、Scottさんの作ったFlash CS3用のデバイスプロファイルを入れると、ケータイ用Flashを試すエミュレータであるAdobe Device Centralでchumbyが動く様になる。<br /><br />
<a href="http://www.scottjanousek.com/blog/2007/11/22/chumby-device-profile-for-adobe-device-central-cs3/">Scott Janousek  Blog Archive  Chumby Device Profile for Adobe Device Central CS3</a></p>
<p>■USBメモリで動かす<br /><br />
<a href="http://www.chumby.com/widgets/upload">chumby.comのsubmit a widget</a>からprivate設定でuploadして試す方法もあるが、ローカルで開発する方法としてUSBメモリからブートする方法もある。今回はUSBメモリが余っていたのでそれでやってみた。</p>
<p><a href="http://wiki.chumby.com/mediawiki/index.php/Chumby_tricks#Mixing_local_widgets_into_a_channel">Chumby tricks &#8211; ChumbyWiki &#8211; Mixing local widgets into a channel</a><br /><br />
を参考に、USBメモリの中に<a href="http://shokai.org/archive/chumby/080509_usbsample/profile.xml">profile.xml</a>というファイルを置くと、USBメモリ内のswfを読み込まれる。</p>
<p><a title="chumby usb boot by shokai, on Flickr" href="http://www.flickr.com/photos/shokai/2476809036/"><img src="http://farm3.static.flickr.com/2178/2476809036_83d366f363_o.png" alt="chumby usb boot" width="335" height="212" /></a></p>
<p>→<a href="http://shokai.org/archive/chumby/080509_usbsample/">USBメモリに入れたファイル(Flash AS2 / CS3)</a></p>
<p>FlashはFlashLite3とのことだったんだけど、<a href="http://wiki.chumby.com/mediawiki/index.php/Sample_Accelerometer_Widget">ChumbyWikiのwidgetサンプル</a>を見たら、みんなパブリッシュ設定でFlashPlayer6 + AS1.0の組み合わせを指定していた。なんとなくAS1は嫌だったので俺はFlashPlayer6+AS2.0で書き出してみた。</p>
<p>そして、USBメモリを刺して動かしてみた結果がこれだよ！<br /><br />
channelのreloadをすれば読み込まれた。</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="300" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="flashvars" value="intl_lang=en-us&#038;photo_secret=a39c7b94a9&#038;photo_id=2476818622" /><param name="bgcolor" value="#000000" /><param name="allowFullScreen" value="true" /><param name="src" value="http://www.flickr.com/apps/video/stewart.swf?v=49235" /><embed type="application/x-shockwave-flash" width="400" height="300" src="http://www.flickr.com/apps/video/stewart.swf?v=49235" allowfullscreen="true" bgcolor="#000000" flashvars="intl_lang=en-us&#038;photo_secret=a39c7b94a9&#038;photo_id=2476818622"></embed></object></p>
<p>あと、<a href="http://shokai.org/archive/chumby/080509_usbsample/profile.xml">profile.xml</a>でwidget_parameterタグで値を渡す事ができる。<br /><br />
上のビデオではやってなかったけど、例えば適当なダイナミックテキストを置いて<br /><br />
<code>labelParam1.text = param1;</code><br /><br />
などとすれば、下のprofile.xmlだったら zanmai というテキストが読み込める。この辺は<a href="http://shokai.org/blog/archives/1065">FlashをActiveX Objectとして埋め込む</a>時に使うSetVariableとかと同じ感じ。</p>
<p>profile.xml<code><profile><br />
<widget_instances><br /><br />
<widget_instance id="1"><br /><br />
<widget><br /><br />
<name>Test Widget</name><br /><br />
<description>this is test widget hellohello</description><br /><br />
<version>1.0</version><br /><br />
<mode time="30" mode="timeout"/><br /><br />
<access sendable="false" deleteable="false" access="private" virtualable="false"/><br /><br />
<user username="myusername"/><br /><br />
<thumbnail href="file:////mnt/usb/thumb.jpg" contenttype="image/jpeg"/><br />
<movie href="file:////mnt/usb/test.swf" contenttype="application/x-shockwave-flash"/><br /><br />
</widget><br /><br />
<access access="private"/><br /><br />
<mode time="30" mode="timeout"/><br /><br />
<widget_parameters><br /><br />
<widget_parameter><br /><br />
<name>param1</name><br /><br />
<value>zanmai</value><br /><br />
</widget_parameter><br /><br />
<widget_parameter><br /><br />
<name>param2</name><br /><br />
<value>kazusuke</value><br /><br />
</widget_parameter><br /><br />
</widget_parameters><br /><br />
</widget_instance><br /><br />
</widget_instances><br /><br />
</profile><br />
</code></p>
</p>
]]></content:encoded>
			<wfw:commentRss>http://shokai.org/blog/archives/1534/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

