S.F. Page

Programming,Music,etc...

音声ファイルから動画ファイルを生成する(20) – とりあえずUIラッパーは自作の方法で進める

とりあえず独自で

JUCEライブラリを覗いてみたらUI描画はDirect2Dでも行えるようになっているようだ。そうするとUIはJUCEを使えばいいのではないかとも思うが、やっぱりぼちぼち自作することにした。

JUCEというのはクロス・プラットフォームなライブラリでUIだけでなくオーディオ・グラフィック・データ構造など多岐にわたり、非常に高機能である。特にオーディオサポートが充実していて、tracktionなどのアプリもこれで作られているらしい。IntroJucerというアプリもついていてこれを使えばUIレイアウトも編集できる。

ただ今回の私の用途からすると必要なのはUIの部分だけで、その他はいらなかったりする。私は枯れ行くWindowsのしかもX64のみで動作するデスクトップアプリを作りたいだけである。クロス・プラットフォームなライブラリは抽象度が高すぎてそのような特定OSに偏重したアプリはそもそも合わないし、ライブラリとの接合点に新たなラッパーをかましたりする必要が出てくる。そういうことをするのならUIレイアウトエディタを自作するほうがよいかなと思った。というか今回作りたいアプリってUIレイアウトをエディタで編集するほどの規模でもないし。 さらにいうとJUCEはコンテナ・ライブラリが独自仕様で、それをベースに各ライブラリが作られている。私はSTLコンテナを使っているのでそこでまた変換をかまさないといけなくなってくる。コンテナはもう独自なものは使用したくないのだ。

つまり、JUCEというライブラリは非常に優れたライブラリである。ただ私が偏屈でライブラリ仕様に合わそうとしていないだけである。

VCのコンパイラのCTP版が出ていた。

2013/11にVS2013のC++コンパイラのCTP版が出ていた。

http://blogs.msdn.com/b/vcblog/archive/2013/11/18/announcing-the-visual-c-compiler-november-2013-ctp.aspx

制限つきながらもようやくconstexprに対応したようである。ClnagもGCCもとっくの昔に対応しているものであるが。

http://blogs.msdn.com/b/vcblog/archive/2013/12/02/c-11-14-core-language-features-in-vs-2013-and-the-nov-2013-ctp.aspx

ただC++11の対応度からするとまだまだ十分とは言えない。はやくすべての機能に対応してほしいものだ。Clang/GCCと比較して拙速なのは否めない。ただMSって昔はもっと規格への対応が遅かったように思う。少しはましになっていると思うが。

DirectXTK/DirectXTexライブラリもアップデート

とりあえずこれもアップデートしておいた。DirectXTKはオーディオ・サポートの追加くらいのようだ。DirectXTexはよくわからない。あとでドキュメントをみることにしよう。