アーカイブ
Pipes: soup.ioからpost/repostのみのフィードを作る
soup.ioのフィードから、自分がsoup.ioへpost/repostしたものだけを抜き出すYahoo Pipesを作った。
Pipes: soup.io – remove imported feeds
これで作ったfeedをtumblrに読み込ませるようにしておいた。
tumblr以外にもFlickrやdel.icio.usからも読み込ませているので、そのままsoup.ioのフィードをtumblrに読み込ませると、reblogの純度が落ちてしまうので。
でもこれって循環しちゃうのかな?
Adobe AIRの開発環境を整えて、カメラで撮影してJPEGで保存するソフトを作った
AIRを使うと、flash.filesystemやflash.desktopなどのデスクトップアプリ用のクラス群が使えるようになるので、やってみた。
Air beta3で開発する環境を作って、前からやってみたかった
- 半透明で変な形をしたウィンドウ
- USBカメラで撮影してJPEGにエンコードしてファイル出力
-
を作った。
撮影した写真はプログラムと同じフォルダに保存される。
できたもの => CameraSaveJpeg.air (Adobe AIR beta3)、Archive

なお、半透明ウィンドウにするとスクリーンショットに写らなくなるので、デジカメで撮った。
■開発環境を整える
・Adobe Labs – Downloads: Adobe AIR
AIRの実行環境
・AIR:Flash CS3 Professional Update – Adobe Labs
Japaneseを選んでインストール
・Jinten Blog Blog Archive FlashDevelop Beta5
FlashDevelp3.0 Beta5で、AIRとmx系クラスのコード補完を有効にする方法
[Project]→[Properties]→[Compiler Options]→[Intrinsic Libraries]に
Library\AS3\frameworks\Flex3
Library\AS3\frameworks\AIR
を追加する
で、普通にFlashDevelopでFlash IDE用のプロジェクトを作成。
さらにFlashCS3からもAIRプロジェクトを作成。FlashDevelopと同じフォルダを指定する。
Flex3.0のコンパイラはとりあえず必要ない。
■証明書を作る
・AIR Beta2でWEBCAMの画像をjpgに保存するサンプル – hatayanlog
が詳しい。AIR Beta2から証明書を作らないとならなくなった。
C# on Mono でLinux上にFlash用XMLSocketServerを作る
OpenSourceの.NET FrameworkであるMonoをインストールして、C#で作ったXMLSocketServer.exeをcoLinux上のDebian 3.2で動かしてみた。
VisualStudioでコンパイルしてできた.exeのままで、ちゃんとdllも読み込んで動作してくれるのが凄い。
(.NETなので、VB.NETで書いたプログラムも同じようにLinuxで動くはず)

Flash Media Serverは高いので、flvのストリーミング以外ならサーバーサイドも自分で全部作った方がよさげ。
ちなみにMonoいれてみたきっかけは、きょろさんがおすすめしてたから
→ New Generation Chronicle:井上恭輔——電子工作より生まれし巫女萌えバイナリアン (1/10) – ITmedia エンタープライズ
■インストール
.NETFramework on Linux (Mono) (TORIGOE DESIGN. doc)を参考に、最新版1.2.6をダウンロードしてインストールした
wget ftp://www.go-mono.com/archive/1.2.6/linux-installer/6/mono-1.2.6_6-installer.bin
chmod +x mono-1.2.6_6-installer.bin
./mono-1.2.6_6-installer.bin
aptから入れる事は出来ないけど、インストールはとても簡単だった。
■プログラムの作り方
普通に「コンソールアプリケーション」を選んで、コンパイルしてできた .exe がそのままLinuxで動くようになる。
できたもの => MonoTest (Visual Studio2005 / C#2.0)
■作ったプログラム
まず最初に、スレッドでループし続けて1秒ごとに現在の時刻を表示するプログラムを作った => SourceCode

次に、正月にDLL化したXMLSocket.NETの機能を使って、Flash(Windows上)とXMLSocketServer(Debian上)とで、XMLSocketCommandのやりとりをやってみた。

=> SourceCode
年末年始作ったもの
年末年始、田舎に帰省して温泉入ったりおいしい物食べたりして、そしてなによりネットがなかったので色々作ってしまった。(含む改良)
とりあえずあとで詳しく書くリスト
・Flash AS3でカメラ入力/画像処理最小サンプル
むずかしい事はなく、マウスを置いた位置のピクセルを取るだけ。研究室にAS3を広めたいので。
・LineTrace.as for AS3
Lineを引いて、MovieClipをTraceさせるクラスのAS3移植版
・XMLSocket.NET
せっかく.NET使ってるので、C#2.0+AS3.0 – XMLSocketCommandをDLL化してみた。C++とVBからも使えた。
・PutPinHere
GoogleEarth上に表示したKMLを動的に書き換えるテスト。
普通にGoogle Earth COM APIのLoadKMLData()を送ると、古いKMLが残ってしまうので、一旦ファイルに書き出して定期的にLoadKMLFile()を使う方法を採用。
・GpsTracker
これ。
GPS CS1Kで保存したGPSデータを全部KMLで書き出して、Google Earth上にプロットする。
・Simplate
シンプルなTemplateエンジン。{%line_name%}で変数、{%[lines]%} ~ {%[/lines]%}でイテレータ。
上の2つでKMLを書き出すために使った
・ThreadManager
スレッドがたくさんになると、殺すのが面倒になるのでまとめて管理できるマネージャを作った。1000個程度はいけた。
C#2.0+AS3.0 – XMLSocketCommand
(2008/12/2追記)XMLSocketServer最新版はbitbucketにあります。.NET用のXMLSocketClientも実装しました
前に作ったAS2.0用のこれ → s.h.log: C#に埋め込んだFlashと通信するライブラリ
のかわりに、最近AS3をメインに使っているので、C#2.0とFlash(AS3.0)間でメッセージをやりとりするための「XMLSocketCommand」というものを作った。
両者からオブジェクトをXMLにして送って、もう片方で受け取ったらまたオブジェクトに戻す事が簡単にできるC#とActionScript用のクラス群と、そのサンプルプロジェクトを用意したので公開しておきます。
■ソースコード&サンプルプロジェクト
・AS3.0 sample+source code (FlashCS3), archive
・C#2.0 sample+source code (VisualStudio2005), archive
■サンプルプロジェクトの中身
こんなもの。詳しくは中の、それぞれForm1.csとCommandTest.asから呼び出しているのでコード読

コマンド受信してからの処理が結構綺麗に書けるようになってる
publicfunctioncmd_onRecv(e:CommandEvent){
trace(“Receive:”+e.command.toString());//受信したコマンド
switch(e.command.name){
case”zanmai”:
trace(“今年はざんまいに”+e.command.value+”回行く!”);
break;
case”kazusuke”:
trace(“かず助にも”+e.command.value+”回行きたい”);
break;
default:
trace(“知らないコマンドが来た”);
break;
}
}
C#の方は、前に作ったC#用のXMLSocketServerクラスをラップした、Org.Shokai.Net.XMLSocket.Commanderというクラスが全部やってくれる。
ASの方は、XMLSocketを継承したCommanderクラスが全部やってくれる。
AS,C#両方ともそれぞれ持っているCommandというクラスにparseXML()、toXML()、toXMLString()というメソッドがあって、そこでオブジェクト/XMLの変換方法を定義している。
今はnameとvalueの2つの値だけをやりとりする様になっているだけだが、もっと複雑なデータをやりとりしたければ自分でCommandを継承してparseXML()、toXML()、toXMLString()をoverrideすればいい。

最近のコメント