pidgin/plugins/musicmessaging/musicmessaging.c

Wed, 21 Sep 2011 06:45:26 +0000

author
Elliott Sales de Andrade <qulogic@pidgin.im>
date
Wed, 21 Sep 2011 06:45:26 +0000
changeset 32575
eb4fc932fae9
parent 31294
73607ab89c6f
child 32438
dc8991868906
child 32619
1dc7c15bc3ef
permissions
-rw-r--r--

Apply conversation theme when opening the GTK conversation. All the
parsing stuff was moved out of the theme code and into the conversation
code.

Someone (not me!) needs to check the code I commented out and see if
we really need that stuff (and then port it to WebKit/styling).

We also need to determine where to place Template.html and the rest
of our (not-yet-written) default theme.

11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
1 /*
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
2 * Music messaging plugin for Purple
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
3 *
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
4 * Copyright (C) 2005 Christian Muise.
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
5 *
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
6 * This program is free software; you can redistribute it and/or
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
7 * modify it under the terms of the GNU General Public License as
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
8 * published by the Free Software Foundation; either version 2 of the
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
9 * License, or (at your option) any later version.
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
10 *
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
11 * This program is distributed in the hope that it will be useful, but
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
14 * General Public License for more details.
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
15 *
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
16 * You should have received a copy of the GNU General Public License
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
17 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 19832
diff changeset
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 19832
diff changeset
19 * 02111-1301, USA.
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
20 */
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
21
11108
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
22 #include "internal.h"
15577
b8129373f65e More pidgin changes
Sean Egan <seanegan@pidgin.im>
parents: 15562
diff changeset
23 #include "pidgin.h"
11088
a27865ae1e2b [gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff changeset
24
11166
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
25 #include "conversation.h"
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
26
11108
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
27 #include "gtkconv.h"
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
28 #include "gtkplugin.h"
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
29 #include "gtkutils.h"
11088
a27865ae1e2b [gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff changeset
30
a27865ae1e2b [gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff changeset
31 #include "notify.h"
a27865ae1e2b [gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff changeset
32 #include "version.h"
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
33 #include "debug.h"
11108
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
34
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
35 #define DBUS_API_SUBJECT_TO_CHANGE
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
36 #include <dbus/dbus.h>
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
37 #include "dbus-maybe.h"
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
38 #include "dbus-bindings.h"
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
39 #include "dbus-server.h"
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
40 #include "dbus-purple.h"
11166
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
41
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
42 #define MUSICMESSAGING_PLUGIN_ID "gtk-hazure-musicmessaging"
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
43 #define MUSICMESSAGING_PREFIX "##MM##"
13090
aee4ed853ff3 [gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 12627
diff changeset
44 #define MUSICMESSAGING_START_MSG _("A music messaging session has been requested. Please click the MM icon to accept.")
aee4ed853ff3 [gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 12627
diff changeset
45 #define MUSICMESSAGING_CONFIRM_MSG _("Music messaging session confirmed.")
11166
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
46
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
47 typedef struct {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
48 PurpleConversation *conv; /* pointer to the conversation */
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
49 GtkWidget *seperator; /* seperator in the conversation */
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
50 GtkWidget *button; /* button in the conversation */
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
51 GPid pid; /* the pid of the score editor */
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
52
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
53 gboolean started; /* session has started and editor run */
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
54 gboolean originator; /* started the mm session */
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
55 gboolean requested; /* received a request to start a session */
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
56
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
57 } MMConversation;
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
58
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
59 static gboolean start_session(MMConversation *mmconv);
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
60 static void run_editor(MMConversation *mmconv);
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
61 static void kill_editor(MMConversation *mmconv);
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
62 static void add_button (MMConversation *mmconv);
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
63 static void remove_widget (GtkWidget *button);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
64 static void init_conversation (PurpleConversation *conv);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
65 static void conv_destroyed(PurpleConversation *conv);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
66 static gboolean intercept_sent(PurpleAccount *account, const char *who, char **message, void* pData);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
67 static gboolean intercept_received(PurpleAccount *account, char **sender, char **message, PurpleConversation *conv, int *flags);
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
68 static gboolean send_change_request (const int session, const char *id, const char *command, const char *parameters);
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
69 static gboolean send_change_confirmed (const int session, const char *command, const char *parameters);
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
70 static void session_end (MMConversation *mmconv);
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
71
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
72 /* Globals */
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
73 /* List of sessions */
19563
a94e00f90010 Fix #2726. (Segafault on click of unknow button.) It was a bug in the musicmessaging plugin.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16749
diff changeset
74 static GList *conversations;
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
75
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
76 /* Pointer to this plugin */
19563
a94e00f90010 Fix #2726. (Segafault on click of unknow button.) It was a bug in the musicmessaging plugin.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16749
diff changeset
77 static PurplePlugin *plugin_pointer;
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
78
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
79 /* Define types needed for DBus */
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
80 DBusGConnection *connection;
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
81 DBusGProxy *proxy;
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
82 #define DBUS_SERVICE_GSCORE "org.gscore.GScoreService"
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
83 #define DBUS_PATH_GSCORE "/org/gscore/GScoreObject"
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
84 #define DBUS_INTERFACE_GSCORE "org.gscore.GScoreInterface"
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
85
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
86 /* Define the functions to export for use with DBus */
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
87 DBUS_EXPORT void music_messaging_change_request (const int session, const char *command, const char *parameters);
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
88 DBUS_EXPORT void music_messaging_change_confirmed (const int session, const char *command, const char *parameters);
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
89 DBUS_EXPORT void music_messaging_change_failed (const int session, const char *id, const char *command, const char *parameters);
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
90 DBUS_EXPORT void music_messaging_done_session (const int session);
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
91
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
92 /* This file has been generated by the #dbus-analize-functions.py
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
93 script. It contains dbus wrappers for the four functions declared
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
94 above. */
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
95 #include "music-messaging-bindings.c"
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
96
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
97 /* Exported functions */
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
98 void music_messaging_change_request(const int session, const char *command, const char *parameters)
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
99 {
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
100
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
101 MMConversation *mmconv = (MMConversation *)g_list_nth_data(conversations, session);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
102
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
103 if (mmconv->started)
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
104 {
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
105 if (mmconv->originator)
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
106 {
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
107 char *name = (mmconv->conv)->name;
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
108 send_change_request (session, name, command, parameters);
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
109 } else
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
110 {
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
111 GString *to_send = g_string_new("");
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
112 g_string_append_printf(to_send, "##MM## request %s %s##MM##", command, parameters);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
113
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
114 purple_conv_im_send(PURPLE_CONV_IM(mmconv->conv), to_send->str);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
115
19832
84b69b21672b Patch from QuLogic. Fixes #2903 ('Missing newlines in debug messages.')
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19563
diff changeset
116 purple_debug_misc("musicmessaging", "Sent request: %s\n", to_send->str);
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
117 }
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
118 }
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
119
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
120 }
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
121
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
122 void music_messaging_change_confirmed(const int session, const char *command, const char *parameters)
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
123 {
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
124
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
125 MMConversation *mmconv = (MMConversation *)g_list_nth_data(conversations, session);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
126
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
127 if (mmconv->started)
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
128 {
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
129 if (mmconv->originator)
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
130 {
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
131 GString *to_send = g_string_new("");
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
132 g_string_append_printf(to_send, "##MM## confirm %s %s##MM##", command, parameters);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
133
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
134 purple_conv_im_send(PURPLE_CONV_IM(mmconv->conv), to_send->str);
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
135 } else
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
136 {
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
137 /* Do nothing. If they aren't the originator, then they can't confirm. */
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
138 }
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
139 }
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
140
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
141 }
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
142
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
143 void music_messaging_change_failed(const int session, const char *id, const char *command, const char *parameters)
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
144 {
11900
26ddf2b8a8fe [gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11659
diff changeset
145 MMConversation *mmconv = (MMConversation *)g_list_nth_data(conversations, session);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
146
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
147 purple_notify_message(plugin_pointer, PURPLE_NOTIFY_MSG_INFO, command,
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
148 parameters, NULL, NULL, NULL);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
149
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
150 if (mmconv->started)
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
151 {
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
152 if (mmconv->originator)
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
153 {
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
154 GString *to_send = g_string_new("");
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
155 g_string_append_printf(to_send, "##MM## failed %s %s %s##MM##", id, command, parameters);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
156
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
157 purple_conv_im_send(PURPLE_CONV_IM(mmconv->conv), to_send->str);
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
158 } else
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
159 {
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
160 /* Do nothing. If they aren't the originator, then they can't confirm. */
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
161 }
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
162 }
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
163 }
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
164
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
165 void music_messaging_done_session(const int session)
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
166 {
11900
26ddf2b8a8fe [gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11659
diff changeset
167 MMConversation *mmconv = (MMConversation *)g_list_nth_data(conversations, session);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
168
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
169 purple_notify_message(plugin_pointer, PURPLE_NOTIFY_MSG_INFO, "Session",
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
170 "Session Complete", NULL, NULL, NULL);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
171
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
172 session_end(mmconv);
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
173 }
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
174
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
175
11355
8c34a2d54284 [gaim-migrate @ 13574]
Christian Muise <christian.muise@gmail.com>
parents: 11254
diff changeset
176 /* DBus commands that can be sent to the editor */
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
177 G_BEGIN_DECLS
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
178 DBusConnection *purple_dbus_get_connection(void);
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
179 G_END_DECLS
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
180
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
181 static gboolean send_change_request (const int session, const char *id, const char *command, const char *parameters)
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
182 {
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
183 DBusMessage *message;
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
184
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
185 /* Create the signal we need */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
186 message = dbus_message_new_signal (DBUS_PATH_PURPLE, DBUS_INTERFACE_PURPLE, "GscoreChangeRequest");
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
187
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
188 /* Append the string "Ping!" to the signal */
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
189 dbus_message_append_args (message,
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
190 DBUS_TYPE_INT32, &session,
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
191 DBUS_TYPE_STRING, &id,
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
192 DBUS_TYPE_STRING, &command,
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
193 DBUS_TYPE_STRING, &parameters,
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
194 DBUS_TYPE_INVALID);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
195
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
196 /* Send the signal */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
197 dbus_connection_send (purple_dbus_get_connection(), message, NULL);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
198
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
199 /* Free the signal now we have finished with it */
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
200 dbus_message_unref (message);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
201
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
202 /* Tell the user we sent a signal */
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
203 g_printerr("Sent change request signal: %d %s %s %s\n", session, id, command, parameters);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
204
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
205 return TRUE;
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
206 }
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
207
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
208 static gboolean send_change_confirmed (const int session, const char *command, const char *parameters)
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
209 {
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
210 DBusMessage *message;
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
211
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
212 /* Create the signal we need */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
213 message = dbus_message_new_signal (DBUS_PATH_PURPLE, DBUS_INTERFACE_PURPLE, "GscoreChangeConfirmed");
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
214
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
215 /* Append the string "Ping!" to the signal */
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
216 dbus_message_append_args (message,
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
217 DBUS_TYPE_INT32, &session,
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
218 DBUS_TYPE_STRING, &command,
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
219 DBUS_TYPE_STRING, &parameters,
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
220 DBUS_TYPE_INVALID);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
221
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
222 /* Send the signal */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
223 dbus_connection_send (purple_dbus_get_connection(), message, NULL);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
224
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
225 /* Free the signal now we have finished with it */
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
226 dbus_message_unref (message);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
227
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
228 /* Tell the user we sent a signal */
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
229 g_printerr("Sent change confirmed signal.\n");
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
230
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
231 return TRUE;
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
232 }
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
233
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
234
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
235 static int
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
236 mmconv_from_conv_loc(PurpleConversation *conv)
11362
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
237 {
15847
da522f9a7743 Don't use g_list_length() and g_slist_length() when all you want to
Mark Doliner <markdoliner@pidgin.im>
parents: 15577
diff changeset
238 GList *l;
11362
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
239 MMConversation *mmconv_current = NULL;
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
240 guint i;
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
241
15847
da522f9a7743 Don't use g_list_length() and g_slist_length() when all you want to
Mark Doliner <markdoliner@pidgin.im>
parents: 15577
diff changeset
242 i = 0;
da522f9a7743 Don't use g_list_length() and g_slist_length() when all you want to
Mark Doliner <markdoliner@pidgin.im>
parents: 15577
diff changeset
243 for (l = conversations; l != NULL; l = l->next)
11362
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
244 {
15847
da522f9a7743 Don't use g_list_length() and g_slist_length() when all you want to
Mark Doliner <markdoliner@pidgin.im>
parents: 15577
diff changeset
245 mmconv_current = l->data;
11362
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
246 if (conv == mmconv_current->conv)
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
247 {
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
248 return i;
11362
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
249 }
15847
da522f9a7743 Don't use g_list_length() and g_slist_length() when all you want to
Mark Doliner <markdoliner@pidgin.im>
parents: 15577
diff changeset
250 i++;
11362
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
251 }
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
252 return -1;
11362
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
253 }
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
254
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
255 static MMConversation*
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
256 mmconv_from_conv(PurpleConversation *conv)
11365
9138f01151d7 [gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents: 11362
diff changeset
257 {
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
258 return (MMConversation *)g_list_nth_data(conversations, mmconv_from_conv_loc(conv));
11365
9138f01151d7 [gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents: 11362
diff changeset
259 }
9138f01151d7 [gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents: 11362
diff changeset
260
9138f01151d7 [gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents: 11362
diff changeset
261 static gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
262 plugin_load(PurplePlugin *plugin) {
11900
26ddf2b8a8fe [gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11659
diff changeset
263 void *conv_list_handle;
26ddf2b8a8fe [gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11659
diff changeset
264
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
265 PURPLE_DBUS_RETURN_FALSE_IF_DISABLED(plugin);
14018
0d82c17d8000 [gaim-migrate @ 16505]
Mark Doliner <markdoliner@pidgin.im>
parents: 13234
diff changeset
266
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
267 /* First, we have to register our four exported functions with the
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
268 main purple dbus loop. Without this statement, the purple dbus
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
269 code wouldn't know about our functions. */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
270 PURPLE_DBUS_REGISTER_BINDINGS(plugin);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
271
11166
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
272 /* Keep the plugin for reference (needed for notify's) */
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
273 plugin_pointer = plugin;
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
274
11166
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
275 /* Add the button to all the current conversations */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
276 purple_conversation_foreach (init_conversation);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
277
11166
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
278 /* Listen for any new conversations */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
279 conv_list_handle = purple_conversations_get_handle();
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
280
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
281 purple_signal_connect(conv_list_handle, "conversation-created",
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
282 plugin, PURPLE_CALLBACK(init_conversation), NULL);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
283
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
284 /* Listen for conversations that are ending */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
285 purple_signal_connect(conv_list_handle, "deleting-conversation",
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
286 plugin, PURPLE_CALLBACK(conv_destroyed), NULL);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
287
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
288 /* Listen for sending/receiving messages to replace tags */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
289 purple_signal_connect(conv_list_handle, "sending-im-msg",
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
290 plugin, PURPLE_CALLBACK(intercept_sent), NULL);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
291 purple_signal_connect(conv_list_handle, "receiving-im-msg",
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
292 plugin, PURPLE_CALLBACK(intercept_received), NULL);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
293
11166
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
294 return TRUE;
11088
a27865ae1e2b [gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff changeset
295 }
a27865ae1e2b [gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff changeset
296
11108
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
297 static gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
298 plugin_unload(PurplePlugin *plugin) {
11900
26ddf2b8a8fe [gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11659
diff changeset
299 MMConversation *mmconv = NULL;
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
300
15847
da522f9a7743 Don't use g_list_length() and g_slist_length() when all you want to
Mark Doliner <markdoliner@pidgin.im>
parents: 15577
diff changeset
301 while (conversations != NULL)
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
302 {
15847
da522f9a7743 Don't use g_list_length() and g_slist_length() when all you want to
Mark Doliner <markdoliner@pidgin.im>
parents: 15577
diff changeset
303 mmconv = conversations->data;
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
304 conv_destroyed(mmconv->conv);
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
305 }
11108
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
306 return TRUE;
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
307 }
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
308
11362
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
309
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
310
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
311 static gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
312 intercept_sent(PurpleAccount *account, const char *who, char **message, void* pData)
11362
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
313 {
19988
a0e2b3ea6d85 Fix crash in musicmessaging plugin when something else has set the message to NULL (in this case, I'm guessing the Offline Messaging plugin). Fixes #3050.
Daniel Atallah <datallah@pidgin.im>
parents: 19859
diff changeset
314 if (message == NULL || *message == NULL || **message == '\0')
a0e2b3ea6d85 Fix crash in musicmessaging plugin when something else has set the message to NULL (in this case, I'm guessing the Offline Messaging plugin). Fixes #3050.
Daniel Atallah <datallah@pidgin.im>
parents: 19859
diff changeset
315 return FALSE;
a0e2b3ea6d85 Fix crash in musicmessaging plugin when something else has set the message to NULL (in this case, I'm guessing the Offline Messaging plugin). Fixes #3050.
Daniel Atallah <datallah@pidgin.im>
parents: 19859
diff changeset
316
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
317 if (0 == strncmp(*message, MUSICMESSAGING_PREFIX, strlen(MUSICMESSAGING_PREFIX)))
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
318 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
319 purple_debug_misc("purple-musicmessaging", "Sent MM Message: %s\n", *message);
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
320 message = 0;
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
321 }
11362
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
322 else if (0 == strncmp(*message, MUSICMESSAGING_START_MSG, strlen(MUSICMESSAGING_START_MSG)))
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
323 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
324 purple_debug_misc("purple-musicmessaging", "Sent MM request.\n");
11420
7e38dc3d0f48 [gaim-migrate @ 13657]
Christian Muise <christian.muise@gmail.com>
parents: 11418
diff changeset
325 return FALSE;
11362
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
326 }
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
327 else if (0 == strncmp(*message, MUSICMESSAGING_CONFIRM_MSG, strlen(MUSICMESSAGING_CONFIRM_MSG)))
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
328 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
329 purple_debug_misc("purple-musicmessaging", "Sent MM confirm.\n");
11420
7e38dc3d0f48 [gaim-migrate @ 13657]
Christian Muise <christian.muise@gmail.com>
parents: 11418
diff changeset
330 return FALSE;
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
331 }
11365
9138f01151d7 [gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents: 11362
diff changeset
332 else if (0 == strncmp(*message, "test1", strlen("test1")))
9138f01151d7 [gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents: 11362
diff changeset
333 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
334 purple_debug_misc("purple-musicmessaging", "\n\nTEST 1\n\n");
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
335 send_change_request(0, "test-id", "test-command", "test-parameters");
11365
9138f01151d7 [gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents: 11362
diff changeset
336 return FALSE;
9138f01151d7 [gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents: 11362
diff changeset
337 }
9138f01151d7 [gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents: 11362
diff changeset
338 else if (0 == strncmp(*message, "test2", strlen("test2")))
9138f01151d7 [gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents: 11362
diff changeset
339 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
340 purple_debug_misc("purple-musicmessaging", "\n\nTEST 2\n\n");
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
341 send_change_confirmed(1, "test-command", "test-parameters");
11365
9138f01151d7 [gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents: 11362
diff changeset
342 return FALSE;
9138f01151d7 [gaim-migrate @ 13589]
Christian Muise <christian.muise@gmail.com>
parents: 11362
diff changeset
343 }
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
344 else
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
345 {
11362
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
346 return FALSE;
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
347 /* Do nothing...procceed as normal */
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
348 }
11362
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
349 return TRUE;
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
350 }
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
351
11362
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
352 static gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
353 intercept_received(PurpleAccount *account, char **sender, char **message, PurpleConversation *conv, int *flags)
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
354 {
19563
a94e00f90010 Fix #2726. (Segafault on click of unknow button.) It was a bug in the musicmessaging plugin.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16749
diff changeset
355 MMConversation *mmconv;
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
356
19563
a94e00f90010 Fix #2726. (Segafault on click of unknow button.) It was a bug in the musicmessaging plugin.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16749
diff changeset
357 if (conv == NULL) {
a94e00f90010 Fix #2726. (Segafault on click of unknow button.) It was a bug in the musicmessaging plugin.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16749
diff changeset
358 /* XXX: This is just to avoid a crash (#2726).
a94e00f90010 Fix #2726. (Segafault on click of unknow button.) It was a bug in the musicmessaging plugin.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16749
diff changeset
359 * We may want to create the conversation instead of returning from here
a94e00f90010 Fix #2726. (Segafault on click of unknow button.) It was a bug in the musicmessaging plugin.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16749
diff changeset
360 */
a94e00f90010 Fix #2726. (Segafault on click of unknow button.) It was a bug in the musicmessaging plugin.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16749
diff changeset
361 return FALSE;
a94e00f90010 Fix #2726. (Segafault on click of unknow button.) It was a bug in the musicmessaging plugin.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16749
diff changeset
362 }
a94e00f90010 Fix #2726. (Segafault on click of unknow button.) It was a bug in the musicmessaging plugin.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16749
diff changeset
363
a94e00f90010 Fix #2726. (Segafault on click of unknow button.) It was a bug in the musicmessaging plugin.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16749
diff changeset
364 mmconv = mmconv_from_conv(conv);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
365
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
366 purple_debug_misc("purple-musicmessaging", "Intercepted: %s\n", *message);
11362
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
367 if (strstr(*message, MUSICMESSAGING_PREFIX))
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
368 {
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
369 char *parsed_message = strtok(strstr(*message, MUSICMESSAGING_PREFIX), "<");
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
370 purple_debug_misc("purple-musicmessaging", "Received an MM Message: %s\n", parsed_message);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
371
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
372 if (mmconv->started)
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
373 {
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
374 if (strstr(parsed_message, "request"))
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
375 {
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
376 if (mmconv->originator)
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
377 {
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
378 int session = mmconv_from_conv_loc(conv);
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
379 char *id = (mmconv->conv)->name;
11900
26ddf2b8a8fe [gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11659
diff changeset
380 char *command;
26ddf2b8a8fe [gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11659
diff changeset
381 char *parameters;
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
382
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
383 purple_debug_misc("purple-musicmessaging", "Sending request to gscore.\n");
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
384
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
385 /* Get past the first two terms - '##MM##' and 'request' */
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
386 strtok(parsed_message, " "); /* '##MM##' */
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
387 strtok(NULL, " "); /* 'request' */
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
388
11900
26ddf2b8a8fe [gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11659
diff changeset
389 command = strtok(NULL, " ");
26ddf2b8a8fe [gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11659
diff changeset
390 parameters = strtok(NULL, "#");
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
391
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
392 send_change_request (session, id, command, parameters);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
393
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
394 }
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
395 } else if (strstr(parsed_message, "confirm"))
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
396 {
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
397 if (!mmconv->originator)
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
398 {
11900
26ddf2b8a8fe [gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11659
diff changeset
399 int session = mmconv_from_conv_loc(conv);
26ddf2b8a8fe [gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11659
diff changeset
400 char *command;
26ddf2b8a8fe [gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11659
diff changeset
401 char *parameters;
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
402
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
403 purple_debug_misc("purple-musicmessaging", "Sending confirmation to gscore.\n");
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
404
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
405 /* Get past the first two terms - '##MM##' and 'confirm' */
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
406 strtok(parsed_message, " "); /* '##MM##' */
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
407 strtok(NULL, " "); /* 'confirm' */
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
408
11900
26ddf2b8a8fe [gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11659
diff changeset
409 command = strtok(NULL, " ");
26ddf2b8a8fe [gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11659
diff changeset
410 parameters = strtok(NULL, "#");
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
411
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
412 send_change_confirmed (session, command, parameters);
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
413 }
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
414 } else if (strstr(parsed_message, "failed"))
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
415 {
11900
26ddf2b8a8fe [gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11659
diff changeset
416 char *id;
26ddf2b8a8fe [gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11659
diff changeset
417 char *command;
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
418
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
419 /* Get past the first two terms - '##MM##' and 'confirm' */
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
420 strtok(parsed_message, " "); /* '##MM##' */
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
421 strtok(NULL, " "); /* 'failed' */
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
422
11900
26ddf2b8a8fe [gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11659
diff changeset
423 id = strtok(NULL, " ");
26ddf2b8a8fe [gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11659
diff changeset
424 command = strtok(NULL, " ");
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
425 /* char *parameters = strtok(NULL, "#"); DONT NEED PARAMETERS */
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
426
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
427 if ((mmconv->conv)->name == id)
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
428 {
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
429 purple_notify_message(plugin_pointer, PURPLE_NOTIFY_MSG_ERROR,
13090
aee4ed853ff3 [gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 12627
diff changeset
430 _("Music Messaging"),
aee4ed853ff3 [gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 12627
diff changeset
431 _("There was a conflict in running the command:"), command, NULL, NULL);
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
432 }
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
433 }
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
434 }
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
435
11362
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
436 message = 0;
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
437 }
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
438 else if (strstr(*message, MUSICMESSAGING_START_MSG))
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
439 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
440 purple_debug_misc("purple-musicmessaging", "Received MM request.\n");
11362
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
441 if (!(mmconv->originator))
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
442 {
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
443 mmconv->requested = TRUE;
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
444 return FALSE;
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
445 }
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
446
11362
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
447 }
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
448 else if (strstr(*message, MUSICMESSAGING_CONFIRM_MSG))
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
449 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
450 purple_debug_misc("purple-musicmessagin", "Received MM confirm.\n");
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
451
11362
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
452 if (mmconv->originator)
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
453 {
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
454 start_session(mmconv);
11420
7e38dc3d0f48 [gaim-migrate @ 13657]
Christian Muise <christian.muise@gmail.com>
parents: 11418
diff changeset
455 return FALSE;
11362
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
456 }
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
457 }
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
458 else
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
459 {
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
460 return FALSE;
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
461 /* Do nothing. */
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
462 }
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
463 return TRUE;
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
464 }
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
465
11362
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
466 static void send_request(MMConversation *mmconv)
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
467 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
468 PurpleConnection *connection = purple_conversation_get_gc(mmconv->conv);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
469 const char *convName = purple_conversation_get_name(mmconv->conv);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
470 serv_send_im(connection, convName, MUSICMESSAGING_START_MSG, PURPLE_MESSAGE_SEND);
11362
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
471 }
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
472
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
473 static void send_request_confirmed(MMConversation *mmconv)
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
474 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
475 PurpleConnection *connection = purple_conversation_get_gc(mmconv->conv);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
476 const char *convName = purple_conversation_get_name(mmconv->conv);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
477 serv_send_im(connection, convName, MUSICMESSAGING_CONFIRM_MSG, PURPLE_MESSAGE_SEND);
11362
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
478 }
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
479
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
480
11108
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
481 static gboolean
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
482 start_session(MMConversation *mmconv)
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
483 {
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
484 run_editor(mmconv);
11108
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
485 return TRUE;
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
486 }
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
487
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
488 static void session_end (MMConversation *mmconv)
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
489 {
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
490 mmconv->started = FALSE;
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
491 mmconv->originator = FALSE;
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
492 mmconv->requested = FALSE;
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
493 kill_editor(mmconv);
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
494 }
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
495
11169
96612b706d45 [gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents: 11166
diff changeset
496 static void music_button_toggled (GtkWidget *widget, gpointer data)
96612b706d45 [gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents: 11166
diff changeset
497 {
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
498 MMConversation *mmconv = mmconv_from_conv(((MMConversation *) data)->conv);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
499 if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)))
11169
96612b706d45 [gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents: 11166
diff changeset
500 {
11418
9a84d5b27748 [gaim-migrate @ 13655]
Christian Muise <christian.muise@gmail.com>
parents: 11417
diff changeset
501 if (((MMConversation *) data)->requested)
9a84d5b27748 [gaim-migrate @ 13655]
Christian Muise <christian.muise@gmail.com>
parents: 11417
diff changeset
502 {
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
503 start_session(mmconv);
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
504 send_request_confirmed(mmconv);
11418
9a84d5b27748 [gaim-migrate @ 13655]
Christian Muise <christian.muise@gmail.com>
parents: 11417
diff changeset
505 }
11362
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
506 else
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
507 {
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
508 ((MMConversation *) data)->originator = TRUE;
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
509 send_request((MMConversation *) data);
11418
9a84d5b27748 [gaim-migrate @ 13655]
Christian Muise <christian.muise@gmail.com>
parents: 11417
diff changeset
510 }
11169
96612b706d45 [gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents: 11166
diff changeset
511 } else {
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
512 session_end((MMConversation *)data);
11169
96612b706d45 [gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents: 11166
diff changeset
513 }
96612b706d45 [gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents: 11166
diff changeset
514 }
96612b706d45 [gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents: 11166
diff changeset
515
11166
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
516 static void set_editor_path (GtkWidget *button, GtkWidget *text_field)
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
517 {
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
518 const char * path = gtk_entry_get_text((GtkEntry*)text_field);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
519 purple_prefs_set_string("/plugins/gtk/musicmessaging/editor_path", path);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
520
11166
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
521 }
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
522
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
523 static void run_editor (MMConversation *mmconv)
11166
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
524 {
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
525 GError *spawn_error = NULL;
11900
26ddf2b8a8fe [gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11659
diff changeset
526 GString *session_id;
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
527 gchar * args[4];
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
528 args[0] = (gchar *)purple_prefs_get_string("/plugins/gtk/musicmessaging/editor_path");
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
529
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
530 args[1] = "-session_id";
11900
26ddf2b8a8fe [gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11659
diff changeset
531 session_id = g_string_new("");
26756
874b154f4220 More Pidgin updates for GTK+ 3.0. Removes any deprecated functions for GLib
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 20288
diff changeset
532 g_string_append_printf(session_id, "%d", mmconv_from_conv_loc(mmconv->conv));
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
533 args[2] = session_id->str;
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
534
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
535 args[3] = NULL;
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
536
11417
f5fea1b5986f [gaim-migrate @ 13654]
Christian Muise <christian.muise@gmail.com>
parents: 11365
diff changeset
537 if (!(g_spawn_async (".", args, NULL, 4, NULL, NULL, &(mmconv->pid), &spawn_error)))
11166
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
538 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
539 purple_notify_error(plugin_pointer, _("Error Running Editor"),
14754
621ecdbdaf9a [gaim-migrate @ 17444]
Paul Schulz
parents: 14253
diff changeset
540 _("The following error has occurred:"), spawn_error->message);
11254
3cbf29bdc44a [gaim-migrate @ 13426]
Christian Muise <christian.muise@gmail.com>
parents: 11216
diff changeset
541 mmconv->started = FALSE;
3cbf29bdc44a [gaim-migrate @ 13426]
Christian Muise <christian.muise@gmail.com>
parents: 11216
diff changeset
542 }
3cbf29bdc44a [gaim-migrate @ 13426]
Christian Muise <christian.muise@gmail.com>
parents: 11216
diff changeset
543 else
3cbf29bdc44a [gaim-migrate @ 13426]
Christian Muise <christian.muise@gmail.com>
parents: 11216
diff changeset
544 {
3cbf29bdc44a [gaim-migrate @ 13426]
Christian Muise <christian.muise@gmail.com>
parents: 11216
diff changeset
545 mmconv->started = TRUE;
11166
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
546 }
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
547 }
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
548
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
549 static void kill_editor (MMConversation *mmconv)
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
550 {
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
551 if (mmconv->pid)
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
552 {
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
553 kill(mmconv->pid, SIGINT);
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
554 mmconv->pid = 0;
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
555 }
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
556 }
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
557
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
558 static void init_conversation (PurpleConversation *conv)
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
559 {
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
560 MMConversation *mmconv;
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
561 mmconv = g_malloc(sizeof(MMConversation));
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
562
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
563 mmconv->conv = conv;
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
564 mmconv->started = FALSE;
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
565 mmconv->originator = FALSE;
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
566 mmconv->requested = FALSE;
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
567
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
568 add_button(mmconv);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
569
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
570 conversations = g_list_append(conversations, mmconv);
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
571 }
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
572
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
573 static void conv_destroyed (PurpleConversation *conv)
11166
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
574 {
11362
d28bb616f412 [gaim-migrate @ 13586]
Christian Muise <christian.muise@gmail.com>
parents: 11355
diff changeset
575 MMConversation *mmconv = mmconv_from_conv(conv);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
576
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
577 remove_widget(mmconv->button);
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
578 remove_widget(mmconv->seperator);
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
579 if (mmconv->started)
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
580 {
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
581 kill_editor(mmconv);
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
582 }
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
583 conversations = g_list_remove(conversations, mmconv);
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
584 }
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
585
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
586 static void add_button (MMConversation *mmconv)
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
587 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
588 PurpleConversation *conv = mmconv->conv;
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
589
11169
96612b706d45 [gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents: 11166
diff changeset
590 GtkWidget *button, *image, *sep;
11900
26ddf2b8a8fe [gaim-migrate @ 14191]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 11659
diff changeset
591 gchar *file_path;
11166
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
592
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
593 button = gtk_toggle_button_new();
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
594 gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE);
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
595
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
596 g_signal_connect(G_OBJECT(button), "toggled", G_CALLBACK(music_button_toggled), mmconv);
11166
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
597
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
598 file_path = g_build_filename(DATADIR, "pixmaps", "purple", "buttons",
11659
65d522cdb2d6 [gaim-migrate @ 13944]
Gary Kramlich <grim@reaperworld.com>
parents: 11420
diff changeset
599 "music.png", NULL);
11254
3cbf29bdc44a [gaim-migrate @ 13426]
Christian Muise <christian.muise@gmail.com>
parents: 11216
diff changeset
600 image = gtk_image_new_from_file(file_path);
11659
65d522cdb2d6 [gaim-migrate @ 13944]
Gary Kramlich <grim@reaperworld.com>
parents: 11420
diff changeset
601 g_free(file_path);
11166
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
602
11169
96612b706d45 [gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents: 11166
diff changeset
603 gtk_container_add((GtkContainer *)button, image);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
604
11169
96612b706d45 [gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents: 11166
diff changeset
605 sep = gtk_vseparator_new();
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
606
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
607 mmconv->seperator = sep;
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
608 mmconv->button = button;
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
609
11169
96612b706d45 [gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents: 11166
diff changeset
610 gtk_widget_show(sep);
96612b706d45 [gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents: 11166
diff changeset
611 gtk_widget_show(image);
96612b706d45 [gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents: 11166
diff changeset
612 gtk_widget_show(button);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
613
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
614 gtk_box_pack_start(GTK_BOX(PIDGIN_CONVERSATION(conv)->toolbar), sep, FALSE, FALSE, 0);
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
615 gtk_box_pack_start(GTK_BOX(PIDGIN_CONVERSATION(conv)->toolbar), button, FALSE, FALSE, 0);
11169
96612b706d45 [gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents: 11166
diff changeset
616 }
11166
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
617
11200
082b8c63d9b1 [gaim-migrate @ 13328]
Christian Muise <christian.muise@gmail.com>
parents: 11169
diff changeset
618 static void remove_widget (GtkWidget *button)
11169
96612b706d45 [gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents: 11166
diff changeset
619 {
96612b706d45 [gaim-migrate @ 13270]
Christian Muise <christian.muise@gmail.com>
parents: 11166
diff changeset
620 gtk_widget_hide(button);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
621 gtk_widget_destroy(button);
11166
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
622 }
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
623
11108
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
624 static GtkWidget *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
625 get_config_frame(PurplePlugin *plugin)
11108
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
626 {
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
627 GtkWidget *ret;
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
628 GtkWidget *vbox;
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
629
11166
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
630 GtkWidget *editor_path;
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
631 GtkWidget *editor_path_label;
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
632 GtkWidget *editor_path_button;
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
633
11108
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
634 /* Outside container */
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
635 ret = gtk_vbox_new(FALSE, 18);
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
636 gtk_container_set_border_width(GTK_CONTAINER(ret), 10);
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
637
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
638 /* Configuration frame */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
639 vbox = pidgin_make_frame(ret, _("Music Messaging Configuration"));
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
640
11166
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
641 /* Path to the score editor */
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
642 editor_path = gtk_entry_new();
13090
aee4ed853ff3 [gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 12627
diff changeset
643 editor_path_label = gtk_label_new(_("Score Editor Path"));
11166
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
644 editor_path_button = gtk_button_new_with_mnemonic(_("_Apply"));
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
645
11166
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
646 gtk_entry_set_text((GtkEntry*)editor_path, "/usr/local/bin/gscore");
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
647
11166
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
648 g_signal_connect(G_OBJECT(editor_path_button), "clicked",
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
649 G_CALLBACK(set_editor_path), editor_path);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
650
11166
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
651 gtk_box_pack_start(GTK_BOX(vbox), editor_path_label, FALSE, FALSE, 0);
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
652 gtk_box_pack_start(GTK_BOX(vbox), editor_path, FALSE, FALSE, 0);
61bc885358db [gaim-migrate @ 13267]
Christian Muise <christian.muise@gmail.com>
parents: 11108
diff changeset
653 gtk_box_pack_start(GTK_BOX(vbox), editor_path_button, FALSE, FALSE, 0);
31294
73607ab89c6f Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents: 27525
diff changeset
654
11108
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
655 gtk_widget_show_all(ret);
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
656
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
657 return ret;
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
658 }
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
659
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
660 static PidginPluginUiInfo ui_info =
11108
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
661 {
12627
fa4c64a821d2 [gaim-migrate @ 14963]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 12604
diff changeset
662 get_config_frame,
16749
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 16175
diff changeset
663 0, /* page_num (reserved) */
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 16175
diff changeset
664
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 16175
diff changeset
665 /* padding */
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 16175
diff changeset
666 NULL,
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 16175
diff changeset
667 NULL,
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 16175
diff changeset
668 NULL,
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 16175
diff changeset
669 NULL
11108
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
670 };
cd88f2093c73 [gaim-migrate @ 13157]
Christian Muise <christian.muise@gmail.com>
parents: 11088
diff changeset
671
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
672 static PurplePluginInfo info = {
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
673 PURPLE_PLUGIN_MAGIC,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
674 PURPLE_MAJOR_VERSION,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
675 PURPLE_MINOR_VERSION,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
676 PURPLE_PLUGIN_STANDARD, /**< type */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
677 PIDGIN_PLUGIN_TYPE, /**< ui_requirement */
13090
aee4ed853ff3 [gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 12627
diff changeset
678 0, /**< flags */
aee4ed853ff3 [gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 12627
diff changeset
679 NULL, /**< dependencies */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
680 PURPLE_PRIORITY_DEFAULT, /**< priority */
11088
a27865ae1e2b [gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff changeset
681
13090
aee4ed853ff3 [gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 12627
diff changeset
682 MUSICMESSAGING_PLUGIN_ID, /**< id */
aee4ed853ff3 [gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 12627
diff changeset
683 "Music Messaging", /**< name */
20288
5ca925a094e2 applied changes from 03b709ec2a153e7e82719df0ba4635108bb1d3c6
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 19988
diff changeset
684 DISPLAY_VERSION, /**< version */
13090
aee4ed853ff3 [gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 12627
diff changeset
685 N_("Music Messaging Plugin for collaborative composition."),
aee4ed853ff3 [gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 12627
diff changeset
686 /** summary */
27525
579b9d64b364 A semi-random collection of English spelling and grammatical changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26756
diff changeset
687 N_("The Music Messaging Plugin allows a number of users to simultaneously "
579b9d64b364 A semi-random collection of English spelling and grammatical changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 26756
diff changeset
688 "work on a piece of music by editing a common score in real-time."),
13090
aee4ed853ff3 [gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 12627
diff changeset
689 /** description */
aee4ed853ff3 [gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 12627
diff changeset
690 "Christian Muise <christian.muise@gmail.com>", /**< author */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
691 PURPLE_WEBSITE, /**< homepage */
13090
aee4ed853ff3 [gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 12627
diff changeset
692 plugin_load, /**< load */
aee4ed853ff3 [gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 12627
diff changeset
693 plugin_unload, /**< unload */
aee4ed853ff3 [gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 12627
diff changeset
694 NULL, /**< destroy */
aee4ed853ff3 [gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 12627
diff changeset
695 &ui_info, /**< ui_info */
aee4ed853ff3 [gaim-migrate @ 15451]
Björn Voigt <bjoern@cs.tu-berlin.de>
parents: 12627
diff changeset
696 NULL, /**< extra_info */
11088
a27865ae1e2b [gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff changeset
697 NULL,
16749
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 16175
diff changeset
698 NULL,
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 16175
diff changeset
699
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 16175
diff changeset
700 /* padding */
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 16175
diff changeset
701 NULL,
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 16175
diff changeset
702 NULL,
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 16175
diff changeset
703 NULL,
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 16175
diff changeset
704 NULL
11088
a27865ae1e2b [gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff changeset
705 };
a27865ae1e2b [gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff changeset
706
a27865ae1e2b [gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff changeset
707 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
708 init_plugin(PurplePlugin *plugin) {
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
709 purple_prefs_add_none("/plugins/gtk/musicmessaging");
16175
37cb9e5165ce If we're going to keep this, let's not have default paths under /usr/local, k?
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
710 purple_prefs_add_string("/plugins/gtk/musicmessaging/editor_path", "/usr/bin/gscore");
11088
a27865ae1e2b [gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff changeset
711 }
a27865ae1e2b [gaim-migrate @ 13108]
Christian Muise <christian.muise@gmail.com>
parents:
diff changeset
712
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15847
diff changeset
713 PURPLE_INIT_PLUGIN(musicmessaging, init_plugin, info);

mercurial