Example #1
0
        public async Task <FileResult> M3uForRelease(Guid id)
        {
            var user = await this.CurrentUserModel();

            var release = await this.ReleaseService.ById(user, id, new string[1] {
                "tracks"
            });

            if (release == null || release.IsNotFoundResult)
            {
                Response.StatusCode = (int)HttpStatusCode.NotFound;
            }
            var m3u = M3uHelper.M3uContentForTracks(release.Data.Medias.SelectMany(x => x.Tracks));

            return(File(System.Text.Encoding.Default.GetBytes(m3u), "audio/mpeg-url"));
        }
Example #2
0
        public async Task <FileResult> M3uForTrack(Guid id)
        {
            var user = await CurrentUserModel().ConfigureAwait(false);

            var track = await TrackService.ById(user, id, null).ConfigureAwait(false);

            if (track?.IsNotFoundResult != false)
            {
                Response.StatusCode = (int)HttpStatusCode.NotFound;
            }
            var release = await ReleaseService.ById(user, track.Data.Release.Id, new string[1] {
                "tracks"
            }).ConfigureAwait(false);

            if (release?.IsNotFoundResult != false)
            {
                Response.StatusCode = (int)HttpStatusCode.NotFound;
            }
            var m3u = M3uHelper.M3uContentForTracks(
                release.Data.Medias.SelectMany(x => x.Tracks).Where(x => x.Id == id));

            return(File(Encoding.Default.GetBytes(m3u), "audio/mpeg-url"));
        }