annotate src/lastfm/lastfm.h @ 1231:e2b45aa596ad

improved the metadata algorithm, but couldnt get rid of the crashes yet
author Cristi Magherusan <majeru@atheme-project.org>
date Wed, 11 Jul 2007 04:30:31 +0300
parents d4efe4889489
children 8af27e02e7b7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
982
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
1 #define LASTFM_HANDSHAKE_URL "http://ws.audioscrobbler.com/radio/handshake.php?version=1.1.1&platform=linux&username=%s&passwordmd5=%s&debug=0&language=jp"
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
2 #define LASTFM_ADJUST_URL "http://ws.audioscrobbler.com/radio/adjust.php?session=%s&url=%s&debug=0"
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
3 #define LASTFM_METADATA_URL "http://ws.audioscrobbler.com/radio/np.php?session=%s&debug=0"
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
4
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
5 #define LASTFM_CURL_TIMEOUT 10
1036
47db8268cb7b [svn] smarter polling and lots of other changes
majeru
parents: 1010
diff changeset
6
982
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
7
1200
0ae013f630fa mowgli transition, and some fixes
Cristi Magherusan <majeru@atheme-project.org>
parents: 1044
diff changeset
8 #define LASTFM_LOGIN_OK 0
0ae013f630fa mowgli transition, and some fixes
Cristi Magherusan <majeru@atheme-project.org>
parents: 1044
diff changeset
9 #define LASTFM_LOGIN_ERROR 1
0ae013f630fa mowgli transition, and some fixes
Cristi Magherusan <majeru@atheme-project.org>
parents: 1044
diff changeset
10 #define LASTFM_MISSING_LOGIN_DATA 2
0ae013f630fa mowgli transition, and some fixes
Cristi Magherusan <majeru@atheme-project.org>
parents: 1044
diff changeset
11 #define LASTFM_SESSION_MISSING 4
1217
d4efe4889489 rendered the lastfm transport plugin stable again, preparing it for its GUI
Cristi Magherusan <majeru@atheme-project.org>
parents: 1200
diff changeset
12 #define LASTFM_ADJUST_OK 8
d4efe4889489 rendered the lastfm transport plugin stable again, preparing it for its GUI
Cristi Magherusan <majeru@atheme-project.org>
parents: 1200
diff changeset
13 #define LASTFM_ADJUST_FAILED 16
d4efe4889489 rendered the lastfm transport plugin stable again, preparing it for its GUI
Cristi Magherusan <majeru@atheme-project.org>
parents: 1200
diff changeset
14 #define METADATA_FETCH_FAILED 64
d4efe4889489 rendered the lastfm transport plugin stable again, preparing it for its GUI
Cristi Magherusan <majeru@atheme-project.org>
parents: 1200
diff changeset
15 #define METADATA_FETCH_SUCCEEDED 128
982
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
16 typedef struct
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
17 {
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
18 VFSFile *proxy_fd;
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
19 gchar *lastfm_session_id;
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
20 gchar *lastfm_mp3_stream_url;
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
21 gchar *lastfm_station_name;
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
22 gchar *lastfm_artist;
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
23 gchar *lastfm_title;
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
24 gchar *lastfm_album;
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
25 gchar *lastfm_cover;
1010
8bad1b46ef78 [svn] - make this compile again and indent properly
nenolod
parents: 982
diff changeset
26 unsigned int lastfm_duration;
8bad1b46ef78 [svn] - make this compile again and indent properly
nenolod
parents: 982
diff changeset
27 unsigned int lastfm_progress;
982
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
28 } LastFM;
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
29
1217
d4efe4889489 rendered the lastfm transport plugin stable again, preparing it for its GUI
Cristi Magherusan <majeru@atheme-project.org>
parents: 1200
diff changeset
30 GThread* metadata_thread=NULL;
d4efe4889489 rendered the lastfm transport plugin stable again, preparing it for its GUI
Cristi Magherusan <majeru@atheme-project.org>
parents: 1200
diff changeset
31 gint thread_count=0;
1231
e2b45aa596ad improved the metadata algorithm, but couldnt get rid of the crashes yet
Cristi Magherusan <majeru@atheme-project.org>
parents: 1217
diff changeset
32 static GMutex * mutex = NULL;
1217
d4efe4889489 rendered the lastfm transport plugin stable again, preparing it for its GUI
Cristi Magherusan <majeru@atheme-project.org>
parents: 1200
diff changeset
33
982
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
34 VFSFile *lastfm_vfs_fopen_impl(const gchar * path, const gchar * mode);
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
35
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
36 size_t lastfm_vfs_fread_impl(gpointer ptr, size_t size, size_t nmemb, VFSFile * file);
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
37
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
38 size_t lastfm_vfs_fwrite_impl(gconstpointer ptr, size_t size, size_t nmemb, VFSFile * file);
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
39
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
40 gint lastfm_vfs_getc_impl(VFSFile * stream);
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
41
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
42 gint lastfm_vfs_ungetc_impl(gint c, VFSFile * stream);
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
43
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
44 gint lastfm_vfs_fseek_impl(VFSFile * file, glong offset, gint whence);
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
45
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
46 void lastfm_vfs_rewind_impl(VFSFile * file);
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
47
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
48 glong lastfm_vfs_ftell_impl(VFSFile * file);
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
49
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
50 gboolean lastfm_vfs_feof_impl(VFSFile * file);
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
51
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
52 gint lastfm_vfs_truncate_impl(VFSFile * file, glong size);
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
53
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
54 off_t lastfm_vfs_fsize_impl(VFSFile * file);
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
55
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
56 gint lastfm_vfs_fclose_impl(VFSFile * file);
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
57
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
58 gchar *lastfm_vfs_metadata_impl(VFSFile * file, const gchar * field);
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
59
1217
d4efe4889489 rendered the lastfm transport plugin stable again, preparing it for its GUI
Cristi Magherusan <majeru@atheme-project.org>
parents: 1200
diff changeset
60 gboolean parse_metadata(LastFM * handle,GString * res);
1036
47db8268cb7b [svn] smarter polling and lots of other changes
majeru
parents: 1010
diff changeset
61
1217
d4efe4889489 rendered the lastfm transport plugin stable again, preparing it for its GUI
Cristi Magherusan <majeru@atheme-project.org>
parents: 1200
diff changeset
62 static gpointer lastfm_metadata_thread_func(gpointer arg);
982
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
63
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
64 static gboolean lastfm_login(void);
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
65
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
66 LowlevelPlugin *get_lplugin_info(void);
7b0d16a9a92f [svn] fixed all the warnings
majeru
parents:
diff changeset
67