~matttbe/ubuntu/raring/rhythmbox/lp1010619_RB_2.98

« back to all changes in this revision

Viewing changes to plugins/audiocd/sj-structures.h

  • Committer: Package Import Robot
  • Author(s): Jeremy Bicha
  • Date: 2012-11-06 20:52:57 UTC
  • mfrom: (1.1.67) (214.1.1 quantal-proposed)
  • Revision ID: package-import@ubuntu.com-20121106205257-0btjh8jqley153el
Tags: 2.98-0ubuntu1
* New upstream release (LP: #1060601)
* debian/control.in:
  - Bump minimum glib, gtk, totem-plparser, clutter, and clutter-gst
  - Drop no longer needed musicbrainz dependency
* Refreshed 09_keywords.patch
* Updated 11_fix_cd_pausing.patch with fix from git
* Dropped patches applied in new version:
  - 00git_musicbrainz5.patch
  - 08_CVE-2012-3355.patch
  - dont_free_consumed_floating_gvariant.patch
  - git_scale_click.patch
  - git_crash_during_monitor.patch

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* 
2
 
 * Copyright (C) 2003 Ross Burton <ross@burtonini.com>
3
 
 *
4
 
 * Sound Juicer - sj-structures.h
5
 
 *
6
 
 * This library is free software; you can redistribute it and/or
7
 
 * modify it under the terms of the GNU Library General Public
8
 
 * License as published by the Free Software Foundation; either
9
 
 * version 2 of the License, or (at your option) any later version.
10
 
 *
11
 
 * This library is distributed in the hope that it will be useful,
12
 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14
 
 * Library General Public License for more details.
15
 
 *
16
 
 * You should have received a copy of the GNU Library General Public
17
 
 * License along with this library; if not, write to the
18
 
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19
 
 * Boston, MA 02111-1307, USA.
20
 
 *
21
 
 * Authors: Ross Burton <ross@burtonini.com>
22
 
 */
23
 
 
24
 
#ifndef SJ_STRUCTURES_H
25
 
#define SJ_STRUCTURES_H
26
 
 
27
 
#include <glib.h>
28
 
 
29
 
typedef enum _MetadataSource MetadataSource;
30
 
 
31
 
typedef struct _AlbumDetails AlbumDetails;
32
 
typedef struct _ArtistDetails ArtistDetails;
33
 
typedef struct _TrackDetails TrackDetails;
34
 
 
35
 
enum _MetadataSource {
36
 
  SOURCE_UNKNOWN = 0,
37
 
  SOURCE_CDTEXT,
38
 
  SOURCE_FREEDB,
39
 
  SOURCE_MUSICBRAINZ,
40
 
  SOURCE_FALLBACK
41
 
};
42
 
 
43
 
struct _TrackDetails {
44
 
  AlbumDetails *album;
45
 
  int number; /* track number */
46
 
  char *title;
47
 
  char *artist;
48
 
  char* artist_sortname; /* Can be NULL, so fall back onto artist */
49
 
  int duration; /* seconds */
50
 
  char* track_id;
51
 
  char* artist_id;
52
 
  GList *artists;
53
 
};
54
 
 
55
 
struct _AlbumDetails {
56
 
  char* title;
57
 
  char* artist;
58
 
  char* artist_sortname;
59
 
  char *genre;
60
 
  int   number; /* number of tracks in the album */
61
 
  int   disc_number;
62
 
  GList* tracks;
63
 
  GDate *release_date; /* MusicBrainz support multiple releases per album */
64
 
  char* album_id;
65
 
  char* artist_id;
66
 
  char* asin;
67
 
  char* discogs;
68
 
  char* wikipedia;
69
 
  MetadataSource metadata_source;
70
 
  gboolean is_spoken_word;
71
 
 
72
 
  /* some of the new properties that we can get with the NGS musicbrainz
73
 
   * API
74
 
   */
75
 
  char *type;
76
 
  char *lyrics_url;
77
 
  char *country;
78
 
  GList *artists;
79
 
};
80
 
 
81
 
struct _ArtistDetails {
82
 
  char *id;
83
 
  char *name;
84
 
  char *sortname;
85
 
  char *disambiguation;
86
 
  char *gender;
87
 
  char *country;
88
 
 
89
 
  /* doesn't belong in here, prevent sharing the artist structure between
90
 
   * distinct ReleaseGroups - more convenient for now */
91
 
  char *joinphrase;
92
 
};
93
 
 
94
 
 
95
 
void album_details_free(AlbumDetails *album);
96
 
void artist_details_free(ArtistDetails *artist);
97
 
void track_details_free(TrackDetails *track);
98
 
 
99
 
#endif