aravis解析 その9 [aravis]
aravisの話は今回でひと段落にする。ほんとはSwift化するつもりだったけど、まだSwiftを書き慣れていないのでなかなか進まない。このままでは、また例によってなかったことになりそうなので、その代わりと言ってはなんだけど、aravisのObjective-Cラッパを公開することにした....
ライブラリのpath指定がやっぱりよくわからん [aravis]
困ったことが起こった。自分用のframeworkを作って、自分で作ったアプリケーションバンドルに内包させた。そのアプリはビルドしたマシンでしか動かなかった。調べてみるとframeworkの中にさらにgnu由来のライブラリを埋め込んだんだけど、そのライブラリがさらに依存しているライブラリが見つからないらしい....
aravis解析 その7 [aravis]
GObjectは複雑で難しいということは身にしみてよくわかった。この程度の知識でaravisのソースが読めるのかどうかはわからないけど読んでみることにする。まずaravis全体の構造を知るために主要なオブジェクトをざっくりみる。
aravis解析 その6 [aravis]
aravisを理解するためにGObejctの使い方を見ている。GObjectではクラス定義からインスタンスを作るのも非常に複雑である。初期化もいろいろなことができるようになっているのでよけいである。マニュアルを読んだぐらいでは、全体像をつかむことはとんでもなく難しい。ごく普通の場合だけを調べることにする....
aravis解析 その5 [aravis]
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でも使うというのがもっとも正しい方向だけど)....
最初aravisのswiftラッパを作ろうと思っていたんだけど、ほとんどそんな必要はないぐらい簡単だし、そんなものを作ってもaravisのクラスをswiftのクラスに読み替えて、文字列の変換をして、パブリックなメソッドが単にaravisの関数を呼ぶだけのものになってしまう。
Objective-Cラッパなら少しは意味があったかもしれないけど、今更そんなものを作るつもりはない。
そうするとやはりGObjectをswiftのクラス/構造体で書き換えて、glibやgettextやintltoolなどのlinux固有のライブラリの依存をなくすというのが正しい方向だろう(本当は、そんなものをやめて素直にaravisをそのままmacOSでも使うというのがもっとも正しい方向だけど)....
aravis解析 その3 [aravis]
aravis解析 その2 [aravis]
aravis解析 [aravis]
先日コメントをもらって、その気になってしまった。Gen<i>Cam規格カメラのLinux上のドライバであるaravisの中身を見ることにする。
仕事ではそんなことをやってる場合じゃないくて、時間があるならまっ先に書かなきゃいけないアプリケーションとかがあるんだけど、これもいずれは必要になるはずなのでLowest Priorityでやることにする(でも仕事のプライオリティって簡単にひっくり返るからなあ。それに比べて技術進捗の帯域ってずっと狭いもんな)。ちゃんと細部まで解析できればswiftで書き換えてmacOS版のドライバにするところまでいければいいけど、また途中でほったらかすかもしれない。そのときはごめんなさい....
仕事ではそんなことをやってる場合じゃないくて、時間があるならまっ先に書かなきゃいけないアプリケーションとかがあるんだけど、これもいずれは必要になるはずなのでLowest Priorityでやることにする(でも仕事のプライオリティって簡単にひっくり返るからなあ。それに比べて技術進捗の帯域ってずっと狭いもんな)。ちゃんと細部まで解析できればswiftで書き換えてmacOS版のドライバにするところまでいければいいけど、また途中でほったらかすかもしれない。そのときはごめんなさい....