private void tracklist_Sorting(object sender, System.Windows.Controls.DataGridSortingEventArgs e) { switch (e.Column.Header.ToString()) { case "Songs": EnumerationsContainer.LibraryTrackFilter = TrackFilter.Songs; break; case "Artist": EnumerationsContainer.LibraryTrackFilter = TrackFilter.Artist; break; case "Album": EnumerationsContainer.LibraryTrackFilter = TrackFilter.Album; break; case "Genre": EnumerationsContainer.LibraryTrackFilter = TrackFilter.Genre; break; case "Bitrate": EnumerationsContainer.LibraryTrackFilter = TrackFilter.Bitrate; break; case "": EnumerationsContainer.LibraryTrackFilter = TrackFilter.Rate; break; } e.Handled = true; if (CurrentSearchPackage != null) { TrackQuery.FindTracks(CurrentSearchPackage, Dispatcher); } else { var mySearchType = SearchType.trYear; if (Settings.Default.SearchSongs) { mySearchType |= SearchType.trTitle; } if (Settings.Default.SearchArtists) { mySearchType |= SearchType.trArtist; } if (Settings.Default.SearchAlbums) { mySearchType |= SearchType.trAlbum; } if (Settings.Default.SearchGenres) { mySearchType |= SearchType.trGenre; } TrackQuery.FindTracks( new SearchPackage { Data = "", SearchType = mySearchType }, Dispatcher); } }
public static List <TrackViewModel> GenreProcessList(DataGridControl lst) { var art = lst.SelectedItem as ViewModels.GenreViewModel; List <TrackViewModel> tl = TrackQuery.GetTracksFromGenre(art.Name).ToList(); return(tl); }
public static List <TrackViewModel> ArtistProcessList(ListBox lst) { var art = lst.SelectedItem as ArtistViewModel; List <TrackViewModel> tl = TrackQuery.GetTracksFromArtist(art.Name).ToList(); return(tl); }
public async Task <IActionResult> GetTracksByPlaylistId( [FromRoute] int playlistId, [FromQuery] TrackQuery trackQuery) { var tracks = await _mediator.Send(new GetTrackListQuery(playlistId, trackQuery)); return(this.OkWithPageHeader(tracks, nameof(GetTracksByPlaylistId), trackQuery, _urlHelper)); }
private void lst_PreviewMouseDoubleClick(object sender, MouseButtonEventArgs e) { var art = lst.SelectedItem as ViewModels.GenreViewModel; artist.Text = art.Name; duration.Text = " " + TimeSpan.FromSeconds(art.Duration); Album = art.Name; selArtist.FadeOut(); tracklist.ItemsSource = TrackQuery.GetTracksFromGenre(art.Name); }
private void TabSelectionChanged(object sender, SelectionChangedEventArgs e) { if (Tabs.SelectedIndex != prevTabIndex) { switch (Tabs.SelectedIndex) { case 0: if (trackPackage != CurrentSearchPackage) { TrackQuery.FindTracks(CurrentSearchPackage, Dispatcher); trackPackage = CurrentSearchPackage; } EnumerationsContainer.LibraryUi = LibraryUiMode.Songs; //Dispatcher.BeginInvoke(new Action(() => Scrolls(tracklist))); break; case 1: if (artPackage != CurrentSearchPackage) { ArtistQuery.FindArtists(CurrentSearchPackage, Dispatcher); artPackage = CurrentSearchPackage; artistList.RefreshUI(); } EnumerationsContainer.LibraryUi = LibraryUiMode.Artist; break; case 2: if (albPackage != CurrentSearchPackage) { AlbumQuery.FindAlbums(CurrentSearchPackage, Dispatcher); albPackage = CurrentSearchPackage; albumLst.RefreshUI(); } EnumerationsContainer.LibraryUi = LibraryUiMode.Album; break; case 3: if (genPackage != CurrentSearchPackage) { GenreQuery.FindGenres(CurrentSearchPackage, Dispatcher); albPackage = CurrentSearchPackage; genreLst.RefreshUI(); } EnumerationsContainer.LibraryUi = LibraryUiMode.Genre; break; } RefreshPlugs(); prevTabIndex = Tabs.SelectedIndex; } }
void dpt_Tick(object sender, System.EventArgs e) { ticks++; if (incremented | Player.Instance.NetStreamingConfigsLoaded) { return; } if (Player.Instance.Wave != null && ticks > Player.Instance.Wave.Duration / 2 | ticks > 4000) { incremented = true; EventHandler handler = IncrementListens; if (handler != null) { handler(this, EventArgs.Empty); } //track update Track existingTrack = TrackQuery.GetTrack(CoreMain.CurrentTrack.Path); if (existingTrack != null) { existingTrack.Listens++; TrackQuery.SaveTrack(existingTrack); } //artistUpdate ArtistViewModel existingArtist = ArtistQuery.GetArtistViewModel(CoreMain.CurrentTrack.Artist); if (existingArtist != null) { existingArtist.Listens++; existingArtist.SaveArtist(); } //albumUpdate AlbumViewModel existingAlbum = AlbumQuery.GetAlbumViewModel(CoreMain.CurrentTrack.Album); if (existingAlbum != null) { existingAlbum.Listens++; existingAlbum.SaveAlbum(); } //a;bumUpdate ViewModels.GenreViewModel existingGenre = GenreQuery.GetGenreViewModel(CoreMain.CurrentTrack.Genre); if (existingGenre != null) { existingGenre.Listens++; existingGenre.SaveGenre(); } //scrobble LastFm.ScrobbleTrack(LastFm.CurrentTrack); } }
void RateControl_MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e) { Rate = (Rate < 3) ? 5 : 0; using (var db = new SQLiteConnection(Tables.DBPath)) { db.TimeExecution = true; if (RateType == "") { var query = db.Table <Track>() .FirstOrDefault( c => c.Path == Path); if (query != null) { query.Rate = Rate; try { TrackQuery.SaveTrack(query); } catch (Exception exception) { Console.WriteLine(exception); } } } else if (RateType == "Artist") { var query = db.Table <Artist>() .FirstOrDefault( c => c.Name == Path); if (query != null) { query.Rate = Rate; try { db.Update(query); } catch (Exception exception) { Console.WriteLine(exception); } } } } }
public GetTrackListQuery(TrackQuery trackQuery) { if (trackQuery is null) { throw new ArgumentNullException(nameof(trackQuery)); } Album = trackQuery.Album; Artist = trackQuery.Artist; Composer = trackQuery.Composer; Genre = trackQuery.Genre; MediaType = trackQuery.MediaType; Name = trackQuery.Name; PageNumber = trackQuery.PageNumber; PageSize = trackQuery.PageSize; PriceFrom = trackQuery.PriceFrom; PriceTo = trackQuery.PriceTo; }
private void TrackFavChanged(object sender, MouseButtonEventArgs e) { tracklist.InvalidateVisual(); var Rate = 2; var t = sender as TextBlock; if (t.Text == "") //2 { t.Text = ""; //5 Rate = 5; t.Opacity = 1; } else { t.Text = ""; Rate = 2; t.Opacity = .25; } using (var db = new SQLiteConnection(Tables.DBPath)) { db.TimeExecution = true; var query = db.Table <Track>() .FirstOrDefault( c => c.Path == t.Tag.ToString()); if (query != null) { query.Rate = Rate; try { TrackQuery.SaveTrack(query); } catch (Exception exception) { Console.WriteLine(exception); } } } }
public void LoadArtist(string artistName) { ArtistViewModel art = ArtistQuery.GetArtistViewModel(artistName); if (art == null) { return; } Artist = art.Name; artist.Text = art.Name; duration.Text = " " + TimeSpan.FromSeconds(art.Duration); var tracks = TrackQuery.GetTracksFromArtist(art.Name); tracklist.ItemsSource = tracks; albums.Text = " " + tracks.GroupBy(x => x.Album).Count() + " albums"; rateCtl.Path = art.Name; rateCtl.Rate = art.Rate; selArtist.FadeOut(); }
/// <summary> /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void lst_PreviewMouseDoubleClick(object sender, MouseButtonEventArgs e) { var art = lst.SelectedItem as ArtistViewModel; if (art == null) { return; } Artist = art.Name; artist.Text = art.Name; duration.Text = " " + TimeSpan.FromSeconds(art.Duration); var tracks = TrackQuery.GetTracksFromArtist(art.Name); tracklist.ItemsSource = tracks; albums.Text = " " + tracks.GroupBy(x => x.Album).Count() + " albums"; rateCtl.Path = art.Name; rateCtl.Rate = art.Rate; selArtist.FadeOut(); }
public string?GetTrack(ITrain train, Station sta, TrainDirection dir, ArrDep timetableEntry, TrackQuery track) { var path = new TrainPathData(train.ParentTimetable, train); if (!path.ContainsStation(sta)) { return(null); } var exitRoute = path.GetExitRoute(sta); if (track == TrackQuery.Departure) { return(Fallback(timetableEntry.DepartureTrack, Fallback(timetableEntry.ArrivalTrack, Fallback(dir == TrainDirection.ti ? sta.DefaultTrackRight.GetValue(exitRoute) : sta.DefaultTrackLeft.GetValue(exitRoute), "")))); } return(Fallback(timetableEntry.ArrivalTrack, Fallback(timetableEntry.DepartureTrack, Fallback(dir == TrainDirection.ti ? sta.DefaultTrackRight.GetValue(exitRoute) : sta.DefaultTrackLeft.GetValue(exitRoute), "")))); }
public GetTrackListQuery(int playlistId, TrackQuery trackQuery) : this(trackQuery) { PlaylistId = playlistId; }
public void Initialize() { if (!DesignerProperties.GetIsInDesignMode(this)) { tracklist.MouseDoubleClick += tracklist_PreviewMouseDoubleClick; tracksViewModel = new ObservableTracksViewModel(); Results.Tracks = new ObservableCollection <TrackViewModel>(); tracklist.ReadOnly = true; tracklist.ItemsSource = Results.Tracks; if (Results.Tracks != null) { Results.Tracks.CollectionChanged += Tracks_CollectionChanged; } TrackQuery.GetTracks(); if (Results.Tracks.Count == 0) { Tabs.FadeOut(); grdDD.FadeIn(); } Cycling.Cycler.Initialize(); //drags _dda.Register(tracklist); //LoadPlugins foreach (var v in PluginCore.Instance().LibraryComponents) { if (v.Type == ComponentType.Progressive) { v.StateChangedEvent += ComponentOnStateChangedEvent; } //Add static all type ones if (v.Type == ComponentType.Static && (v.Category == LibraryComponentCategory.All)) { TreeViewItem item = new TreeViewItem(); item.Header = v.Caption; item.Tag = v; List <TreeViewItem> str = new List <TreeViewItem>(); if (v.Children != null) { foreach (var va in v.Children) { str.Add(new TreeViewItem() { Header = va, Tag = v, Padding = new Thickness(0, 8, 0, 8) }); } } item.ItemsSource = str; plugTree.Items.Add(item); } } plugTree.SelectedItemChanged += plugTree_SelectedItemChanged; //RefreshPlugs(); dpt.Tick += dpt_Tick; dpt.Interval = new TimeSpan(00, 0, 0, 0, 100); } }
public async Task <IActionResult> GetTracks([FromQuery] TrackQuery trackQuery) { var response = await _mediator.Send(new GetTrackListQuery(trackQuery)); return(this.OkWithPageHeader(response, nameof(GetTracks), trackQuery, _urlHelper)); }