33d6f34d8a
Background-job transcode (ffmpeg/libopus) after source store; pure C# Ogg walker builds the 0.5s-bucketed granule→byte seek index + captures the OpusHead/OpusTags setup header into a per-track sidecar in a new track-opus vault. Best-effort, additive, regenerated on replace-audio.
40 lines
1.7 KiB
C#
40 lines
1.7 KiB
C#
namespace DeepDrftContent.Constants;
|
|
|
|
/// <summary>
|
|
/// Constants for FileDatabase vault names
|
|
/// </summary>
|
|
public static class VaultConstants
|
|
{
|
|
/// <summary>
|
|
/// Vault name for storing audio tracks
|
|
/// </summary>
|
|
public const string Tracks = "tracks";
|
|
|
|
/// <summary>
|
|
/// Vault name for storing waveform loudness profile sidecars, keyed by track EntryKey.
|
|
/// </summary>
|
|
public const string WaveformProfiles = "waveform-profiles";
|
|
|
|
/// <summary>
|
|
/// Vault name for storing cover-art images, keyed by a generated entry key referenced
|
|
/// from <c>TrackEntity.ImagePath</c>.
|
|
/// </summary>
|
|
public const string Images = "images";
|
|
|
|
/// <summary>
|
|
/// Vault name for per-track high-resolution waveform datums, keyed by the track's EntryKey.
|
|
/// Every track (Mix, Session, Cut) carries one — computed at upload, regenerable on demand.
|
|
/// Distinct from WaveformProfiles (player-bar low-res); same pipeline at higher resolution.
|
|
/// The datum resolution is duration-derived (≈333 samples/sec, see <c>WaveformResolution</c>).
|
|
/// </summary>
|
|
public const string TrackWaveforms = "track-waveforms";
|
|
|
|
/// <summary>
|
|
/// Vault name for the derived low-data Ogg Opus artifacts, keyed by the track's EntryKey (Phase 18,
|
|
/// S2). Holds two entries per track: the Opus audio bytes (<c>.opus</c>) and the combined setup-header
|
|
/// + granule→byte seek-index sidecar (<c>.opusidx</c>). Both are best-effort derived artifacts —
|
|
/// regenerable, and a track without them still plays losslessly. Distinct from the source <c>tracks</c>
|
|
/// vault so the source means exactly one thing (mirrors the <c>track-waveforms</c> precedent).
|
|
/// </summary>
|
|
public const string TrackOpus = "track-opus";
|
|
} |