~snaggen/rhythmbox/bpm

« back to all changes in this revision

Viewing changes to rhythmdb/rhythmdb.c

  • Committer: Mattias Eriksson
  • Date: 2010-05-25 11:37:08 UTC
  • Revision ID: mattias.eriksson@vizrt.com-20100525113708-d6529lfzckfxtdca
Re add bpm tag

Show diffs side-by-side

added added

removed removed

Lines of Context:
379
379
        case RHYTHMDB_PROP_ALBUM_PEAK:
380
380
                *field = RB_METADATA_FIELD_ALBUM_PEAK;
381
381
                return TRUE;
 
382
        case RHYTHMDB_PROP_BPM:
 
383
                *field = RB_METADATA_FIELD_BPM;
 
384
                return TRUE;
382
385
        case RHYTHMDB_PROP_MUSICBRAINZ_TRACKID:
383
386
                *field = RB_METADATA_FIELD_MUSICBRAINZ_TRACKID;
384
387
                return TRUE;
1660
1663
                                             RHYTHMDB_PROP_ALBUM_PEAK, &val);
1661
1664
                g_value_unset (&val);
1662
1665
        }
 
1666
        
 
1667
        /* beats per minute */
 
1668
        if (rb_metadata_get (metadata,
 
1669
                             RB_METADATA_FIELD_BPM,
 
1670
                             &val)) {
 
1671
                rhythmdb_entry_set_internal (db, entry, TRUE,
 
1672
                                             RHYTHMDB_PROP_BPM, &val);
 
1673
                g_value_unset (&val);
 
1674
        }
1663
1675
}
1664
1676
 
1665
1677
static gboolean
3035
3047
                        entry->last_played = g_value_get_ulong (value);
3036
3048
                        entry->flags |= RHYTHMDB_ENTRY_LAST_PLAYED_DIRTY;
3037
3049
                        break;
 
3050
                case RHYTHMDB_PROP_BPM:
 
3051
                        entry->bpm = g_value_get_double (value);
 
3052
                        break;
3038
3053
                case RHYTHMDB_PROP_MUSICBRAINZ_TRACKID:
3039
3054
                        rb_refstring_unref (entry->musicbrainz_trackid);
3040
3055
                        entry->musicbrainz_trackid = rb_refstring_new (g_value_get_string (value));
3854
3869
                        ENUM_ENTRY (RHYTHMDB_PROP_POST_TIME, "Podcast time of post (gulong) [post-time]"),
3855
3870
 
3856
3871
                        ENUM_ENTRY (RHYTHMDB_PROP_KEYWORD, "Keywords applied to track (gchararray) [keyword]"),
 
3872
                        ENUM_ENTRY (RHYTHMDB_PROP_BPM, "Beats per minute (gdouble) [beats-per-minute]"),
3857
3873
                        { 0, 0, 0 }
3858
3874
                };
3859
3875
                g_assert ((sizeof (values) / sizeof (values[0]) - 1) == RHYTHMDB_NUM_PROPERTIES);
4814
4830
                return entry->album_peak;
4815
4831
        case RHYTHMDB_PROP_RATING:
4816
4832
                return entry->rating;
 
4833
        case RHYTHMDB_PROP_BPM:
 
4834
                return entry->bpm;
4817
4835
        default:
4818
4836
                g_assert_not_reached ();
4819
4837
                return 0.0;