Download List

프로젝트 설명

DTXMania is drums traning software that can easily enjoy playing for electronic drums "DTX" series.

About detailed usages, please see FrontPage in documents.

Sister projects:

System Requirements

System requirement is not defined

Released at 2021-10-20 00:00
DTXMania 100 series, and DTXCreator: 119(211020) and 035(191001) (1 files Hide)

Release Notes

Any comments/requests are welcome. Feel free to tell us about it by Ticket or Forum.

DTXMania Release 119 has been released.(Already 1.5years has been past since the last Rel118 release...)

Major change is;

  • Multithreaded audio-mixing to improve its performance.

It causes great performance improvement especially for the guitar/bass playing. It also allow us that

  • Maximum number of guitar/bass chip sound playing simultaneously is now configurable
  • Dynamic add/remove chip-sound to internal audio mixer can be disable by configuration (to set playing more stable)

No updates in DTXCreator and DTX2WAV. Very little feature update for MidiInChecker2.

問題・ご意見・要望等ありましたら、チケットまたはフォーラムにてお知らせください。

DTXMania Release 119は1年半ぶりのリリースとなります。

これまで演奏処理のボトルネックだったオーディオのミキシング処理をマルチスレッドで処理するようにして、特にギター/ベースの演奏の安定性を大幅に改善しました。 (これに伴い、ギター/ベースの最大同時発音数をドラム同様に設定で増やせるようにしました。更に、ミキサーへの動的なチップ音の追加削除を行わないようにして演奏の安定性をさらに高める設定も追加しました。)

その他、色々な不具合を修正しています。

DTXCreatorとDTX2WAVの更新はありません。MidiInChecker2はささやかな機能強化があります。

Changelog

New features

#37271 Multi-threaded audio mixing.

Old versions mixes various chip-sounds in a single thread, and it causes high CPU load for audio processing, especially in WASAPI/ASIO mode. The latest BASSmix support multithread audio mixing, and DTXMania support it. As the result, the stability of playback/scrolling chips is significantly improved.

To use its performance improvement well, two settings are added in CONFIGURATION/System/Sound Option:
"DynamicMixing" and "PolyphonicSoundsGB".

"Dynamic Mixing" enables/disables feature which add/remove chip-sound to the audio mixer dynamically.

Old DTXMania enable the feature to minimize the number of registered chip-sound in the mixer, to gain mixing performance...especially for the guitar/bass song data (to avoid intermittent audio playback, ratting chip scroll,...).

However, the mixing performance is improved well, so now no guitar/bass playback impact even if we disable the dynamic mixing feature.

And disabling the feature will improve the stability of chip-scrolling (because no dynamic adding/removing audio-chip registration occurs)

Default setting is Enabled (The same as the past).

"PolyphonicSoundsGB" defines a maximum simultaneous sounds in the same chip. Old DTXMania you can only specify drum's one (PolyphonicSounds) and guitar/bass's one was basically 2. Now drum's setting and guitar/bass's setting are separated.

Default value is PolyphonicSounds=4 and PolyphonicSoundsGB=2. (in old DTXMania: PolyphonicSounds=2, guitar/bass=2) Although default guitar/bass value is the same, but now it is configurable.

# BTW, very old DTXMania (no WASAPI/ASIO supported), these parameters are all 4.

#40813 Key-repeated Up/Down key are now assignable at CONFIGURATION/System/Input Option/. It will be good for e-drums (you should assign these key to joypad, and you should use both e-drums and joypad)

#40772 Add "no enumerating at boot" settings. You can set it by CONFIGURATION/System/Enum Songs@Boot. (Old DTXMania's secret feature: "Boot DTXMania with Caps-Lock=On to disable enumerating" is now obsoleted)

#40485 Add MidiInChecker2 feature: mask realtime message by Option - Ignore realtime messages. Default setting is enabled (ignore realtime message)

Updated/Changed features

#23510 Double-click to change window-mode and fullscreen-mode. (Added fullscreen -> window feature)

#24159 Added triplet metronome feature.

#34195 Added resource.csv font customize support in SELECT MUSIC screen: song list, artist, history, quick config and showing DTX path (push DEL to enable/disable it).

#40836 Fixed input judgement. In old DTXMania, there is higher priority for the chip "not played" in the past, rather than "nearest future chip". It means that once "not played chip" occurs, many POOR/MISS will occur in following chips. So the judgement logic has been updated to "use nearest chip".

#40847 Keep 1second pushing guitar/bass cancel button to exit playing screen. Pushing ESC will exit right now.

#xxxxx Reduce ratting at starting movie playback.

#xxxxx Changed default value of BufferedInput: ON -> OFF.

Bug fixes

#43055 Fix not to occur noisy sound when 8bit-data-unit-WAVE file is played. (Almost WAVE files use 16bit-unit)

#43056 Fix not to occur noise at playing mp3, wav, and ogg file. (but possibly you can't recognize the difference about ogg playback)

#xxxxx Fix not to GPF when 0byte sound chip is input to mp3 parser.

#xxxxx Fix not to GPF when WASAPI device info has null strings.

#xxxxx Fix not to GPF when exit play screen at playing movie.

#xxxxx Fix not to GPF at log output.

#xxxxx Fix to release mixer resources correctly in WASAPI mode.

#36522 Fix to set the last position correctly when go back from sub menu.

#40869 Fix screen layout correctly, for 3:2 aspect panel (Surface Pro etc)

#40867 Fix to playback old-style small movie correctly after playbacking new-style full-screen movie.

#xxxxx Fix to affect resource.csv font definition for "Hit key to assign" dialog.

#40870 Fix to affect resource.csv font definition to "Description" in CONFIGURATION screen.

#41145 Fix to output to monaural speaker. (Note: No LEFT/RIGHT mixing. Only LEFT channel will be output)

#41300 Fix to start DTXMania correctly when DTXMania window is not active.

#42987 Fixed not to fail seeking to the tail of mp4 video (by using DTXCreator + DTXMania). (thanks to joe21121)

#42998 Fixed to draw Artists/Comments correctly in SELECT MUSIC screen. (thanks to joe2121)

#xxxxx Fix to show the item name and descriptions of CONFIGURATION/System/Skin (General) correctly.

#xxxxx Attached license description file about M+ FONTS. I apologize my license handling.

Miscellaneous

#xxxxx Remove memory allocation for non-used font data in SELECT MUSIC screen.

#xxxxx Updated .NET Framework version to 4.7.2.

#xxxxx Updated BASS-related libraries to the latest ones.

#xxxxx Detailed log output about warning message at initial key assignment.

#xxxxx Added error log when failed to start WASAPI.

#xxxxx Added detailed error log when failed playing sound. And also, changed internal logic from "register the sound data to audio mixer, when failed playback it" to "register the sound to the mixer first (if it is not registered), then start playback", to avoid tons of error logs.

#xxxxx Modified some coordinates of strings in CONFIGURATION screen.

#xxxxx Fix small memory leak at CONFIGURATION text strings images.

#xxxxx Fix not backup power plan if not required.

#xxxxx To digitally sign FDK, signed libbjxa and NVorbis. And also, replaced DirectShowLib.dll (not signed) to DirectShowLib-2005.dll (signed).

#xxxxx Updated readme (.NET Framework version, concrete example about adding enumerating song folder)

#37271 Removed BASSThreadedMixerLibrary-related codes, because BASSmix can support multithreaded mixing ang BASSThreadedMixerLibrary is not needed any longer. (Note that the code is not used at all...)

#xxxxx Refactored CTextureAutoFold().

#40868 Feature updated of CPrivateFont().

  1. Accept not only ttf-filename but also font name (MS-PGothic etc) in the first argument of constructor.
    (Although old version can accept "new Font()" as the first argument of constructor, but it's not useful)
  2. Add 1 more optional argument "Size()" for DrawPrivateFont(). The text will be drawn as "wrapped" in Size() region. If you don't use Size() argument, it will be drawn as "NoWrap".

新機能

#37271 ミキシング処理をマルチスレッドで並列処理するよう修正。 従来はミキシング処理の負荷が非常に高く、特にWASAPIやASIOを使用している場合に演奏負荷が高かったが、BASSmixの新機能(処理のマルチスレッド化)に対応することで、演奏動作の安定性が大幅に向上した。

これに伴い、CONFIGURATION/System/Sound Option/ に "DynamicMixing" と "PolyphonicSoundsGB" を追加。

前者(Dynamic Mixing)は演奏時に動的にミキサーにチップ音を登録したり削除したりする処理を行うための設定で、 従来はこの機能を常にONにして使用していた。 これによりミキサーに同時登録されているチップ音の数を減らし、ミキシング処理の負荷を軽減し、 特にギター/ベースありの譜面演奏時のカクツキ/チップ音の間欠再生といった問題に対処していた。

しかし、今回ミキシング処理のマルチスレッド化で処理負荷が大幅に軽減されたため、この設定をOffにしても演奏に問題が出なくなった。 むしろ演奏中のミキサーへの不定期なチップ音登録削除処理がなくなる分、演奏は安定するものと思われる。 そのため、従来はConfig.xmlを直接編集することでのみ設定できたこの機能を、CONFIGURATIONで変更できるようにした。 初期値はOn(=従来通りの動作)。

後者(PolyphonicSoundsGB)はギター/ベースの(同じチップ音での)最大同時発音数を、 ドラムのそれ(PolyphonicSounds)とは独立して設定できるようにしたもの。 従来ギター/ベースの最大同時発音数は2又は1(ドラムの最大同時発音数で変化)だったが、 ドラムとは無関係に独立して最大発音数を設定できるようにした。

初期値はドラムとギター/ベースがそれぞれ4と2。 ドラムは従来の2から4に倍増、ギター/ベースは従来同様(だが設定で増加させることができるようになった)。

# なお、DTXMania本体がWASAPI/ASIOに対応する前は、ドラム/ギター/ベースの区別なくすべて4でした

#40813 キーリピートありのUp/Downを、CONFIGURATION/System/Input Optionからキーアサインできるようにした。電子ドラム使用時の選曲が楽になるはず。(ジョイパッド等の併用が前提ですが)

#40772 起動時にEnumerate Songsしない設定を追加。CONFIGURATION/System/Enum Songs@Boot で設定可能。 なおこれに伴い、隠し機能だった「起動時にCaps LockがOnになっていると、Enumerate Songsしない」機能は、廃止した。

#40485 MidiInChecker2でリアルタイムメッセージを非表示にする機能を追加。Option - Ignore realtime messages で有効無効を切り替える。 初期状態は、リアルタイムメッセージ非表示。

機能強化/変更

#23510 マウスのダブルクリックでのフルスクリーンモードへの移行について、もう一度ダブルクリックするとウインドウモードに戻るようにした。

#24159 メトロノーム機能で、Off/表拍/裏拍に加えて、三連符も使えるようにした。

#34195 選曲リストとアーティスト表示部、演奏履歴パネル、Quick Config、選曲画面でのDTXファイルパス表示(DELでon/off切り替え)のフォントを、resources.csvファイルから指定できるようにした。

#40836 入力判定処理がおかしかったのを修正。具体的には、過去の近くに未演奏チップがあると、未来の新規チップが最も近いチップがあっても、その古いチップに対して入力が働いてPOORやMISSになっていた。そのため、新規のチップも使って判定するように修正した。

#40847 演奏画面での誤操作防止のため、ギター/ベースのキャンセルボタンは、1秒以上の長押しで反応するように修正。ESCキーは、従来通り押下時即反応。

#xxxxx 動画再生開始時のカクツキを軽減。

#xxxxx BufferedInputの初期値を、ONからOFFに変更。

バグ修正

#43055 データ単位が8bitのwavファイルを再生するとノイズまみれの再生となる問題を修正。

#43056 mp3/wavファイルの再生でノイズが乗る問題を修正。 なおoggも類似の問題があり修正しましたが、こちらはほとんど体感できない程度の音の違いだと思います。

#xxxxx 0byteの音源ファイルがmp3パーサを通ると例外発生していたのを修正。

#xxxxx WASAPIのデバイス情報にnullがあった場合に例外発生していたのを修正。

#xxxxx 動画が再生しているときに演奏中断すると稀に例外発生することがある問題を修正。

#xxxxx 極稀にログ出力で例外発生する問題を修正。

#xxxxx WASAPIの利用終了時のミキサー開放処理が不適切だったのを修正。

#36522 コンフィグでサブメニューから戻る際にカーソル位置が初期化されてしまう問題を修正。

#40869 Surface Proのようなアスペクト比が3:2のモニタだと、選曲画面上部のINFORMATION表示でPadやギターボタンの画像表示が拡大表示されてレイアウトが崩れる問題を修正。

#40867 一度全画面動画に対応したDTXデータを演奏すると、以後従来互換の動画を再生しても全画面再生になる問題の修正。

#xxxxx "Hit key to assign"のフォント指定をresources.csvから引用できていなかった問題を修正。

#40870 resources.csvにある、コンフィグ画面の説明文のフォント指定が反映されない問題を修正。

#41145 モノラルスピーカーを既定のオーディオデバイスにしていた場合、WASAPIやASIOを使用すると音が出なくなる問題を修正。ただし2チャンネルの音声を1チャンネルにダウンミックスするのではなく、単にLEFTチャンネルの音を出力するだけとなる。

#41300 DTXManiaの起動時にウインドウ表示後アクティブになるまで、DTXManiaが起動しない問題を修正。

#42987 Fixed failing to seek the tail of mp4 video (by using DTXCreator + DTXMania). (thanks to joe21121)

#42998 選曲画面で、Artis/Commentが描画されない場合があった問題を修正。(thanks to joe2121)

#xxxxx CONFIGURATION/System/Skin (General) の項目名と説明文が正しく表示されていなかったのを修正。

#xxxxx M+ FONTSのライセンス情報を追加。これまでの添付不備申し訳ございませんでした。

その他

#xxxxx 選曲画面で、不要なフォントを確保していたのを削除。

#xxxxx .NET Frameworkのバージョンを4.7.2に変更。

#xxxxx BASS関連ライブラリを最新のものに更新。

#xxxxx キーアサインの初期値読み込みのところでの、warning出力メッセージを詳細化。

#xxxxx WASAPI開始失敗時のエラーログを追加

#xxxxx 再生開始に失敗した時のログ出力を強化。また、「再生に失敗したらミキサーに登録する」ではなく「ミキサー未登録ならまずミキサーに登録し、それから再生する」ように変更。(そうしないと再生失敗のエラーログまみれになってしまうので)

#xxxxx 設定画面での各種座標の微調整

#xxxxx コンフィグ画面での文字列画像の解放漏れの修正。

#xxxxx 電源プランのバックアップが不要な時はしないよう修正

#xxxxx FDKに署名を入れるために、DirectShowLibを署名ありのもの(DirectShowLib-2005)に変更し、またlibbjxaとNVorbisにも署名を追加。

#xxxxx 添付readmeの更新 (.NETのバージョンを4.7 から 4.7.2に変更、曲探索フォルダの追加の具体例を追記)

#37271 BASSmixでのミキシング並列処理の対応に伴い、BASSThreadedMixerLibrary関連コードを削除。(ただし、もともと#if.. で注釈化して未使用だったソースコードの削除ということになります)

#xxxxx CTextureAutoFoldのリファクタ

#40868 CPrivateFont()の機能強化。

  1. フォント選択の文字列として、ttfのファイル名だけでなく、フォント名(MS PGothicなど)を直接指定できるようにする。(従来も new Font() をコンストラクタの第1引数に指定できていたが、これでは使いづらい)
  2. DrawPrivateFont() の最後の引数に、Size()を指定できるようにする。文字列はこの領域の中で、適宜改行されて上詰め左詰め(正確にはNear,Near)で描画される。Size()を指定しない場合は、従来通り(NoWrap)の動作。