Mac OS X

2009年09月07日

GDで生成した画像を連番で保存し、それをmpeg動画に変換するには、ffmpeg コマンド(なぜかインストール済)で
$ ffmpeg -i png/abc%03d.png abc.mpeg
のようにすればよい事がわかったのだけれど、横方向が圧縮され、縦につぶれた変な動画ができてしまった。



pngが駄目なのかな...jpegに変換してから連結
$ mkdir jpeg
$ find . -name png/abc\*.png -exec sips --setProperty format jpeg {} --out jpeg \;
$ ffmpeg -i jpeg/abc%03d.jpg abc2.mpeg
してみたら潰れなかった


ので、GD側で最初からjpegで吐き出すようにしたら

pngから変換したものより若干画質が粗いが、とりあえずこれで良い。
Gauche-ffmpeg で直接できるのかな?こういう操作って…
あと、OpenGLで描いた三次元画像も動画化したいな…

動画のネタになっているニューラルネットワークに関してはあとで書く。

(13:25) Φ

2009年03月29日

ググったらguyonさんが以前に LeopardにGauche-dbd-sqlite3をインストールする というエントリを書いて下さっているのだけれど、0.1.3を諦めて0.1.1を入れているので勿体ないのでなんとかしたい。

元々入っていたsqlite3が 3.4 なので >3.5 に上げる

% sudo port install sqlite3
% gauche-package install -S root Gauche-dbd-sqlite3-0.1.3.tgz

でも

...

checking for pkg-config... /usr/local/bin/pkg-config

checking pkg-config is at least version 0.9.0... yes

checking for SQLITE3... configure: error: Package requirements (sqlite3 >= 3.5) were not met:

No package 'sqlite3' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you

installed software in a non-standard prefix.

Alternatively, you may set the environment variables SQLITE3_CFLAGS

and SQLITE3_LIBS to avoid the need to call pkg-config.

See the pkg-config man page for more details.

*** ERROR: command execution failed: cd "./Gauche-dbd-sqlite3-0.1.3"; ./configure

みたいなこと言うので話が進まない。

環境変数やら引数やらをあれこれ弄り倒す

  • SQLITE3_CFLAGS とか SQLITE3_LIBS を設定してみる。しかしどう設定したらよいのか分かってなくて挫折
  • やさしい嘘役に立ちそうな答を返すpkg-configをさくっと自作してカレントディレクトリに置いてみたりもした
  • ...

得られた教訓

portで入れたパッケージの情報は、パスの通ってる /usr/local/bin/pkg-config では得られない。/opt/local/bin/pkg-config を使わせるべし

従って、環境変数PKG_CONFIGを設定して

PKG_CONFIG="/opt/local/bin/pkg-config" gauche-package install -S root Gauche-dbd-sqlite3-0.1.3.tgz 

で行ける。

SQLITE3_CFLAGS, SQLITE3_LIBSでオーバーライドしてお茶を濁すならこう書けばよかったのだろうか:

SQLITE3_CFLAGS="-I/opt/local/include" SQLITE3_LIBS="-L/opt/local/lib -lsqlite3" gauche-package install -S root Gauche-dbd-sqlite3-0.1.3.tgz 


(16:40) Φ

2008年09月04日

9月20日※にアルクより発売予定の「英辞郎 第四版」に拙作「DiDi Dictionary Viewer」のカスタマイズ版「DiDi for EIJIRO」がMac OS X (10.4〜10.5) 用検索ソフトとして同梱されています。
※最速で9/18には書店店頭に並ぶそうです。


辞書ファイルやWindows版のPDICと合わせて1枚のCD-ROMに収めるという制約もあり、インデックスやsuffix-arrayを富豪的※に使う案は見送りましたが、快適に使える検索ソフトに仕上がったと思います。

(※…それでも120MB前後インデックスに使わせて貰ってます。GB単位で使いたかったの意)

第三版以前にバンドルされていた(これも拙作)PDIC Viewerとは比べものにならない快適さです。結構快適なので、最近「英辞郎 on the WEB」にアクセスする機会がほとんどなくなりました・・・
続きを読む

(00:51) Φ

2008年08月05日

vimで保存時にGrowlで主張する - rubyneko

Emacsでもやってみる。

.emacs
(defun growlnotify-after-save-hook ()
  (shell-command
   (format "growlnotify -m \"Emacs: ファイル %s を保存しました\""
		   (buffer-name (current-buffer)))))
(add-hook 'after-save-hook 'growlnotify-after-save-hook)

GrowlのパッケージのExtrasに入っている growlnotify をあらかじめインストールしておくこと。

追記20081216:
OutputzとGrowlいいねー



(06:39) Φ

2008年07月31日

Gauche on Quicksilverの最新版を公開しました。

・Gauche.frameworkの差し替え
  Intelマシンで OS X 10.4 の場合に落ちていたので再ビルド

・トリガー指定時に左のパネルのλアイコンをブランクに変更
  λアイコンが二つ並ぶのがちょっと鬱陶しかったので
  

               ↓↓↓

     

ダウンロードはこちらから。


(20:10) Φ

2008年07月30日

Gauche.frameworkを作ろう(+使おう)

-arch i386 -arch ppc

Universal Binary、即ちIntelおよびPowerPCマシンの両方で走るバイナリを吐くオプション。

-arch i386 でコンパイルしたIntel用バイナリと -arch ppc でコンパイルしたPowerPC用バイナリを後で lipo(後述)でくっつけることもできる。(そうしたい場合もある)

cc -c -arch i386 -arch ppc hoge.c
でコンパイルのみを行う(リンクなし)と、hoge.o(オブジェクトファイル)自体もユニバーサルになっている。これをリンクする場合にも
cc -o hoge -arch i386 -arch ppc hoge.o
のように同オプションが必要。さもないとビルドした環境用のバイナリしかできないようだ。



-isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4

OS X 10.4以降で動かしたいバイナリを10.5上でコンパイルする場合に必要なGCCのオプション(Mac用)。

-mmacosx-version-min=10.4なしでビルドしようとすると dylib1.10.5.ocrt1.10.5.o がないと言われる場合があり、そこで

% cd /Developer/SDKs/MacOSX10.4u.sdk/usr/lib/
% sudo ln -s dylib1.o dylib1.10.5.o
% sudo ln -s crt1.o crt1.10.5.o
とかすればとりあえずビルドは通るが、10.4で動かした時に落ちる場合がある。(落ちない場合もある)

-mmacosx-version-min=10.4 を付けると、上記のようなシンボリックリンクでお茶を濁す必要がなくなる。



0xCAFEBABE

デバッグ中にファイルをダンプしていて、Mac OS Xの実行ファイルも先頭4バイトが

CA FE BA BE
になっていることに今さら気づいた。「も」というのは、ご存知のようにJavaのクラスファイルもそうだから。



lipo

異なる実行環境のバイナリファイルを束ねて1つにしたり、ばらしたりするツール



(12:33) Φ

2008年07月27日

遅ればせながら昨日からQuicksilverユーザになったのですが、とりあえずQS上でGauche REPLが使えるプラグイン「Gauche Module」を公開します。

7/31更新:Gauche.frameworkの差し替え、トリガー指定時に左のパネルのλアイコンを消去、など
続きを読む

(22:45) Φ

2008年07月19日

木村さんの7/12Cocoa勉強会の発表資料を手引きに、clang(LLVMのC/Objective-Cフロントエンド)の静的解析を現在開発中のアプリに使ってみたところ

- Memory Leak x 1(releaseされていないオブジェクトが1つ)
- dead store x 1(代入したものの参照されていない値が1つ)

が発見されました。前者は明らかにバグでした。
結果が見やすいHTMLデータで得られるのが良いです。

OS X 10.4と10.5の両方をターゲットにしたアプリケーションの開発ではObjective-C 2.0の目玉のひとつであるGCが使えないので、メモリ管理まわりのデバッグの助けになるこうした解析ツールは助かります。

(22:54) Φ

2008年07月14日

Universal binaryなGauche.frameworkを作りたくて試行錯誤した際のメモをWiLiKiに載せました。
- naoya_t:MacOSX:Gauche.frameworkを作ろう - WiLiKi
- naoya_t:MacOSX:Gauche.frameworkを使おう - WiLiKi



(22:44) Φ

2008年04月13日

Change Terminal.app ANSI Color on Leopard
(via 開発環境としてのMac OS X Leopard - 古橋貞之の日記)
入れました。

Linuxとかだと普通にできることなのですが・・・
Terminalでxterm colorとか使うと青が暗くて見えなかったので助かります。



(07:29) Φ