[CLI] More debugging info for audio

This commit is contained in:
VaDiM 2023-03-08 17:16:16 +03:00
parent 679e7041a6
commit 10b7e84ffb
3 changed files with 16 additions and 6 deletions

View File

@ -3,6 +3,7 @@ using AssetStudioCLI.Options;
using Newtonsoft.Json;
using System.IO;
using System.Linq;
using System.Text;
namespace AssetStudioCLI
{
@ -60,11 +61,13 @@ namespace AssetStudioCLI
if (!TryExportFile(exportPath, item, ".wav", out exportFullPath))
return false;
Logger.Debug($"Converting \"{m_AudioClip.m_Name}\" to wav..\n" +
$"AudioClip sound compression: {m_AudioClip.m_CompressionFormat}\n" +
$"AudioClip channel count: {m_AudioClip.m_Channels}\n" +
$"AudioClip sample rate: {m_AudioClip.m_Frequency}\n" +
$"AudioClip bit depth: {m_AudioClip.m_BitsPerSample}");
var sb = new StringBuilder();
sb.AppendLine($"Converting \"{m_AudioClip.m_Name}\" to wav..");
sb.AppendLine(m_AudioClip.version[0] < 5 ? $"AudioClip type: {m_AudioClip.m_Type}" : $"AudioClip compression format: {m_AudioClip.m_CompressionFormat}");
sb.AppendLine($"AudioClip channel count: {m_AudioClip.m_Channels}");
sb.AppendLine($"AudioClip sample rate: {m_AudioClip.m_Frequency}");
sb.AppendLine($"AudioClip bit depth: {m_AudioClip.m_BitsPerSample}");
Logger.Debug(sb.ToString());
var buffer = converter.ConvertToWav(m_AudioData);
if (buffer == null)

View File

@ -31,6 +31,8 @@ namespace AssetStudioGUI
action("An error has occurred. Turn on \"Show all error messages\" to see details next time.");
}
break;
case LoggerEvent.Debug:
break;
default:
action(message);
break;

View File

@ -51,9 +51,14 @@ namespace AssetStudio
public byte[] SoundToWav(Sound sound)
{
var result = sound.getFormat(out _, out _, out int channels, out int bits);
Logger.Debug($"[Fmod] Detecting sound format..\n");
var result = sound.getFormat(out SOUND_TYPE soundType, out SOUND_FORMAT soundFormat, out int channels, out int bits);
if (result != RESULT.OK)
return null;
Logger.Debug($"Detected sound type: {soundType}\n" +
$"Detected sound format: {soundFormat}\n" +
$"Detected channels: {channels}\n" +
$"Detected bit depth: {bits}");
result = sound.getDefaults(out var frequency, out _);
if (result != RESULT.OK)
return null;