using SameBeat.Domain.Enumy; namespace SameBeat.Application.DTO; /// /// Pelny biezacy stan "zegara" muzyki -- ten sam ksztalt wraca z GET /api/host/music/play itp. /// (po kazdej akcji hosta), idzie w broadcastach SignalR "StanMuzykiZmieniony" i jest dolaczany do /// GET /api/events/current, zeby widz znal stan OD RAZU po wejsciu, zanim przyjdzie pierwszy event. /// /// Muzyka nie idzie przez LiveKit/SignalR jako dzwiek -- kazdy klient sam odtwarza plik spod Url i /// synchronizuje swoja pozycje do CzasStartuUtc/PozycjaStartowaMs (to jak radio internetowe). /// public sealed record StanMuzykiDto( Guid? UtworId, string? Tytul, string? Wykonawca, string? Url, DateTime? CzasStartuUtc, int PozycjaStartowaMs, StanOdtwarzania Stan, float GlosnoscMaster);