投稿者: chiyama

雑記

今年ももうすぐおわり

今年もあとちょっとでおわりです。

今年一年は本当にイロイロありました。仕事で言えば初めてCG屋さん的な仕事に携ることができたのが新鮮でもあり大変でもあり、回りの方々には本当にご迷惑をかけっぱなしでした(汗

プライベートでは、HoudiniやらRenderManやらの関係でお知り合いになることができた方が一杯いたりして(プライベート?)、これまた充実した一年だったのではないかと思います。

反面、テクニカル的な面進歩が見られなかったなぁとも感じます。ここ数年のまとめ的なことはドカッとできたけど、次に何か新しいことをするための準備まで手が回らなかったなと反省しています。

あと、会社の餅つき大会で37インチ液晶テレビを当てましたwww。これはかなり嬉しかったです。丁度地デジ録画システムとか作った直後だったのでものすごいタイムリーな話題でした。ほとんどテレビ見ないけどwww

来年はどんな年になるか、今から楽しみです。今年の延長で成長できるところはガンガン行きつつ、今まで試したことがないことも貪欲に試していきたいものです。

それでは、来年もよろしくおねがいします。

Programming, コンピュータ

テレビ番組予約システム

これも数年前に作ったシステムの焼き直し版ですが、地デジをブラウザ経由で録画予約するシステムを作りました。

一番の特徴は何と言っても iEPG 対応です。画面を見て気づく人はすぐ気づくでしょうが、テレビ王国のデータを持ってきて、サーバー側でゴニョゴニョ(笑 して、クリック一発で録画予約ができるようにしてあります。また、録画しながらの追っかけ再生もできます(ムービー後半でやってます)。

録画には Mac 上で recfriio-018(改)+friio を使って、サーバー側は Ruby で書いてます。このベースになるシステムを作った時は RoR なんてなかったので、ベタに CGI モジュールを使ってます(笑。

久し振りにソースコードを引っぱり出して手を入れたのですが、これがまた酷いコードで辟易しましたww。今書き直せば 1/10 ぐらいのコード量になるんじゃないかという有り様です。

まだいろいろ不具合はあるんですが、まあ個人で使うのならこれぐらいで問題ないかなと思います。

Mac, コンピュータ

Mac OSX 10.5.6

ここ数ヶ月、自宅の Mac のソフトウェア・アップデートが不調で、更新の通知はされるものの正常にアップデートができない状態でした。最近は忙しくてそれを直すこともできなかったのですが、今日やっと重い腰を上げて直すことにしました。

 そのついでと言っては何ですが、 OS も 10.5.6 に更新してみました。

 まず、自動更新が効かないのでMac OS X 10.5.6 統合アップデートを手動で実行します。これでソフトウェア・アップデートの問題が解決するかと思ったんですが解決せず。

いろいろと検索してみると、キャッシュに壊れたファイルがあったりするとアップデートに失敗するみたいなので、$TMPDIR/../-Caches-/com.apple.SoftwareUpdate を消してみたらビンゴ。無事にアップデートが通るようになりました。キャッシュディレクトリはここ以外にも何箇所かあるみたいなので、必要に応じて他の場所も消さないといけないかもしれません。

これでアッサリ解決?と思いきや、友達から”メールが戻ってきちゃうんだけど?”というお知らせが;;まじですか。

かなり焦ったものの、Topic : Firewall enabled/changed after 10.5.6 update?の内容そのまんまの症状でした。ていうか、勝手に /etc/postfix/main.cf の内容を書き替えるなんて反則でしょうよ…

自宅の Mac をメールサーバーにしてる皆さんはくれぐれも気をつけてくださいww

OSX って、アップデートすると必ずトラブるんでいつも二の足を踏んじゃうんですよね。。。

雑記

TM Network on KORG EMX-1

KORG Electribe EMX-1 TM Network SELF-CONTROL

おぉぉぉぉ!!!スゴィィィィ
Electribe ってこういう使い方もできるんだなぁ。

同じ人の作品で、こちらもスゴー。

KORG EMX-1 / TM Network ” GET WILD ”

こういうのを聴いちゃうと、ウチで埃をかぶってる EMX-1 に申し訳ない…(涙

Programming, コンピュータ

fltk Programming on OSX(2)

動いた〜!!いろいろハマって、休暇終了ギリギリになっちゃった。本当ならば、ここから話が始まるはずだったのにw

思ったよりも細かいところで仕様が変更されてて、それがバグなのか仕様なのか突きとめるのに時間がかかった。でも、これで fltk2.x 系に移行することができたしこれからは楽ができるんじゃないだろうか。
それにしても、今改めて見直してみると、いろいろ拙いところが目につく。社会人になりたての頃に 3DCG の理論を勉強しながら作ったプログラムだからしかたないけど、このまま流用するんじゃなく、一から作りなおしたいなと思う。
ただ、習作ながらもオブジェクトの選択・移動はもちろん、階層化やオブジェクトの動的な追加・削除も実装しているので CG ツールとして最低限必要な機能は揃っている。あとはインターフェースを作りこめばいろいろ遊ぶこともできたのだけれども、当時は一通り動かすことができただけで満足してしまったのを覚えている。
そうそう。開発環境は結局 XCode に移行した。ウィンドウが際限なく表示されるのさえ慣れてしまえば、まあまあ快適なんじゃないかと思う。少なくとも Emacs+gdb とは比較にならない(笑。あとは、全てのウィンドウについてくるゴテゴテしたボタンさえ何とかなってくれればいいんだけど…

Programming, コンピュータ

fltk Programming on OSX

半日かけて数年前に作った fltk1.x+OpenGL on Windows なアプリを fltk2 on OSX に移植してみた。

fltk1 から fltk2 への変更はほとんどがネームスペースまわりの扱いなので機械的な作業なのだけれども、たまにクラスが無くなっていたり定数の定義が変わっていたりするので、それを追いかけながら修正するのに結構時間を取られてしまった。

今日の作業で一通りコンパイルが通るようになったのだけれども、立ち上げようとすると Bus error で落ちてしまう。gdb で追いかけてみると、数年前にも似たような症状でハマった記憶があるようなところで落ちている。落ちた記憶はあるけれども、どうやって直したのかが覚えてない(笑。もしかしたら、応急処置的に動くようにしただけだったのかも。

こういうことは長期休暇ぐらいにしかできないし、半年以上まともにプログラムを書いていなかったリハビリも兼ているのでちょっと気合いを入れて動くところまで持っていきたい。

今回ほぼ初めて OSX 上でまともにコードを触っているのだけれどもそろそろ Xcode を使って開発をすることも試さないと。21世紀になって早数年、未だに Emacs+gdb で頑張るのもどうかと思うし。でもなぁ。Linux でも使える環境と言ったら Emacs+gdb が一番な気もするし。最近だと Eclipse もアリなのかな? 何だかんだ言って VisualStudio ってよくできてると思う。特にデバッギング環境は充実してて使いやすい。あれに匹敵するぐらいの環境ってないものかな。

ただ、VisualStudio を使うっていうことはあのメモ帳並の機能しかないエディタを使うっていうことになるのがたまらなく苦痛でしかない。あそこに Emacs が入ってればいいのに。昔はキーバインドだけ Emacs モドキにするようなことも試したけれども、中途半端すぎてむしろストレスが溜まるだけだったな。今でもかわらないんだろうか?

そういえば最近やねうらおさんのとこでもIDEの話をしてたよなーと思ったら見つけた。何かやねさん(VS派) vs 他(Eclipse派)みたいになってるような(笑。業界が違うんで鵜呑みにはできないけど、議論は参考になる。

 

Programming, コンピュータ

fltk bug on OSX(2)

昨日目をつけていた不具合を手当り次第修正したら、エディタの文字が崩れるのはなおった。ただ、まだカーソルを移動するとサブピクセル単位で文字がウネウネ動くのでちょっと気持ち悪い(笑。これもどこかで数値を丸めてしまっているんだろう。

 とは言え、自分用に使う分には問題ないのでこのまま放置してしまおうかと思っているw。今は単に手軽に使える(そして一番慣れている)ツールキットを使って 3D の描画がしたかっただけだから。それに、このままだと fltk のバグを直すだけで休みが終っちゃうし(笑。

Programming, コンピュータ

fltk bug on OSX

fltkを OSX で使うために最新のリビジョンをビルドしたものの、テキスト編集まわりの挙動がどうにもおかしい。
カーソルを動かせばゴミが残るし、エディタなんかになると表示がボロボロに崩れて使えたものじゃない。
正式リリースじゃないしテキスト入力系のバグはよくあるのでとりあえず調査開始。

 ・Windows でビルドすると?
最新版じゃビルドできないww。ML のアーカイブを見ると、Windows 版では対応していない機能が最近追加されたらしい。追加される前のリビジョンでテストするとうまく動く。OSX ではやっぱりダメ。

 ・もっと古いリビジョンを試す
かなり古いものを持ってきても症状は同じ。

 ・src をいじる
Windows で OK で OSX で NG  なので、怪しいのは src/osx の中。問題のあるウィジェットのソースを見てるとFont.cxx の中の getwidth() 関数が怪しそう。OSX のテキスト処理とか詳しくないし調べるのもメンドいので、とりあえず返り値の数字をいじってみる→思った通りに挙動が変わる。更に、7.201172 とかキリの悪い数字を返していることもわかる。この時点で嫌な予感。

 ・TextDisplay.cxx に戻る
予想通り、getwidth() の返り値を int でキャストしてる(ぎゃー!!。これが原因か。半端な数字が丸められて、結果カーソル位置の計算がずれるっぽい。
これを直すのは面倒臭そう。キャストするのをやめるだけで直ればいいんだけど、それだけで足りるかなぁ。

とりあえず今日はここで力尽きたのでやめ。あんまりにも面倒臭そうだったら fltk-ml に丸投げするかw

というか、OSX でちゃんと使ってる人は誰もいないの!?

CG, Proce55ing, Programming

知らなかった…

Proce55ing って、標準では行列が扱えないのかー。知らなかったよ…

これは困った。手軽に描画ができるからって Proce55ing を使ってたのに、これじゃ手軽に描画ができないよ(笑。

JAMAみたいなライブラリを簡単に使えたりするのかなぁ?それならありがたいんだけど。そうでなかったら、昔 C++ で作ったプログラムのコードを流用して一から作ったほうが早そうな気がする。fltk を使ってるから、OSX に移植するのもそれほど手間じゃなさそうだしなぁ。気合いを入れれば一、二日でできるかも?

あとは、描画まわりは全部 Maya にお任せしてプラグインとして作るか。これが一番楽そうな気がする。


モノは試しに一番単純なアプリを移植したら、さっくりと移植できたw。

やったのは Makefile を書いたのと、windows 特有のヘッダファイルやら WinMain やらを書きかえただけ。あと、fltk1.x 用のコードだったので fltk2.x 用に書きかえたり。

これだったらfltk を使おうかなぁ。


コメントで jar が扱えるということを教えて頂いたので試してみました。手順は [Processing][仕様]外部ライブラリ(*.jar)の設置方法 を参考にして、JAMA を入れてみたところ何の問題もなくインストールできて拍子抜け(笑。

コードも、Webページにあったサンプルを copy&paste するだけで動いちゃいました。これは素晴らしい!!

更に、PackageLoc という3D幾何・代数操作パッケージもあるそうなので、Proce55ing に死角無しです。