Example #1
0
        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);
            }
        }
Example #2
0
 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);
                 }
             }
         }
     }
 }
Example #3
0
        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);
                    }
                }
            }
        }