Ticket #26977

DTXViewerの現行化

Open Date: 2011-12-20 16:14 Last Update: 2016-08-29 03:57

Reporter:
Owner:
Type:
Status:
Closed
Component:
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
Fixed
File:
None
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Details

DTXMania022 に対して以下の修正を施し、現行化された 023 を作成する。

  • IDE として VC++ 2010 Express を使用する。(VC++ランタイム変更)
  • DirectX SDK として October 2004 を使用する。
  • libpng, jpeglib, libogg, libvorbis を最新のものに入れ替える。

Ticket History (3/12 Histories)

2011-12-20 16:14 Updated by: from
  • New Ticket "DTXViewerの現行化" created
2011-12-21 02:30 Updated by: from
  • Status Update from Open to Closed
  • Ticket Close date is changed to 2011-12-21 02:30
Comment

rev.270 にて対応完了。

以下、コミットログメッセージより 022 からの変更点を抜粋・追記。

  • VisualC++ 2010 Express に対応した。(C++ランタイムは静的にリンク。)
  • DirectX SDK October 2004 を使用した。
    • 「$(ProgramFiles)\Microsoft DirectX SDK (October 2004)\」に Include と Lib が格納されている前提。他は不要。
  • jpeglib を Release 8c of 16-Jan-2011 に更新。
  • libpng を Version 1.5.7 (December 15, 2011) に更新。
  • zlib を 1.2.5 (19 Apr 2010) に更新。
  • libogg を Version 1.3.0 (2011 August 4) に更新。
  • libvorbis を 1.3.2 (2010-11-01) に更新。

注意:

  • このDTXViewerソリューションに含まれているFDKはdllではなくlibであるため、最終成果物は DTXV.exe だけ。
  • 実行には、022 と同じく xadec.dll が必要。(SoundDecoder.dll は不要。)
  • 022 の既知のバグの修正やリファクタは行っていない。
2011-12-21 02:30 Updated by: from
  • Resolution Update from None to Fixed
2011-12-21 02:51 Updated by: yyagi
Comment

ご対応いただき、ありがとうございました。お疲れ様です。

こちらでもDTXV用の開発環境を仮想環境上に作り始めましたが、OSインストールが未だ終わらず。 ライセンスの余っていたXPをVMwareに突っ込んだまでは良かったのですが、SP当てやらMicrosoftUpdateやらが未だ終わらず。

2011-12-21 10:34 Updated by: from
Comment

お疲れ様です。

うちのメインPCはもともとSlimDX用にVC++2010Expressが入ってましたので、追加で DXSDK Oct2004 を配置するだけでビルドできました。

DXSDK Oct2004 は既に June2010 が入っているためインストーラーではインストールできないので、手動で $(ProgramFiles) にフォルダを作成し、手動で Include と Lib を丸ごとコピーすれば OK でした。

ご参考までに。

2011-12-22 01:41 Updated by: yyagi
Comment

SVNへのビルド環境投入、ありがとうございました。おかげさまで、ウチでもなんとかビルドできました。(DTXV.exeの起動までは確認、動作は未確認)

私がちょっと躓いたのは、下記2点でした。

  • なぜか DTXViewerソリューションのシングルスタートアッププロジェクトがFDKだったので、DTXViewerに変更
  • なぜか zlibd.libがどうしても作れなかったので、zlib.libをコピってzlibd.libをでっちあげ

あと、中々気付かなかったのが

「$(ProgramFiles)\Microsoft DirectX SDK (October 2004)\」に Include と Lib が格納されている前提
フツーにDXSDK Oct2004をインストーラで入れると、「$(ProgramFiles)\Microsoft DirectX 9.0 SDK (October 2004)\」にインストールされたため、取り急ぎプロジェクトファイル内のパスの方に逐一9.0を挿入しました。後日SDKフォルダをコピーして対応しようと思っていますが、まずはこんな感じでなんとか。今日はここまで。

2011-12-22 02:03 Updated by: from
Comment

毎日深夜までお疲れ様です。

無事にビルドできたようで何よりです。


なぜか DTXViewerソリューションのシングルスタートアッププロジェクトがFDKだったので

あれ?ちゃんと直したのですが……、保存されてなかったかも知れません。


なぜか zlibd.libがどうしても作れなかったので、zlib.libをコピってzlibd.libをでっちあげ

すんません。zlibd.lib ってのは、私が勝手に付けてた名前です。(汗

デフォルトの zlib では、Debug Library 版と Release Library 版のどちらも「zlib.lib」という名前になります。

なので、当時は他と合わせて Debug Library の出力名に「d」を付けていたのですが、今回は設定を変え忘れていました。

というか全体的に Release 版しかビルドしてなかったです。(汗


フツーにDXSDK Oct2004をインストーラで入れると、「$(ProgramFiles)\Microsoft DirectX 9.0 SDK (October 2004)\」にインストールされたため、取り急ぎプロジェクトファイル内のパスの方に逐一9.0を挿入しました。

これまたすみません。これもまた私が勝手に付けた名前です。

てきとーに付けた名前なのに、そこまでモノホンに近かったとは……(汗


本当はもっと細かい修正(各libの設定も変えているのでその説明とか)を行いたかったのですが、とりあえず最低限ビルドできる段階でコミットしました。

徐々に修正していきたい所存です。


……てか、C# 版どうしましょう? 需要ありますかね?

2011-12-22 02:28 Updated by: yyagi
Comment

色々と了解しました。こちらでもちびちび直して023にコミットしていきます。(zlibについては、DTXVのReleaseビルドがzlibd.libを要求してきたんですよ・・・orz リビルド漏れだったのでしょうかね。)

で、C#版は絶対必要だと思っています。今のC++版だと現行DTXMania本体と発音タイミングが違いますし、尺の長い音声の再生ができないし...etc etc。

ただ、現行DTXMania本体のソースを活用しつつ保守を簡単にしようとすると(要するに1つのソースファイルでDTXMania/DTXV兼用にしようとすると)、ソリューション構成が悩ましいです。ソースファイルのコピペで逃げてしまうならそこは楽ですが、後々面倒ですわね。

ではでは、お休みなさい。

2011-12-22 09:52 Updated by: from
Comment

現行DTXMania本体のソースを活用しつつ保守を簡単にしようとすると(要するに1つのソースファイルでDTXMania/DTXV兼用にしようとすると)、ソリューション構成が悩ましいです。ソースファイルのコピペで逃げてしまうならそこは楽ですが、後々面倒ですわね。

はい。過去に両方やりましたが、両方とも凄まじく面倒でした。

結局は、StrokeStyle<T> のように本体そのものをプレイヤーにしてしまうのが一番楽だと思います。

2011-12-22 10:02 Updated by: yyagi
Comment

会社から。そういえばdtxvや周辺モジュールのEULAってついてましたっけ。

2011-12-22 10:06 Updated by: from
Comment

自宅から。正直面倒なので付けてませんでした。

本体のほうも、オープンソース化する際にようやく付けだした程度ですから……。

2016-08-29 03:57 Updated by: yyagi
Comment

feature/DTXV023-updateLibs に、以下の内容をpushしました。これで、旧DTXVで一部oggが鳴らなかった、などの問題が改善されると思います。 (当方現象未確認のため、あくまで「思うだけ」ですが・・・。)

  • jpeglib を Release 8c (16-Jan-2011) から 9c (17-Jan-2016) に更新。
  • libpng を Version 1.5.7 (December 15, 2011) から 1.6.23 (June 9, 2016) に更新。
  • zlib を 1.2.5 (19 Apr 2010) から 1.2.8 (Apr 28, 2013) に更新。
  • libogg を Version 1.3.0 (2011 August 4) から 1.3.2 (2014 May 27) に更新。
  • libvorbis を 1.3.2 (2010-11-01) から 1.3.5 (2015-01-05) に更新。
  • ライブラリのラインセンス情報を、LICENSES フォルダに格納した。

注意:

  • 023 の既知のバグの修正やリファクタは行っていない。

ビルドについて補足:

  • DTXViewerのLIBパス指定は当然要変更だった。
  • fdk10.h をいくつか変更する必要があった。 (libpng.lib を libpng16.lib に変更、など)
  • libvorbisのビルドにあたって、/MD の設定になっていたのを /MT に変える必要があった。
  • なぜかまた DTXViewerソリューションのシングルスタートアッププロジェクトがFDKだったので、DTXViewerに変更する必要があった
  • その他ありましたが忘れたので、後日wikiに説明を起こします。

Attachment File List

No attachments

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login