public async Task <ActionResult> PostPlayEpisode([FromBody] PlayEpisodeDto data) { await MopidyProxy.ClearQueue(); await MopidyProxy.PlayEpisode(data.Uri); await MopidyProxy.Play(); return(new JsonResult(new { Result = "ok" })); }
public EpisodesModel(string episodeNameFilter) { Task.Run(async() => { Episodes = (await MopidyProxy.GetEpisodes()) .Where(_ => _.Name.StartsWith(episodeNameFilter)) .Select(_ => { var parts = _.Name.Split('_', 3); _.Name = $"{parts[1]} {parts[2].Replace(".mp3", "").Replace(".aac", "").Replace(".m4a", "").Replace('_',' ')}"; return(_); }) .OrderByDescending(_ => _.Name); }).Wait(); }
public async Task <IViewComponentResult> InvokeAsync() { var nowPlaying = await MopidyProxy.GetNowPlaying(); nowPlaying.State = string.IsNullOrWhiteSpace(nowPlaying.State) ? "Idle" : $"{nowPlaying.State.Substring(0, 1).ToUpperInvariant()}{nowPlaying.State.Substring(1)}"; nowPlaying.Name = string.IsNullOrWhiteSpace(nowPlaying.Name) ? "Empty Play Queue" : nowPlaying.Name; return(View("Default", nowPlaying)); }
public void DoWork() { var client = new HttpClient(); MopidyProxy.Logger = _logger; MopidyProxy.Configuration = _configuration; MopidyProxy.OnMopidyNotification += async(object sender, MopidyNotificationEventArgs e) => { await _hubContext.Clients.All.SendAsync("MopidyNotification", e.GetInfo()); await System.Threading.Tasks.Task.Delay(5000); await _hubContext.Clients.All.SendAsync("MopidyNotification", e.GetInfo()); }; MopidyProxy.Start(); }
public async Task <ActionResult> PostTogglePause() { var newPlayingState = await MopidyProxy.TogglePause(); return(new JsonResult(new { Result = "ok", State = newPlayingState })); }
public async Task <ActionResult> PostPlay() { await MopidyProxy.Play(); return(new JsonResult(new { Result = "ok" })); }
public async Task <ActionResult> PostClearQueue() { await MopidyProxy.ClearQueue(); return(new JsonResult(new { Result = "ok" })); }
public async Task <ActionResult <IList <Episode> > > GetEpisodes() { return(new JsonResult(await MopidyProxy.GetEpisodes())); }