2008年10月16日

まだhelloとはいえていないSDL

libSDLの日本語解説
初心者の初心者による初心者の為のSDL
あたりを参考になんとか自力でゼロからSDLのWindowを作りタイトルバーにテキストを設定しescキーで閉じた。

ほとんどWin32APIのメッセージループみたいな形で美しくない。
スレッドはpthreadかなんか使えるようになればいいわけだし
glutのほうが右クリックメニューとか扱えるし若干エレガントなコードが書けるので
いきなり投げ出してしまおうかとも思ったが
とりあえずSDL_imageとSDL_net、SDL_ttfあたりがあることを思うと
元々低レベルコードを書きたがる自分にはむしろむいているのかなと思えた。
それでどうした!......
ラベル:SDL
posted by Xo_ox at 16:57| Comment(0) | FreeBSDアプリ | このブログの読者になる | 更新情報をチェックする

2008年11月01日

WebCamへの道の入り口にたつ

FreeBSDでライブカメラ、ビデオチャット、監視カメラやFlashでのカメラ使用の為の
ライブラリーとアプリを作っていく。
実は新規購入できるカメラで動くportsやドライバは無い。
プログラミング自体はゼロから叩き直すと思うけれどすでに作られた「spca」系をベースにする。

現時点でとりあえず普通に購入できる「QCAM COOL」で低速ながら監視したり静止画を撮れたりしている。
アクセス部分の改善と一般アプリで使用できる様にインターフェースを作り
最低でもライブカメラ用連続画像ないしは任意にアクセスできるメモリーへの連続レンダリングをするものを作る。
wineで動いてくれれば相当可能性は増えるはずだ。
それでどうした!......
ラベル:Webcam SPCA
posted by Xo_ox at 23:22| Comment(0) | FreeBSDアプリ | このブログの読者になる | 更新情報をチェックする

2008年11月02日

Cに戸惑いを感じつつアプリの基本仕様をつめる。

今日はspcaviewのユーザーアプリケーションの構造を把握した。
基本的にはspca5xx.cにインターフェース関数が書かれていて
条件分岐でセンサー別の関数に分岐する構造を取っていた。
とりあえずLogicoolのカメラについてわざと違うセンサーにしたらうまく動作しなかったので
QV-30SVは現状の ブリッジ ZC3XX + センサー HV7131R データタイプJPGH で間違いないようだ。
jpeg出力は最初できないと思っていたのだが640x480ではできた。
その場合ファイルサイズは40kbyte弱で176x144の転送量より小さい。
つまりspca5viewではVIDEO_PALETTE_RGB24が宣言されていて
RGBでとりだしているが640x480のjpegにしてロスレスで間引いて小さくする方が良さそうだ。
それでどうした!......
ラベル:Webcam SPCA
posted by Xo_ox at 22:56| Comment(0) | FreeBSDアプリ | このブログの読者になる | 更新情報をチェックする

2009年02月20日

仮想入力への道その2 SDLにxlibを加えて

SDL_WarpMouseを使えばSDL単独でも他のアプリで使用中のマウスを移動することができるが
クリックなどには使えずいまひとつだ。
そこで一部のユーティリティで使っていた/X11/extensions/XTest.hで宣言されている関数を使うことにした。
とりあえずwindowなしでジョイスティックからマウスやキーボードの信号を送ることができた。
パフォーマンスも悪くは無いのでSDLがやや無駄な感じだが仮想マウスや仮想キーボードの下地ができたわけだ。
それでどうした!......
ラベル:Joystick SDL xlib
posted by Xo_ox at 23:05| Comment(0) | FreeBSDアプリ | このブログの読者になる | 更新情報をチェックする

2009年02月21日

uhid0を直接覗いてみる。

まず最初にSDLでできることをつめたいし続いてはちゃんとusbhid.hとかを使うつもりではあるが
/dev/uhid0からどんなデータがくるかみたくなった。
その前にxlib併用でのバーチャルキーボードやマウスはさておき
SDL単独での使用の注意点を考えてみた。
それでどうした!......
ラベル:SDL Joystick
posted by Xo_ox at 20:21| Comment(0) | FreeBSDアプリ | このブログの読者になる | 更新情報をチェックする

2009年02月22日

gtkに手をつけてみた。

SDLでテキストを表示するには自前でテクスチャーを用意するか
SDL_ttfを使うかで簡便というには程遠い。
gtkはWindowsでいうとwin32APIとかMFCといったところだろうか
不必要に巨大にならないのであれば使える部分は使いたいと考え
なんかデモでも/usr/local/binに転がっているかと探したら
実用的なコマンドツールはないものの
gtk-demoとpygtk-demoというのがあった。
そこでgtkによるプログラミングの可能性ほ調べてみた。
それでどうした!......
ラベル:GTK
posted by Xo_ox at 23:17| Comment(0) | FreeBSDアプリ | このブログの読者になる | 更新情報をチェックする

2009年02月23日

xlibで日本語表示させてみたり

gtk2+を外部プログラムかヘルパーのライブラリーとして使うことで
ちょっとしたXwindow上の機能が使えることが分かったが
単純なリソースだけでもあまりにリソースを食うので
もう少し低レベルなxlibを調べてみた。
オブジェクト的なウィジェットという概念は無いがWindowの位置の制御や
テキストの描画、日本語も含めた入力という面では使えなくもないが
他のライブラリーとの連系方法がまだ飲み込めていない。
それでどうした!......
ラベル:xlib
posted by Xo_ox at 20:09| Comment(0) | FreeBSDアプリ | このブログの読者になる | 更新情報をチェックする

2009年02月24日

SDLでちょっくら強引にxlibで文字を表示させる。

SDLで文字を書く場合、普通はSDL_ttfを使うか
何らかの方法で画像ファイルにする方法が効率的だろうが
ximの対応やシンプルな文字描画の選択肢が欲しい。

SDLのヘッダーをgrepでxlib関連の単語で探索していたら
ちょっと使えそうなヘッダーを見つけた。
SDL_syswm.hだ。
これを使うことでSDLで初期化した画面のwindowとdisplayを取得することができる。
まさにSDL版のhello worldといえる。
それでどうした!......
ラベル:SDL xlib
posted by Xo_ox at 21:46| Comment(0) | FreeBSDアプリ | このブログの読者になる | 更新情報をチェックする

2009年03月04日

GTK+SDLでタスクトレーで管理するJoyMouse

SDLでJoystickの取得
xlibでマウスイベントの送信
GTKでタスクトレーの管理ができるようになったので
まとめてタスクトレーで終了できるジョイマウスを作ってみることにした。
まだ不完全だが基本要素は揃っているので全ソースも載せた。
それでどうした!......
posted by Xo_ox at 23:56| Comment(0) | FreeBSDアプリ | このブログの読者になる | 更新情報をチェックする

2009年03月05日

スクリーンサイズとカーソル一の取得

ジョイマウスの移動範囲で現在のサイズで決め打ちでやっていたのだけれど
xlibに取得関数があることが分かった。XDisplayWidthとXDisplayHightだ。
また現位置取得関数としてXQueryPointerがあったがWindowのパラメータの扱いがごちゃついていて
なかなかわかりにくかったが
マウスの状態も取得できる様になった。
それでどうした!......
ラベル:xlib
posted by Xo_ox at 23:58| Comment(0) | FreeBSDアプリ | このブログの読者になる | 更新情報をチェックする

2009年03月06日

キーボード状態の取得

先日相対移動できるXWarpPointerと
カーソル位置とマウスの状態の取得できるXQueryPointerを使えるようになったので
今度はキーボード状態を取得しようと思った。
xlib経由なのでDirectInputではないけれどメッセージよりはましかもしれない。
それでどうした!......
ラベル:xlib
posted by Xo_ox at 15:50| Comment(0) | FreeBSDアプリ | このブログの読者になる | 更新情報をチェックする

2009年03月07日

xlibでセレクション受信を実装してみる。

そもそもバーチャルキーの類に手をつけたのは
ジョイスティックでマウス操作したかったこともあるが
X特有のセレクションを簡単にするためだった。
GTKでは簡便に機能を提供されているセレクションのxlibで実装を目指してみた。
どうしても分からなかったらGTKにしようと思ったが
かろうじてテキストのセレクションの取得までできた。
それでどうした!......
posted by Xo_ox at 23:55| Comment(0) | FreeBSDアプリ | このブログの読者になる | 更新情報をチェックする

2009年03月08日

セレクション送信も実装

テキストのセレクション送信もほぼわかり一通り実装できた。
あとついでにxlibでwindowを出す場合、そのままwmまかせで閉じるとエラーが出るので
処理コードを入れた。
それでどうした!......
posted by Xo_ox at 22:56| Comment(0) | FreeBSDアプリ | このブログの読者になる | 更新情報をチェックする

2009年03月09日

PRIMARYとCLIPBOARD

XのクリップボードにはPRIMARYとSECONDARYとCLIPBOARDがあることは知っていたのだが
使えるようにするには単に先日のコードのXA_PRIMARYを変えてやればいいだけだった。
しかしwindows的クリップボードはカットバッファと呼ばれるものでGTK系のアプリでは使っていない。
それでどうした!......
posted by Xo_ox at 22:50| Comment(0) | FreeBSDアプリ | このブログの読者になる | 更新情報をチェックする

2009年03月10日

fileの一覧を取得する。

glibにはファイル一覧を取得する関数もあり簡単に使えるのだが
glibを使わない場合どんなものなのか試してみた。
system命令で"ls"を呼ぶ手もあるが今回は関数のみを使用する。
要するにperlのFile::Findを置き換えられるようにする。
それでどうした!......
ラベル:ディレクトリ
posted by Xo_ox at 23:58| Comment(0) | FreeBSDアプリ | このブログの読者になる | 更新情報をチェックする

2009年03月11日

ファイル操作 その1?

ファイルの一覧を取得できたので次は個別のファイルについてみることにした。
使える関数を増やすのもいいけれど基本的に必然的な要因から詰めることにした。
今回はCの基本とも言えるopen,read,writeによるファイルコピーとaccess
OSよりのstat、utimesを扱った。
ファイルコピー部分はそもそもC言語の基本を知らなかったので理解のために使っただけで
ファイラーとか作らない限りはImageMagickなどで直接読み書きをすれば
使わないかもしれない。しかし今回一通り抑えたことで一般的なファイルストリームは
扱えるようになった事は大きい。なぜならUNIXはファイルとデバイスの区別が少ないからだ。
それでどうした!......
posted by Xo_ox at 23:25| Comment(0) | FreeBSDアプリ | このブログの読者になる | 更新情報をチェックする

2009年03月12日

ファイル操作 その2?

昨日時間関連の取得と変更をしたのでパーミッションやら削除やらの確認をした。
system関数を使っても同じだろうが一応同じような関数で同じことができる。
Windowsでそうコーディングしていたせいか絶対パスを渡していたのだが
なんのことはないパス名を除いたファイル名でもちゃんと動作した。
それでどうした!......
posted by Xo_ox at 18:23| Comment(0) | FreeBSDアプリ | このブログの読者になる | 更新情報をチェックする

2009年03月13日

scandirかopendirか悩んでみた。

opendirでディレクトリー一覧を取得すると順番がばらばらなのでソートしないといけない。
またストリームとして扱いたくてもtelldirは役立たず、seekは無能であり
探索しても使われている様子が無いことからバグ以前にこの関数は存在しない扱いにしないといけないと理解した。
そこでdirent.hをみたのだが「scandir」なる関数があった。
今回はscandirを使いjpg拡張子だけ選んでみたり
scandirのソートを直接qsortで置き換えるところまでやってみた。
それでどうした!......
posted by Xo_ox at 19:50| Comment(0) | FreeBSDアプリ | このブログの読者になる | 更新情報をチェックする

2009年03月14日

scandirでqsortとbsearchを学ぶ

stream関連とメモリー実装について悩んでいるわけだ。これはdelphiでもそうだった。
XMLやFlashを取り扱う事を考えて連結リストなどは必須だとは思うが
scandirで得られたポインタ配列はいい例なのでこの結果をいろいろ操作して
解を得たいと思った。
今回はとりあえずbsearchの使用とディレクトリーとファイルを分離した名前順ソートあたりまでやった。
それでどうした!......
posted by Xo_ox at 20:03| Comment(0) | FreeBSDアプリ | このブログの読者になる | 更新情報をチェックする

2009年03月16日

readdir_rでls -l風味ができる情報配列を構築する。

opendirとreaddirでscandir風味の配列を構築してみた。
但しデータとしてはstatで得られた値も含む。
まず第一段として一回readdirでスキャンして必要領域を計算して
2パス目にメモリーを確保してからコピーする形にしてみた。
delphiでfindfirstとかやる気が起きなくてコンポーネントだよりだったのに
FreeBSDではあっさりとできた事には感慨を覚える。
それでどうした!......
posted by Xo_ox at 19:54| Comment(0) | FreeBSDアプリ | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。