Аудио API и управление аудио для SMAPI, без необходимости в Harmony. Добавить пользовательские аудио треки.
Аудио API и управление звуком для SMAPI без использования HarmonyLib.
Добавьте пользовательскую музыку в свои моды!Что делает этот мод?SAAT — это фреймворк, предназначенный для добавления, управления и изменения звуковых дорожек в Stardew Valley. Кроме того, он нацелен на дальнейшее улучшение звукового движка, поскольку звуковой движок XNA/MonoGame недостаточно хорошо справляется с управлением памятью и поддержкой. Он стремится к отказу от гармонизации.
Вы можете увидеть примеры того, как добавлять пользовательские аудиодорожки из
Документация на GithubНовое в версии 1.1.2:- Исправлена ошибка, приводившая к появлению предупреждающего сообщения «Не удалось найти CueDefinition с именем 'title_day'».
Новое в версии 1.1.1:- Функция защиты от сбоев, предотвращающая сбой игры при неправильном вызове или отсутствии реплики.
-- В случае неудачи воспроизводится «Стандартная реплика». Эта реплика воспроизводит тишину.
– Возможность принудительного добавления аудиодорожек в музыкальный автомат. См. команду «addtojukebox».
-- Это касается миграции. Моды, перешедшие из Custom Music в SAAT, удалят все пользовательские треки из плейлиста музыкального автомата, поскольку требуется префикс (cm:) для обозначения CM. SAAT проверяет все треки в музыкальном автомате и удаляет отсутствующие, чтобы предотвратить ошибки.
Новое в версии 1.1.0:- Добавить настройки звуковой дорожки.
-- Теперь можно задать запись в tracks.json для непрерывного цикла.
-- Теперь вы можете настроить запись так, чтобы она немедленно добавлялась в музыкальный автомат при создании новой игры.
- Команда «setdebug» переименована в «audiodebug», так как существует высокая вероятность конфликта с другими модами.
- Команда «gen_track_json» переименована в «tracktemplate».
- Команда «audio_allocs» переименована в «audioallocs».
- В команду audioallocs внесены некоторые исправления форматирования.
– Команда audioallocs теперь имеет необязательный параметр. Добавление идентификатора дорожки предоставит дополнительную информацию о конкретной дорожке.
- Была проведена некоторая внутренняя реструктуризация.
- Обновление документации.
Текущая функциональность:Разрешить добавлять совершенно новую музыку и звуковые эффекты в Stardew Valley
Позволяет добавлять музыку в музыкальный автомат.
Пока не реализовано / Будущие функции:Замена/переопределение звуковой дорожки
Пользователь может заменить существующие аудиодорожки другими, переопределив стандартные ресурсы неразрушаемым способом.
Обработка аудиосигнала (APS или DPS)Новая функция, которая позволит подвергать аудиофильтры низкочастотной и высокочастотной обработке, изменению высоты тона, эффектам и т. д. без необходимости создания еще одной дорожки.
Правильное управление памятьюЭто должно стать основной функцией API. На данный момент Stardew Valley использует XNA/MonoGame для управления памятью для аудио. Управление памятью несовершенно, поскольку загружает либо всё, либо ничего. Обычно аудиофайлы загружаются в память фрагментами, а не загружаются целиком. Это приводит к очень большому потреблению памяти.
Например, зимняя музыка загружается в память в начале игры. Даже если сейчас весна. Вы не услышите звуковую дорожку в течение 3/4 игры, но она всё равно занимает память.
Примечание: это подмножество API/Mod будет написано на языке C. Для обеспечения производительности требуется нативный язык.
Упакованный аудиоформатВ сочетании с правильным управлением памятью аудиофайлы будут сжиматься в двоичные файлы для каждого модуля. Это позволит ускорить загрузку/выгрузку/перезагрузку.
Это будет
не требуется, но это оптимизирует производительность. Особенно для больших аудиофайлов.
Набор инструментов для упакованного аудиоформатаЧтобы помочь создателям контента оптимизировать аудио для повышения производительности, будет предоставлен инструмент для создания упомянутого выше упакованного аудиоформата.
Исходный код и документация