Google C++ Testing FrameworkをVisual Studio Express 2012 for Windows Desktopでビルドした
ちょっと必要になったのでGoogle C++ Testing Framework(以下gtest)をVisual Studio Express 2012 for Windows Desktop(以下msvc11)でビルドしました。といっても、やったのはソリューションファイルとプロジェクトファイルを用意しただけ。差分はgistにあげました。
https://gist.github.com/iwadon/4722737 *1
gtest-1.6.0を展開したディレクトリからpatchするとmsvc11ディレクトリが出来上がるので、その中のソリューションファイルを使ってビルドします。
*1:当初はgistを貼り付けてましたが、表示がおかしくなったのでリンクのみにしました。
Audition CS6のメディアブラウザーのショートカット
Audition CS6にはメディアブラウザーという、Explorerのツリービューに音声素材のプレビュー機能を加えたようなパネルがあります。Audition 3以前はファイルを開くダイアログでプレビューを行えていましたが、Audition CS5.5ではその機能が削除されました。かなり不便でしたがAudition CS6でこのメディアブラウザーが追加されたためプレビュー環境はかなり改善されました。
プレビュー環境の改善は嬉しいのですが、このメディアブラウザーではディレクトリ名を直接指定できないのが不便で、複数のディレクトリを渡り歩くのが面倒です。そこで、ディレクトリ名をショートカットとして保存する機能をよく使っていますが、保存される名前が実際のディレクトリ名のままなのがまた不便です。というのも僕が素材ファイルを置く場所というのは大概materialという名前にしているため、複数のプロジェクトの素材置場を次々にショートカットに保存すると、ショートカットのリストにはmaterialという名前が並ぶことになって、どれがどれだかわからなくなります。
- work
- プラットフォームA
- 作品名
- build
- material
- script
- (中略)
- 作品名
- build
- material
- script
- (中略)
- 作品名
- プラットフォームB
- ...(以下略)
- プラットフォームA
(以下後程追記します)
ODSファイル同士の比較表示
TortoiseSVN向けにWinMergeを使ったODSファイルの差分を表示するスクリプトをRubyで書いた。普段TortoiseSVNの「差分ビューアー」に登録する場合はexerbを使って実行ファイル化するんだけど、exerbを使えるRuby 1.8環境にはNokogiriをインストールしてなくて、かつ今更インストールするのも面倒。ということで、TortoiseSVNにはrubyw.exeでスクリプトを実行するように設定した。
ちなみに書いたのやこんなヤツ。以前Qiitaにあげたもの*1と作りは同じだけど、ODSファイルをTSV形式に変換するところを具体的に書いた。ODSファイルからcontent.xmlを取り出して、NokogiriのSAXパーサーを使ってTSV形式のファイルにしてからWinMergeで比較している。
require 'nokogiri' require 'zip/zipfilesystem' class Doc < Nokogiri::XML::SAX::Document attr_reader :tsv def initialize @tsv = '' @begin_of_row = false @str = '' end def characters(str) @str << str end def start_element(name, attrs = {}) case name when 'table:table-row' @begin_of_row = true when 'table:table-cell' n = (attrs.assoc('table:number-columns-repeated') || [0, 1])[1].to_i n.times do if @begin_of_row @begin_of_row = false else @tsv << "\t" end end else @begin_of_row = false end end def end_element(name, attrs = {}) case name when 'table:table-row' @tsv << "\n" when 'table:table-cell' @tsv << "\"#{@str}\"" unless @str.empty? @str.clear end end end def ods2tsv(filename) content_xml = Zip::ZipFile.open(filename) do |zf| zf.file.read('content.xml') end doc = Doc.new parser = Nokogiri::XML::SAX::Parser.new(doc) parser.parse(content_xml) doc.tsv end require 'tempfile' a = Tempfile.new('diff_ods_a_') b = Tempfile.new('diff_ods_b_') begin a.write(ods2tsv(ARGV[0])) b.write(ods2tsv(ARGV[1])) a.close b.close system 'C:/Program Files/WinMerge/WinMergeU.exe', a.path, b.path ensure a.close! b.close! end
ODSファイルのテキスト化については以前 xdoc2txtとODSファイル - 単なる日記@はてな という日記を書いたが、今回の差分表示は以前よりはマシな感じになってる(ように見える)。凝りだすときりがないのでこれはここまで。仕事に戻ります。
2013-01-28 17:17
- 行末に余分なコンマが出力されていたのを修正した。
- セルの内容によって複数回Doc#charactersが呼び出されても問題ないようにした。
- 複数回同じセルの内容が続くとうまく出力されなかったのを修正した。
Emacs 24.2 for Windowsでのdiredの表示の崩れを直した
Index of /gnu/emacs/windows
Windows 7でEmacs 24.2を使っていて、以前からdiredの表示が崩れているのが気になっていた。具体的には各行の月の表示が一桁だったり二桁だったりして、ファイルの日付によって一文字分表示がズレてしまう。例えば以下の様な表示になる:
ググっても同様の現象が起きている人を見つけられなかったため環境依存の可能性が高いが、どうにも見辛いので解決方法を探していたところ、変数ls-lisp-format-time-list
を使って日付の書式を変更できるらしい。ということで以下のようにした:
(setq ls-lisp-format-time-list (quote ("%2b %d %H:%M" "%2b %d %Y")))