Moves the six backend projects on disk into Core/ and Hosts/ subfolders, matching the solution folders already defined in Musify.slnx, so the file explorer reflects the same layout as the solution: backend/Core/Musify.Domain backend/Core/Musify.Application backend/Core/Musify.Infrastructure backend/Hosts/Musify.Api backend/Hosts/Musify.Worker backend/Hosts/Musify.StreamingGateway Updates every reference to the old paths: ProjectReference entries in Musify.Api.csproj and Musify.Worker.csproj, the three Dockerfiles, deploy/scripts/migrate.ps1|sh, deploy/zitadel/provision.ps1, deploy/up.ps1, deploy/README.md and docs/development.md. Also fixes a stale Dockerfile comment pointing at a compose file that no longer exists. Verified with `dotnet build Musify.slnx` against the new layout.
41 lines
1.1 KiB
C#
41 lines
1.1 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
|
|
namespace Musify.Infrastructure.Configuration
|
|
{
|
|
public class AudioConfiguration
|
|
{
|
|
public const string SectionName = "AudioTranscoder";
|
|
|
|
[Required]
|
|
public TimeSpan TranscodingTimeout { get; set; } = TimeSpan.FromMinutes(5);
|
|
|
|
[Required]
|
|
public FfmpegConfiguration Ffmpeg { get; set; } = new FfmpegConfiguration();
|
|
}
|
|
|
|
public class FfmpegConfiguration
|
|
{
|
|
[Required]
|
|
public string ExecutableName { get; set; } = "ffmpeg";
|
|
|
|
[Required]
|
|
public string OutputFileName { get; set; } = "audio.m4a";
|
|
|
|
[Required]
|
|
public string AudioCodec { get; set; } = "aac";
|
|
|
|
[Required]
|
|
public string AudioBitrate { get; set; } = "128k";
|
|
|
|
[Range(1, 8)]
|
|
public int AudioChannels { get; set; } = 2;
|
|
|
|
[Range(8000, 192000)]
|
|
public int AudioSampleRate { get; set; } = 48000;
|
|
|
|
[Required]
|
|
public string AudioProfile { get; set; } = "aac_low";
|
|
|
|
public string AdditionalArguments { get; set; } = string.Empty;
|
|
}
|
|
} |