Mercurial > audlegacy-plugins
annotate src/mtp_up/mtp.c @ 2442:1286f65395d7
string arrays should be freed with g_strfreev()
author | Tomasz Mon <desowin@gmail.com> |
---|---|
date | Sat, 08 Mar 2008 10:17:53 +0100 |
parents | f629e0c90f18 |
children | 7b284f323ad8 |
rev | line source |
---|---|
1456
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
1 /* |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
2 * Audacious MTP upload plugin |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
3 * |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
4 * Copyright (c) 2007 Cristian Magherusan <majeru@atheme.org> |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
5 * |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
6 * This program is free software; you can redistribute it and/or modify |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
7 * it under the terms of the GNU General Public License as published by |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
8 * the Free Software Foundation; under version 3 of the License. |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
9 * |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
10 * This program is distributed in the hope that it will be useful, |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
13 * GNU General Public License for more details. |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
14 * |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
15 * You should have received a copy of the GNU General Public License |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
16 * along with this program. If not, see <http://www.gnu.org/licenses>. |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
17 */ |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
18 |
2180
f629e0c90f18
added basic internationalization support to mtp_up
mf0102 <0102@gmx.at>
parents:
2160
diff
changeset
|
19 #include <config.h> |
f629e0c90f18
added basic internationalization support to mtp_up
mf0102 <0102@gmx.at>
parents:
2160
diff
changeset
|
20 |
1456
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
21 #include <glib.h> |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
22 #include <sys/types.h> |
1456
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
23 #include <libmtp.h> |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
24 #include <audacious/plugin.h> |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
25 #include <audacious/playlist.h> |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
26 #include <audacious/ui_plugin_menu.h> |
2180
f629e0c90f18
added basic internationalization support to mtp_up
mf0102 <0102@gmx.at>
parents:
2160
diff
changeset
|
27 #include <audacious/i18n.h> |
1500
611d8db6b421
made it enabled by default if having libmtp, fixes Chainsaw's bug and adds some improvements
Cristi Magherusan <majeru@atheme-project.org>
parents:
1497
diff
changeset
|
28 |
611d8db6b421
made it enabled by default if having libmtp, fixes Chainsaw's bug and adds some improvements
Cristi Magherusan <majeru@atheme-project.org>
parents:
1497
diff
changeset
|
29 #include <gtk/gtk.h> |
611d8db6b421
made it enabled by default if having libmtp, fixes Chainsaw's bug and adds some improvements
Cristi Magherusan <majeru@atheme-project.org>
parents:
1497
diff
changeset
|
30 #include <audacious/util.h> |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
31 #include "filetype.h" |
2180
f629e0c90f18
added basic internationalization support to mtp_up
mf0102 <0102@gmx.at>
parents:
2160
diff
changeset
|
32 |
1456
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
33 #define DEBUG 1 |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
34 |
2180
f629e0c90f18
added basic internationalization support to mtp_up
mf0102 <0102@gmx.at>
parents:
2160
diff
changeset
|
35 #define UP_DEFAULT_LABEL _("Upload selected track(s)") |
f629e0c90f18
added basic internationalization support to mtp_up
mf0102 <0102@gmx.at>
parents:
2160
diff
changeset
|
36 |
1456
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
37 GMutex * mutex = NULL; |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
38 gboolean mtp_initialised = FALSE; |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
39 LIBMTP_mtpdevice_t *mtp_device = NULL; |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
40 LIBMTP_progressfunc_t *callback; |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
41 LIBMTP_file_t *filelist; |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
42 Playlist *active_playlist; |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
43 |
1500
611d8db6b421
made it enabled by default if having libmtp, fixes Chainsaw's bug and adds some improvements
Cristi Magherusan <majeru@atheme-project.org>
parents:
1497
diff
changeset
|
44 static gboolean plugin_active = FALSE,exiting=FALSE; |
1461
161d289f335c
do not assume that mtp_cleanup is only called after mtp_init (it's not true for general plugins); also, destroy the menuitem as it seems that it still holds a reference after being removed from its menushell
Giacomo Lozito <james@develia.org>
parents:
1458
diff
changeset
|
45 |
1456
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
46 void mtp_init ( void ); |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
47 void mtp_cleanup ( void ); |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
48 |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
49 GeneralPlugin mtp_gp = |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
50 { |
2149 | 51 .description = "MTP Upload", |
52 .init = mtp_init, | |
53 .cleanup = mtp_cleanup | |
1456
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
54 }; |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
55 GtkWidget *mtp_root_menuitem,*mtp_submenu_item_up,*mtp_submenu_item_free,*mtp_submenu; |
1456
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
56 |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
57 GeneralPlugin *mtp_gplist[] = { &mtp_gp, NULL }; |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
58 DECLARE_PLUGIN(mtp_gp, NULL, NULL, NULL, NULL, NULL, mtp_gplist, NULL, NULL) |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
59 |
1497
318e3bcdf51d
some fixes, more debug info
Cristi Magherusan <majeru@atheme-project.org>
parents:
1495
diff
changeset
|
60 |
1500
611d8db6b421
made it enabled by default if having libmtp, fixes Chainsaw's bug and adds some improvements
Cristi Magherusan <majeru@atheme-project.org>
parents:
1497
diff
changeset
|
61 void show_dialog(const gchar* message) |
1497
318e3bcdf51d
some fixes, more debug info
Cristi Magherusan <majeru@atheme-project.org>
parents:
1495
diff
changeset
|
62 { |
1500
611d8db6b421
made it enabled by default if having libmtp, fixes Chainsaw's bug and adds some improvements
Cristi Magherusan <majeru@atheme-project.org>
parents:
1497
diff
changeset
|
63 GDK_THREADS_ENTER(); |
611d8db6b421
made it enabled by default if having libmtp, fixes Chainsaw's bug and adds some improvements
Cristi Magherusan <majeru@atheme-project.org>
parents:
1497
diff
changeset
|
64 GtkWidget *dialog = gtk_message_dialog_new (NULL, |
611d8db6b421
made it enabled by default if having libmtp, fixes Chainsaw's bug and adds some improvements
Cristi Magherusan <majeru@atheme-project.org>
parents:
1497
diff
changeset
|
65 GTK_DIALOG_MODAL, |
1497
318e3bcdf51d
some fixes, more debug info
Cristi Magherusan <majeru@atheme-project.org>
parents:
1495
diff
changeset
|
66 GTK_MESSAGE_ERROR, |
318e3bcdf51d
some fixes, more debug info
Cristi Magherusan <majeru@atheme-project.org>
parents:
1495
diff
changeset
|
67 GTK_BUTTONS_OK, |
318e3bcdf51d
some fixes, more debug info
Cristi Magherusan <majeru@atheme-project.org>
parents:
1495
diff
changeset
|
68 message); |
318e3bcdf51d
some fixes, more debug info
Cristi Magherusan <majeru@atheme-project.org>
parents:
1495
diff
changeset
|
69 gtk_dialog_run (GTK_DIALOG (dialog)); |
1500
611d8db6b421
made it enabled by default if having libmtp, fixes Chainsaw's bug and adds some improvements
Cristi Magherusan <majeru@atheme-project.org>
parents:
1497
diff
changeset
|
70 gtk_widget_show(dialog); |
1522
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
71 /* gtk_widget_destroy(dialog); */ |
1500
611d8db6b421
made it enabled by default if having libmtp, fixes Chainsaw's bug and adds some improvements
Cristi Magherusan <majeru@atheme-project.org>
parents:
1497
diff
changeset
|
72 GDK_THREADS_LEAVE(); |
611d8db6b421
made it enabled by default if having libmtp, fixes Chainsaw's bug and adds some improvements
Cristi Magherusan <majeru@atheme-project.org>
parents:
1497
diff
changeset
|
73 |
1497
318e3bcdf51d
some fixes, more debug info
Cristi Magherusan <majeru@atheme-project.org>
parents:
1495
diff
changeset
|
74 } |
318e3bcdf51d
some fixes, more debug info
Cristi Magherusan <majeru@atheme-project.org>
parents:
1495
diff
changeset
|
75 |
1518
abdb27a70322
now i'm free'ing the metadata struct
Cristi Magherusan <majeru@atheme-project.org>
parents:
1517
diff
changeset
|
76 gboolean free_device(void) |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
77 { |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
78 #if DEBUG |
1522
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
79 if(mtp_initialised) |
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
80 g_print("\n\n !!!CAUTION!!! \n\n" |
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
81 "Cleaning up MTP upload plugin, please wait!!!...\n" |
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
82 "This will block until the pending tracks are uploaded,\n" |
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
83 "then it will gracefully close your device\n\n" |
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
84 "!!! FORCING SHUTDOWN NOW MAY CAUSE DAMAGE TO YOUR DEVICE !!!\n\n\n" |
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
85 "Waiting for the MTP mutex to unlock...\n"); |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
86 #endif |
1522
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
87 if(!mutex) |
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
88 return TRUE; |
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
89 g_mutex_lock(mutex); |
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
90 if(mtp_device!= NULL) |
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
91 { |
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
92 LIBMTP_Release_Device(mtp_device); |
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
93 mtp_device = NULL; |
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
94 mtp_initialised = FALSE; |
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
95 gtk_widget_hide(mtp_submenu_item_free); |
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
96 } |
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
97 g_mutex_unlock(mutex); |
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
98 return TRUE; |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
99 } |
1497
318e3bcdf51d
some fixes, more debug info
Cristi Magherusan <majeru@atheme-project.org>
parents:
1495
diff
changeset
|
100 |
1468
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
101 GList * get_upload_list() |
1456
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
102 { |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
103 Tuple *tuple; |
1468
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
104 GList *node=NULL,*up_list=NULL; |
1456
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
105 PlaylistEntry *entry; |
2057
cf4fa45ffd80
playlist API vtabling
William Pitcock <nenolod@atheme.org>
parents:
1978
diff
changeset
|
106 Playlist *current_play = aud_playlist_get_active(); |
1468
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
107 |
1456
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
108 node = current_play->entries; |
1675
ae9b0327b620
Fix plugins to conform with PLAYLIST_{UN}LOCK() change.
Matti Hamalainen <ccr@tnsp.org>
parents:
1522
diff
changeset
|
109 PLAYLIST_LOCK(current_play); /*needed so that the user doesn't modify the selection*/ |
1468
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
110 while (node) /*while creating the list of files to be uploaded*/ |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
111 { |
1456
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
112 entry = PLAYLIST_ENTRY(node->data); |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
113 if (entry->selected) |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
114 { |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
115 tuple = entry->tuple; |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
116 up_list=g_list_prepend(up_list,tuple); |
1456
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
117 entry->selected = FALSE; |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
118 } |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
119 node = g_list_next(node); |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
120 } |
1675
ae9b0327b620
Fix plugins to conform with PLAYLIST_{UN}LOCK() change.
Matti Hamalainen <ccr@tnsp.org>
parents:
1522
diff
changeset
|
121 PLAYLIST_UNLOCK(current_play); |
1468
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
122 return g_list_reverse(up_list); |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
123 } |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
124 |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
125 LIBMTP_track_t *track_metadata(Tuple *from_tuple) |
1468
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
126 { |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
127 LIBMTP_track_t *tr; |
2160
5ba49a9c053c
fixed uploads, using URI's with libmtp is bad, mmm'kay !
Cristi Magherusan <majeru@atheme-project.org>
parents:
2149
diff
changeset
|
128 gchar *filename, *uri_path; |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
129 VFSFile *f; |
1468
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
130 uint64_t filesize; |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
131 uint32_t parent_id = 0; |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
132 struct stat sb; |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
133 |
2160
5ba49a9c053c
fixed uploads, using URI's with libmtp is bad, mmm'kay !
Cristi Magherusan <majeru@atheme-project.org>
parents:
2149
diff
changeset
|
134 uri_path = g_strdup_printf("%s/%s", aud_tuple_get_string(from_tuple, FIELD_FILE_PATH, NULL), aud_tuple_get_string(from_tuple, FIELD_FILE_NAME, NULL)); |
5ba49a9c053c
fixed uploads, using URI's with libmtp is bad, mmm'kay !
Cristi Magherusan <majeru@atheme-project.org>
parents:
2149
diff
changeset
|
135 gchar *tmp = g_strescape(uri_path,NULL); |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
136 filename=g_filename_from_uri(tmp,NULL,NULL); |
2160
5ba49a9c053c
fixed uploads, using URI's with libmtp is bad, mmm'kay !
Cristi Magherusan <majeru@atheme-project.org>
parents:
2149
diff
changeset
|
137 g_free(tmp); |
1522
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
138 /* dealing the stream upload (invalidating)*/ |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
139 if(filename) |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
140 { |
2160
5ba49a9c053c
fixed uploads, using URI's with libmtp is bad, mmm'kay !
Cristi Magherusan <majeru@atheme-project.org>
parents:
2149
diff
changeset
|
141 f = aud_vfs_fopen(uri_path,"r"); |
5ba49a9c053c
fixed uploads, using URI's with libmtp is bad, mmm'kay !
Cristi Magherusan <majeru@atheme-project.org>
parents:
2149
diff
changeset
|
142 g_free(uri_path); |
1978 | 143 if(aud_vfs_is_streaming(f)) |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
144 { |
1978 | 145 aud_vfs_fclose(f); |
2160
5ba49a9c053c
fixed uploads, using URI's with libmtp is bad, mmm'kay !
Cristi Magherusan <majeru@atheme-project.org>
parents:
2149
diff
changeset
|
146 g_free(filename); |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
147 return NULL; |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
148 } |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
149 } |
2160
5ba49a9c053c
fixed uploads, using URI's with libmtp is bad, mmm'kay !
Cristi Magherusan <majeru@atheme-project.org>
parents:
2149
diff
changeset
|
150 else |
5ba49a9c053c
fixed uploads, using URI's with libmtp is bad, mmm'kay !
Cristi Magherusan <majeru@atheme-project.org>
parents:
2149
diff
changeset
|
151 { |
5ba49a9c053c
fixed uploads, using URI's with libmtp is bad, mmm'kay !
Cristi Magherusan <majeru@atheme-project.org>
parents:
2149
diff
changeset
|
152 g_print("Warning! the filename is NULL, exiting"); |
5ba49a9c053c
fixed uploads, using URI's with libmtp is bad, mmm'kay !
Cristi Magherusan <majeru@atheme-project.org>
parents:
2149
diff
changeset
|
153 return NULL; |
5ba49a9c053c
fixed uploads, using URI's with libmtp is bad, mmm'kay !
Cristi Magherusan <majeru@atheme-project.org>
parents:
2149
diff
changeset
|
154 |
5ba49a9c053c
fixed uploads, using URI's with libmtp is bad, mmm'kay !
Cristi Magherusan <majeru@atheme-project.org>
parents:
2149
diff
changeset
|
155 } |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
156 |
2160
5ba49a9c053c
fixed uploads, using URI's with libmtp is bad, mmm'kay !
Cristi Magherusan <majeru@atheme-project.org>
parents:
2149
diff
changeset
|
157 if ( stat(filename, &sb) == -1 ) |
1468
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
158 { |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
159 #if DEBUG |
2160
5ba49a9c053c
fixed uploads, using URI's with libmtp is bad, mmm'kay !
Cristi Magherusan <majeru@atheme-project.org>
parents:
2149
diff
changeset
|
160 g_print("ERROR! encountered while stat()'ing \"%s\"\n",filename); |
1468
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
161 #endif |
2160
5ba49a9c053c
fixed uploads, using URI's with libmtp is bad, mmm'kay !
Cristi Magherusan <majeru@atheme-project.org>
parents:
2149
diff
changeset
|
162 g_free(filename); |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
163 return NULL; |
1468
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
164 } |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
165 filesize = (uint64_t) sb.st_size; |
1500
611d8db6b421
made it enabled by default if having libmtp, fixes Chainsaw's bug and adds some improvements
Cristi Magherusan <majeru@atheme-project.org>
parents:
1497
diff
changeset
|
166 parent_id = mtp_device->default_music_folder; |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
167 |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
168 /* track metadata*/ |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
169 tr = LIBMTP_new_track_t(); |
1976
5fa26178eaef
s/tuple_/aud_tuple_/g
William Pitcock <nenolod@atheme.org>
parents:
1702
diff
changeset
|
170 tr->title = g_strdup((gchar*) aud_tuple_get_string(from_tuple, FIELD_TITLE, NULL)); |
5fa26178eaef
s/tuple_/aud_tuple_/g
William Pitcock <nenolod@atheme.org>
parents:
1702
diff
changeset
|
171 tr->artist = g_strdup((gchar*) aud_tuple_get_string(from_tuple, FIELD_ARTIST, NULL)); |
5fa26178eaef
s/tuple_/aud_tuple_/g
William Pitcock <nenolod@atheme.org>
parents:
1702
diff
changeset
|
172 tr->album = g_strdup((gchar*)aud_tuple_get_string(from_tuple, FIELD_ALBUM, NULL)); |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
173 tr->filesize = filesize; |
1976
5fa26178eaef
s/tuple_/aud_tuple_/g
William Pitcock <nenolod@atheme.org>
parents:
1702
diff
changeset
|
174 tr->filename = g_strdup(aud_tuple_get_string(from_tuple, FIELD_FILE_NAME, NULL)); |
5fa26178eaef
s/tuple_/aud_tuple_/g
William Pitcock <nenolod@atheme.org>
parents:
1702
diff
changeset
|
175 tr->duration = (uint32_t)aud_tuple_get_int(from_tuple, FIELD_LENGTH, NULL); |
2160
5ba49a9c053c
fixed uploads, using URI's with libmtp is bad, mmm'kay !
Cristi Magherusan <majeru@atheme-project.org>
parents:
2149
diff
changeset
|
176 tr->filetype = find_filetype (filename); |
1976
5fa26178eaef
s/tuple_/aud_tuple_/g
William Pitcock <nenolod@atheme.org>
parents:
1702
diff
changeset
|
177 tr->genre = g_strdup((gchar*)aud_tuple_get_string(from_tuple, FIELD_GENRE, NULL)); |
5fa26178eaef
s/tuple_/aud_tuple_/g
William Pitcock <nenolod@atheme.org>
parents:
1702
diff
changeset
|
178 tr->date = g_strdup_printf("%d",aud_tuple_get_int(from_tuple, FIELD_YEAR, NULL)); |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
179 g_free(filename); |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
180 return tr; |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
181 } |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
182 |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
183 gint upload_file(Tuple *from_tuple) |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
184 { |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
185 int ret; |
2160
5ba49a9c053c
fixed uploads, using URI's with libmtp is bad, mmm'kay !
Cristi Magherusan <majeru@atheme-project.org>
parents:
2149
diff
changeset
|
186 gchar *tmp, *from_path = NULL, *filename; |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
187 uint32_t parent_id = 0; |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
188 LIBMTP_track_t *gentrack; |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
189 gentrack = track_metadata(from_tuple); |
1976
5fa26178eaef
s/tuple_/aud_tuple_/g
William Pitcock <nenolod@atheme.org>
parents:
1702
diff
changeset
|
190 from_path = g_strdup_printf("%s/%s", aud_tuple_get_string(from_tuple, FIELD_FILE_PATH, NULL), aud_tuple_get_string(from_tuple, FIELD_FILE_NAME, NULL)); |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
191 if(gentrack == NULL) return 1; |
2160
5ba49a9c053c
fixed uploads, using URI's with libmtp is bad, mmm'kay !
Cristi Magherusan <majeru@atheme-project.org>
parents:
2149
diff
changeset
|
192 tmp = g_strescape(from_path,NULL); |
5ba49a9c053c
fixed uploads, using URI's with libmtp is bad, mmm'kay !
Cristi Magherusan <majeru@atheme-project.org>
parents:
2149
diff
changeset
|
193 filename=g_filename_from_uri(tmp,NULL,NULL); |
5ba49a9c053c
fixed uploads, using URI's with libmtp is bad, mmm'kay !
Cristi Magherusan <majeru@atheme-project.org>
parents:
2149
diff
changeset
|
194 |
1522
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
195 g_free(from_path); |
2160
5ba49a9c053c
fixed uploads, using URI's with libmtp is bad, mmm'kay !
Cristi Magherusan <majeru@atheme-project.org>
parents:
2149
diff
changeset
|
196 g_free(tmp); |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
197 parent_id = mtp_device->default_music_folder; |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
198 |
1468
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
199 #if DEBUG |
2160
5ba49a9c053c
fixed uploads, using URI's with libmtp is bad, mmm'kay !
Cristi Magherusan <majeru@atheme-project.org>
parents:
2149
diff
changeset
|
200 g_print("Uploading track '%s'\n",filename); |
1468
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
201 #endif |
2160
5ba49a9c053c
fixed uploads, using URI's with libmtp is bad, mmm'kay !
Cristi Magherusan <majeru@atheme-project.org>
parents:
2149
diff
changeset
|
202 ret = LIBMTP_Send_Track_From_File(mtp_device, filename , gentrack, NULL , NULL, parent_id); |
1518
abdb27a70322
now i'm free'ing the metadata struct
Cristi Magherusan <majeru@atheme-project.org>
parents:
1517
diff
changeset
|
203 LIBMTP_destroy_track_t(gentrack); |
1468
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
204 if (ret == 0) |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
205 g_print("Track upload finished!\n"); |
1468
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
206 else |
1494
63144ea14b50
handling device disconnected errors
Cristi Magherusan <majeru@atheme-project.org>
parents:
1491
diff
changeset
|
207 { |
2160
5ba49a9c053c
fixed uploads, using URI's with libmtp is bad, mmm'kay !
Cristi Magherusan <majeru@atheme-project.org>
parents:
2149
diff
changeset
|
208 g_print("An error has occured while uploading '%s'...\nUpload failed!!!\n\n",filename); |
1494
63144ea14b50
handling device disconnected errors
Cristi Magherusan <majeru@atheme-project.org>
parents:
1491
diff
changeset
|
209 mtp_initialised = FALSE; |
2160
5ba49a9c053c
fixed uploads, using URI's with libmtp is bad, mmm'kay !
Cristi Magherusan <majeru@atheme-project.org>
parents:
2149
diff
changeset
|
210 g_free(filename); |
1500
611d8db6b421
made it enabled by default if having libmtp, fixes Chainsaw's bug and adds some improvements
Cristi Magherusan <majeru@atheme-project.org>
parents:
1497
diff
changeset
|
211 return 1; |
1494
63144ea14b50
handling device disconnected errors
Cristi Magherusan <majeru@atheme-project.org>
parents:
1491
diff
changeset
|
212 } |
2160
5ba49a9c053c
fixed uploads, using URI's with libmtp is bad, mmm'kay !
Cristi Magherusan <majeru@atheme-project.org>
parents:
2149
diff
changeset
|
213 g_free(filename); |
1500
611d8db6b421
made it enabled by default if having libmtp, fixes Chainsaw's bug and adds some improvements
Cristi Magherusan <majeru@atheme-project.org>
parents:
1497
diff
changeset
|
214 return 0; |
1468
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
215 } |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
216 |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
217 |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
218 gpointer upload(gpointer arg) |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
219 { |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
220 gtk_widget_hide(mtp_submenu_item_free); |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
221 if(!mutex) |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
222 { |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
223 gtk_label_set_text(GTK_LABEL(gtk_bin_get_child(GTK_BIN(mtp_submenu_item_up))),UP_DEFAULT_LABEL); |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
224 gtk_widget_set_sensitive(mtp_submenu_item_up, TRUE); |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
225 return NULL; |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
226 } |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
227 g_mutex_lock(mutex); |
1468
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
228 if(!mtp_device) |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
229 { |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
230 gtk_label_set_text(GTK_LABEL(gtk_bin_get_child(GTK_BIN(mtp_submenu_item_up))),UP_DEFAULT_LABEL); |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
231 gtk_widget_set_sensitive(mtp_submenu_item_up, TRUE); |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
232 g_mutex_unlock(mutex); |
1494
63144ea14b50
handling device disconnected errors
Cristi Magherusan <majeru@atheme-project.org>
parents:
1491
diff
changeset
|
233 return NULL; |
63144ea14b50
handling device disconnected errors
Cristi Magherusan <majeru@atheme-project.org>
parents:
1491
diff
changeset
|
234 } |
1474
10791910b866
the label wasn't restored on failure
Cristi Magherusan <majeru@atheme-project.org>
parents:
1471
diff
changeset
|
235 |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
236 Tuple* tuple; |
1468
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
237 GList *up_list=NULL,*node; |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
238 node=up_list=get_upload_list(); |
1500
611d8db6b421
made it enabled by default if having libmtp, fixes Chainsaw's bug and adds some improvements
Cristi Magherusan <majeru@atheme-project.org>
parents:
1497
diff
changeset
|
239 gint up_err=0; |
1468
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
240 while(node) |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
241 { |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
242 tuple=(Tuple*)(node->data); |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
243 up_err = upload_file(tuple); |
1500
611d8db6b421
made it enabled by default if having libmtp, fixes Chainsaw's bug and adds some improvements
Cristi Magherusan <majeru@atheme-project.org>
parents:
1497
diff
changeset
|
244 if(up_err ) |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
245 { |
1522
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
246 /*show_dialog("An error has occured while uploading...\nUpload failed!");*/ |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
247 break; |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
248 } |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
249 if(exiting) |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
250 { |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
251 /*show_dialog("Shutting down MTP while uploading.\nPending uploads were cancelled");*/ |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
252 break; |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
253 } |
1500
611d8db6b421
made it enabled by default if having libmtp, fixes Chainsaw's bug and adds some improvements
Cristi Magherusan <majeru@atheme-project.org>
parents:
1497
diff
changeset
|
254 |
1468
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
255 node = g_list_next(node); |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
256 } |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
257 g_list_free(up_list); |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
258 gtk_label_set_text(GTK_LABEL(gtk_bin_get_child(GTK_BIN(mtp_submenu_item_up))),UP_DEFAULT_LABEL); |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
259 gtk_widget_set_sensitive(mtp_submenu_item_up, TRUE); |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
260 g_mutex_unlock(mutex); |
1497
318e3bcdf51d
some fixes, more debug info
Cristi Magherusan <majeru@atheme-project.org>
parents:
1495
diff
changeset
|
261 #if DEBUG |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
262 g_print("MTP upload process finished\n"); |
1497
318e3bcdf51d
some fixes, more debug info
Cristi Magherusan <majeru@atheme-project.org>
parents:
1495
diff
changeset
|
263 #endif |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
264 gtk_widget_show(mtp_submenu_item_free); |
1497
318e3bcdf51d
some fixes, more debug info
Cristi Magherusan <majeru@atheme-project.org>
parents:
1495
diff
changeset
|
265 g_thread_exit(NULL); |
1456
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
266 return NULL; |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
267 } |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
268 |
1518
abdb27a70322
now i'm free'ing the metadata struct
Cristi Magherusan <majeru@atheme-project.org>
parents:
1517
diff
changeset
|
269 gboolean mtp_press() |
1456
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
270 { |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
271 if(!mutex) |
1518
abdb27a70322
now i'm free'ing the metadata struct
Cristi Magherusan <majeru@atheme-project.org>
parents:
1517
diff
changeset
|
272 return TRUE; |
1456
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
273 g_mutex_lock(mutex); |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
274 if(!mtp_initialised) |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
275 { |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
276 #if DEBUG |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
277 g_print("Initializing the MTP device...\n"); |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
278 #endif |
1468
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
279 LIBMTP_Init(); |
1456
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
280 mtp_device = LIBMTP_Get_First_Device(); |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
281 mtp_initialised = TRUE; |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
282 gtk_widget_show(mtp_submenu_item_free); |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
283 |
1456
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
284 } |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
285 g_mutex_unlock(mutex); |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
286 if(mtp_device == NULL) |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
287 { |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
288 #if DEBUG |
1522
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
289 g_print("No MTP devices have been found !!!\n"); |
1497
318e3bcdf51d
some fixes, more debug info
Cristi Magherusan <majeru@atheme-project.org>
parents:
1495
diff
changeset
|
290 #endif |
1522
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
291 /* show_dialog("No MTP devices have been found !!!"); */ |
1497
318e3bcdf51d
some fixes, more debug info
Cristi Magherusan <majeru@atheme-project.org>
parents:
1495
diff
changeset
|
292 mtp_initialised = FALSE; |
1518
abdb27a70322
now i'm free'ing the metadata struct
Cristi Magherusan <majeru@atheme-project.org>
parents:
1517
diff
changeset
|
293 return TRUE; |
1456
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
294 |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
295 } |
2180
f629e0c90f18
added basic internationalization support to mtp_up
mf0102 <0102@gmx.at>
parents:
2160
diff
changeset
|
296 gtk_label_set_text(GTK_LABEL(gtk_bin_get_child(GTK_BIN(mtp_submenu_item_up))), _("Upload in progress...")); |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
297 gtk_widget_set_sensitive(mtp_submenu_item_up, FALSE); |
1497
318e3bcdf51d
some fixes, more debug info
Cristi Magherusan <majeru@atheme-project.org>
parents:
1495
diff
changeset
|
298 g_thread_create(upload,NULL,FALSE,NULL); |
1518
abdb27a70322
now i'm free'ing the metadata struct
Cristi Magherusan <majeru@atheme-project.org>
parents:
1517
diff
changeset
|
299 return TRUE; |
1497
318e3bcdf51d
some fixes, more debug info
Cristi Magherusan <majeru@atheme-project.org>
parents:
1495
diff
changeset
|
300 |
1456
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
301 } |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
302 |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
303 void mtp_init(void) |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
304 { |
2180
f629e0c90f18
added basic internationalization support to mtp_up
mf0102 <0102@gmx.at>
parents:
2160
diff
changeset
|
305 mtp_root_menuitem=gtk_menu_item_new_with_label(_("MTP device handler")); |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
306 mtp_submenu=gtk_menu_new(); |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
307 |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
308 mtp_submenu_item_up=gtk_menu_item_new_with_label(UP_DEFAULT_LABEL); |
2180
f629e0c90f18
added basic internationalization support to mtp_up
mf0102 <0102@gmx.at>
parents:
2160
diff
changeset
|
309 mtp_submenu_item_free=gtk_menu_item_new_with_label(_("Disconnect the device")); |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
310 |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
311 |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
312 gtk_menu_shell_append (GTK_MENU_SHELL (mtp_submenu), mtp_submenu_item_up); |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
313 gtk_widget_show (mtp_submenu_item_up); |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
314 |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
315 gtk_menu_shell_append (GTK_MENU_SHELL (mtp_submenu), mtp_submenu_item_free); |
1522
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
316 |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
317 gtk_menu_item_set_submenu(GTK_MENU_ITEM(mtp_root_menuitem),mtp_submenu); |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
318 gtk_widget_show (mtp_submenu); |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
319 gtk_widget_show (mtp_root_menuitem); |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
320 |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
321 |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
322 audacious_menu_plugin_item_add(AUDACIOUS_MENU_PLAYLIST_RCLICK, mtp_root_menuitem); |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
323 g_signal_connect (G_OBJECT (mtp_submenu_item_up), "button_press_event",G_CALLBACK (mtp_press), NULL); |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
324 g_signal_connect (G_OBJECT (mtp_submenu_item_free), "button_press_event",G_CALLBACK (free_device), NULL); |
1522
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
325 |
1456
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
326 mutex = g_mutex_new(); |
1461
161d289f335c
do not assume that mtp_cleanup is only called after mtp_init (it's not true for general plugins); also, destroy the menuitem as it seems that it still holds a reference after being removed from its menushell
Giacomo Lozito <james@develia.org>
parents:
1458
diff
changeset
|
327 plugin_active = TRUE; |
1500
611d8db6b421
made it enabled by default if having libmtp, fixes Chainsaw's bug and adds some improvements
Cristi Magherusan <majeru@atheme-project.org>
parents:
1497
diff
changeset
|
328 exiting=FALSE; |
1456
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
329 } |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
330 |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
331 void mtp_cleanup(void) |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
332 { |
1461
161d289f335c
do not assume that mtp_cleanup is only called after mtp_init (it's not true for general plugins); also, destroy the menuitem as it seems that it still holds a reference after being removed from its menushell
Giacomo Lozito <james@develia.org>
parents:
1458
diff
changeset
|
333 if (plugin_active) |
161d289f335c
do not assume that mtp_cleanup is only called after mtp_init (it's not true for general plugins); also, destroy the menuitem as it seems that it still holds a reference after being removed from its menushell
Giacomo Lozito <james@develia.org>
parents:
1458
diff
changeset
|
334 { |
1468
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
335 |
1456
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
336 #if DEBUG |
1468
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
337 if(mtp_initialised) |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
338 { |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
339 g_print("\n\n !!!CAUTION!!! \n\n" |
1468
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
340 "Cleaning up MTP upload plugin, please wait!!!...\n" |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
341 "This will block until the pending tracks are uploaded,\n" |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
342 "then it will gracefully close your device\n\n" |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
343 "!!! FORCING SHUTDOWN NOW MAY CAUSE DAMAGE TO YOUR DEVICE !!!\n\n\n" |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
344 "Waiting for the MTP mutex to unlock...\n"); |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
345 exiting=TRUE; |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
346 } |
1468
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
347 #endif |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
348 if(mutex) |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
349 g_mutex_lock(mutex); |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
350 if(mtp_device!= NULL) |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
351 { |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
352 LIBMTP_Release_Device(mtp_device); |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
353 mtp_device = NULL; |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
354 } |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
355 g_mutex_unlock(mutex); |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
356 #if DEBUG |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
357 if(mtp_initialised) |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
358 g_print("The MTP mutex has been unlocked\n"); |
1456
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
359 #endif |
1517
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
360 audacious_menu_plugin_item_remove(AUDACIOUS_MENU_PLAYLIST_RCLICK, mtp_root_menuitem); |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
361 gtk_widget_destroy(mtp_submenu_item_up); |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
362 |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
363 gtk_widget_destroy(mtp_submenu_item_up); |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
364 gtk_widget_destroy(mtp_submenu_item_free); |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
365 |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
366 gtk_widget_destroy(mtp_submenu); |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
367 |
d72a44fdb6a3
switched to uploading tracks instead of files, added disconnect option, other misc. fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1500
diff
changeset
|
368 gtk_widget_destroy(mtp_root_menuitem); |
1522
88f5ba93f3dd
fixed filename
Cristi Magherusan <majeru@atheme-project.org>
parents:
1518
diff
changeset
|
369 |
1461
161d289f335c
do not assume that mtp_cleanup is only called after mtp_init (it's not true for general plugins); also, destroy the menuitem as it seems that it still holds a reference after being removed from its menushell
Giacomo Lozito <james@develia.org>
parents:
1458
diff
changeset
|
370 g_mutex_free (mutex); |
161d289f335c
do not assume that mtp_cleanup is only called after mtp_init (it's not true for general plugins); also, destroy the menuitem as it seems that it still holds a reference after being removed from its menushell
Giacomo Lozito <james@develia.org>
parents:
1458
diff
changeset
|
371 mutex = NULL; |
161d289f335c
do not assume that mtp_cleanup is only called after mtp_init (it's not true for general plugins); also, destroy the menuitem as it seems that it still holds a reference after being removed from its menushell
Giacomo Lozito <james@develia.org>
parents:
1458
diff
changeset
|
372 plugin_active = FALSE; |
1468
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
373 #if DEBUG |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
374 if(mtp_initialised) |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
375 g_print("MTP upload plugin has been cleaned up successfully\n"); |
159186076d9a
lots of fixes
Cristi Magherusan <majeru@atheme-project.org>
parents:
1461
diff
changeset
|
376 #endif |
1461
161d289f335c
do not assume that mtp_cleanup is only called after mtp_init (it's not true for general plugins); also, destroy the menuitem as it seems that it still holds a reference after being removed from its menushell
Giacomo Lozito <james@develia.org>
parents:
1458
diff
changeset
|
377 } |
1456
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
378 } |
475eac76a8ba
MTP upload plugin
Cristi Magherusan <majeru@atheme-project.org>
parents:
diff
changeset
|
379 |