HarmonyLib を一切使用しない、SMAPI 用のオーディオ API とオーディオ管理。
あなたのMODにカスタムミュージックを追加しましょう!このMODは何をしますか?SAATは、Stardew Valleyにおけるオーディオトラックの追加、管理、変更を目的としたフレームワークです。XNA/MonoGameのオーディオエンジンはメモリ管理とサポートが不十分であるため、SAATは将来的にオーディオエンジンの改良を目指しています。SAATはハーモニーレスを目指しています。
カスタムオーディオトラックを追加する方法の例は、
Githubのドキュメントv1.1.2の新機能:- 「'title_day'という名前のCueDefinitionが見つかりません」という警告メッセージが表示されるバグを修正しました
v1.1.1 の新機能:- キューが誤って呼び出されたり、見つからなかった場合にゲームがクラッシュするのを防ぐフェイルセーフ機能。
-- 失敗すると、「デフォルトキュー」が再生されます。このキューは無音になります。
- オーディオトラックをジュークボックスに強制的に追加する機能。「addtojukebox」コマンドを参照してください。
-- これは移行に関するものです。カスタムミュージックからSAATに移行したMODでは、CMのプレフィックス(cm:)表記が必要なため、ジュークボックスのプレイリストからすべてのカスタムトラックが削除されます。SAATはジュークボックス内のすべてのトラックを検証し、不足しているトラックを削除することで、この問題を未然に防ぎます。
v1.1.0 の新機能:- オーディオ トラック設定を追加します。
-- tracks.json 内のエントリを継続的にループするように設定できるようになりました。
-- 新しいゲームが作成されると、エントリがジュークボックスにすぐに追加されるように設定できるようになりました。
- 他のMODと競合する可能性が高いため、コマンド「setdebug」の名前が「audiodebug」に変更されました。
- コマンド「gen_track_json」の名前が「tracktemplate」に変更されました。
- コマンド「audio_allocs」の名前が「audioallocs」に変更されました。
- audioallocs コマンドのフォーマットがいくつか修正されました。
- audioallocs コマンドにオプションパラメータが追加されました。トラックIDを追加すると、特定のトラックの詳細情報が表示されます。
- 内部の再編が行われました。
- ドキュメントの更新。
現在の機能:Stardew Valleyに新しい音楽と効果音を追加できるようにする
ジュークボックスに音楽を追加できます。
まだ実装されていない機能 / 今後実装予定の機能:オーディオトラックの置き換え/オーバーライド
個人は、既存のオーディオ トラックを別のトラックに置き換えて、破壊不可能な方法でバニラ アセットを上書きすることができます。
オーディオ信号処理(APSまたはDPS)別のトラックを作成しなくても、オーディオにローパス、ハイパス、ピッチ変更、エフェクトなどを適用できる今後の機能。
適切なメモリ管理これはAPIの主要機能となる予定です。現在、Stardew Valleyはオーディオのメモリ管理をXNA / MonoGameに依存しています。このメモリ管理は設計が不十分で、全て読み込むか全く読み込まないかのどちらかです。通常、オーディオは一度に全てメモリに格納されるのではなく、チャンク単位でメモリに格納されます。そのため、メモリ消費量が非常に多くなります。
例えば、冬の音楽トラックはゲーム開始時にメモリに読み込まれます。春であっても、ゲームの4分の3の間はオーディオトラックが聞こえないにもかかわらず、メモリを消費し続けます。
注意: この API / Mod のサブセットは C で記述されます。パフォーマンスを確保するにはネイティブが必要です。
パックオーディオ形式適切なメモリ管理と併せて、オーディオはMODごとにバイナリファイルに圧縮されます。これにより、ロード/アンロード/リロード処理が高速化されます。
それは
必須ではないただし、パフォーマンスは最適化されます。特に大きなオーディオファイルの場合に有効です。
パックオーディオ形式用ツールキットコンテンツ作成者がパフォーマンスに合わせてオーディオを最適化できるように支援および奨励するために、上記のパックされたオーディオ形式を作成するためのツールが提供されます。
ソースコードとドキュメント