So-net無料ブログ作成

aravis解析 その9 [aravis]

aravisの話は今回でひと段落にする。ほんとはSwift化するつもりだったけど、まだSwiftを書き慣れていないのでなかなか進まない。このままでは、また例によってなかったことになりそうなので、その代わりと言ってはなんだけど、aravisのObjective-Cラッパを公開することにした....

続きを読む


nice!(0)  コメント(0) 

ライブラリのpath指定がやっぱりよくわからん [aravis]

困ったことが起こった。自分用のframeworkを作って、自分で作ったアプリケーションバンドルに内包させた。そのアプリはビルドしたマシンでしか動かなかった。調べてみるとframeworkの中にさらにgnu由来のライブラリを埋め込んだんだけど、そのライブラリがさらに依存しているライブラリが見つからないらしい....

続きを読む


nice!(0)  コメント(0) 

aravis解析 その7 [aravis]

GObjectは複雑で難しいということは身にしみてよくわかった。この程度の知識でaravisのソースが読めるのかどうかはわからないけど読んでみることにする。まずaravis全体の構造を知るために主要なオブジェクトをざっくりみる。

続きを読む


nice!(0)  コメント(0) 

aravis解析 その6 [aravis]

aravisを理解するためにGObejctの使い方を見ている。GObjectではクラス定義からインスタンスを作るのも非常に複雑である。初期化もいろいろなことができるようになっているのでよけいである。マニュアルを読んだぐらいでは、全体像をつかむことはとんでもなく難しい。ごく普通の場合だけを調べることにする....

続きを読む


nice!(0)  コメント(0) 

aravis解析 その5 [aravis]

aravisを読めるようにするためにGObjectをさらっとみている。前回はGObjectの大まかな構造を確認した。インスタンス構造体とクラス構造体があって、Objective-Cのisaポインタみたいなのがインスタンス構造体の先頭にあるということを見た。今日はクラス構造体のほうと、マクロ展開するための名前の規則なんかについて....

続きを読む


nice!(0)  コメント(0) 

aravis解析 その4 [aravis]

ということで、これまで(その1その2その3)でほんとうにざっとaravisの使い方をおさらいしてみた。みてわかるように、aravisを使うのは非常に簡単になっている。それはGObjectが使いやすくできている(書きやすいとは言ってない)のと、aravisがGObjectの思想に忠実に従ってできているからだろう。

最初aravisのswiftラッパを作ろうと思っていたんだけど、ほとんどそんな必要はないぐらい簡単だし、そんなものを作ってもaravisのクラスをswiftのクラスに読み替えて、文字列の変換をして、パブリックなメソッドが単にaravisの関数を呼ぶだけのものになってしまう。

Objective-Cラッパなら少しは意味があったかもしれないけど、今更そんなものを作るつもりはない。

そうするとやはりGObjectをswiftのクラス/構造体で書き換えて、glibやgettextやintltoolなどのlinux固有のライブラリの依存をなくすというのが正しい方向だろう(本当は、そんなものをやめて素直にaravisをそのままmacOSでも使うというのがもっとも正しい方向だけど)....

続きを読む


nice!(0)  コメント(0) 

aravis解析 その3 [aravis]

aravis解析の続き。今日はmacOSへのインストールと、接続されたカメラ個々に特有な操作をするためにGen<i>Camノードツリーを読んでカメラの機能を探すにはどうするかという話....

続きを読む


nice!(0)  コメント(0) 

aravis解析 その2 [aravis]

昨日から始めたaravisの解析。昨日はaravisのライブラリとしての基本的な使い方をさらっとやった。かなり簡単に使えるようになっていることがわかる。よくできている。

今日はカメラ属性の操作とカメラ列挙とフレームバッファの使い方などについて....

続きを読む


nice!(0)  コメント(0) 

aravis解析 [aravis]

先日コメントをもらって、その気になってしまった。Gen<i>Cam規格カメラのLinux上のドライバであるaravisの中身を見ることにする。

仕事ではそんなことをやってる場合じゃないくて、時間があるならまっ先に書かなきゃいけないアプリケーションとかがあるんだけど、これもいずれは必要になるはずなのでLowest Priorityでやることにする(でも仕事のプライオリティって簡単にひっくり返るからなあ。それに比べて技術進捗の帯域ってずっと狭いもんな)。ちゃんと細部まで解析できればswiftで書き換えてmacOS版のドライバにするところまでいければいいけど、また途中でほったらかすかもしれない。そのときはごめんなさい....

続きを読む


nice!(0)  コメント(0)