Tue, 07 May 2013 05:04:46 -0400
Rewrite debug window filter in JS.
Note, this does cause a couple regressions, but they are probably not
that big a deal. First, the JS regular expression syntax is slightly
different. Second, the JS regex API lacks a way to reliably determine
the location of matched groups, so we can't highlight just the groups
and must highlight the entire expression.
I suspect that none of our users ever had to use any fancy regex in the
debug window, and that most of our developers didn't even know it could
be done. So I doubt these regressions will cause much pain.
|
28324
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
1 | /* |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
2 | * Configures microphones and webcams for voice and video |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
3 | * Copyright (C) 2009 Mike Ruprecht <cmaiku@gmail.com> |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
4 | * |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
5 | * This program is free software; you can redistribute it and/or |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
6 | * modify it under the terms of the GNU General Public License |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
7 | * as published by the Free Software Foundation; either version 2 |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
8 | * of the License, or (at your option) any later version. |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
9 | * |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
10 | * This program is distributed in the hope that it will be useful, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
13 | * GNU General Public License for more details. |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
14 | * |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
15 | * You should have received a copy of the GNU General Public License |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
16 | * along with this program; if not, write to the Free Software |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
17 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301, USA. |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
18 | */ |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
19 | #include "internal.h" |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
20 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
21 | #include "debug.h" |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
22 | #include "mediamanager.h" |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
23 | #include "media-gst.h" |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
24 | #include "version.h" |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
25 | #include "gtkplugin.h" |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
26 | #include "gtkutils.h" |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
27 | #include "gtkprefs.h" |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
28 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
29 | #include <gst/interfaces/propertyprobe.h> |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
30 | |
|
30745
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
31 | /* container window for showing a stand-alone configurator */ |
|
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
32 | static GtkWidget *window = NULL; |
|
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
33 | |
|
28324
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
34 | static PurpleMediaElementInfo *old_video_src = NULL, *old_video_sink = NULL, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
35 | *old_audio_src = NULL, *old_audio_sink = NULL; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
36 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
37 | static const gchar *AUDIO_SRC_PLUGINS[] = { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
38 | "alsasrc", "ALSA", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
39 | /* "esdmon", "ESD", ? */ |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
40 | "osssrc", "OSS", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
41 | "pulsesrc", "PulseAudio", |
|
33281
ba9ee604d50a
Update sndio audio backend names in vvconfig plugin.
Brad Smith <brad@comstyle.com>
parents:
32748
diff
changeset
|
42 | "sndiosrc", "sndio", |
|
28324
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
43 | /* "audiotestsrc wave=silence", "Silence", */ |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
44 | "audiotestsrc", "Test Sound", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
45 | NULL |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
46 | }; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
47 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
48 | static const gchar *AUDIO_SINK_PLUGINS[] = { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
49 | "alsasink", "ALSA", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
50 | "artsdsink", "aRts", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
51 | "esdsink", "ESD", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
52 | "osssink", "OSS", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
53 | "pulsesink", "PulseAudio", |
|
33281
ba9ee604d50a
Update sndio audio backend names in vvconfig plugin.
Brad Smith <brad@comstyle.com>
parents:
32748
diff
changeset
|
54 | "sndiosink", "sndio", |
|
28324
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
55 | NULL |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
56 | }; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
57 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
58 | static const gchar *VIDEO_SRC_PLUGINS[] = { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
59 | "videotestsrc", "Test Input", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
60 | "dshowvideosrc","DirectDraw", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
61 | "ksvideosrc", "KS Video", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
62 | "qcamsrc", "Quickcam", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
63 | "v4lsrc", "Video4Linux", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
64 | "v4l2src", "Video4Linux2", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
65 | "v4lmjpegsrc", "Video4Linux MJPEG", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
66 | NULL |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
67 | }; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
68 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
69 | static const gchar *VIDEO_SINK_PLUGINS[] = { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
70 | /* "aasink", "AALib", Didn't work for me */ |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
71 | "directdrawsink","DirectDraw", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
72 | "glimagesink", "OpenGL", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
73 | "ximagesink", "X Window System", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
74 | "xvimagesink", "X Window System (Xv)", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
75 | NULL |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
76 | }; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
77 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
78 | static GList * |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
79 | get_element_devices(const gchar *element_name) |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
80 | { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
81 | GList *ret = NULL; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
82 | GstElement *element; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
83 | GObjectClass *klass; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
84 | GstPropertyProbe *probe; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
85 | const GParamSpec *pspec; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
86 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
87 | ret = g_list_prepend(ret, (gpointer)_("Default")); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
88 | ret = g_list_prepend(ret, ""); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
89 | |
|
31369
d7b8fe78c9d2
vvconfig: Don't crash when the stored device isn't found in the list of
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31294
diff
changeset
|
90 | if (!strcmp(element_name, "<custom>") || (*element_name == '\0')) { |
|
d7b8fe78c9d2
vvconfig: Don't crash when the stored device isn't found in the list of
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31294
diff
changeset
|
91 | return g_list_reverse(ret); |
|
28324
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
92 | } |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
93 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
94 | element = gst_element_factory_make(element_name, "test"); |
|
31681
0f60ba9bf9c7
Fix another vvconfig crash. Fixes #13290, #13774.
Pat Erley <pat@erley.org>
parents:
31623
diff
changeset
|
95 | if(!element) { |
|
0f60ba9bf9c7
Fix another vvconfig crash. Fixes #13290, #13774.
Pat Erley <pat@erley.org>
parents:
31623
diff
changeset
|
96 | purple_debug_info("vvconfig", "'%s' - unable to find element\n", element_name); |
|
0f60ba9bf9c7
Fix another vvconfig crash. Fixes #13290, #13774.
Pat Erley <pat@erley.org>
parents:
31623
diff
changeset
|
97 | return g_list_reverse(ret); |
|
0f60ba9bf9c7
Fix another vvconfig crash. Fixes #13290, #13774.
Pat Erley <pat@erley.org>
parents:
31623
diff
changeset
|
98 | } |
|
0f60ba9bf9c7
Fix another vvconfig crash. Fixes #13290, #13774.
Pat Erley <pat@erley.org>
parents:
31623
diff
changeset
|
99 | |
|
28324
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
100 | klass = G_OBJECT_GET_CLASS (element); |
|
31681
0f60ba9bf9c7
Fix another vvconfig crash. Fixes #13290, #13774.
Pat Erley <pat@erley.org>
parents:
31623
diff
changeset
|
101 | if(!klass) { |
|
0f60ba9bf9c7
Fix another vvconfig crash. Fixes #13290, #13774.
Pat Erley <pat@erley.org>
parents:
31623
diff
changeset
|
102 | purple_debug_info("vvconfig", "'%s' - unable to find G_Object Class\n", element_name); |
|
0f60ba9bf9c7
Fix another vvconfig crash. Fixes #13290, #13774.
Pat Erley <pat@erley.org>
parents:
31623
diff
changeset
|
103 | return g_list_reverse(ret); |
|
0f60ba9bf9c7
Fix another vvconfig crash. Fixes #13290, #13774.
Pat Erley <pat@erley.org>
parents:
31623
diff
changeset
|
104 | } |
|
0f60ba9bf9c7
Fix another vvconfig crash. Fixes #13290, #13774.
Pat Erley <pat@erley.org>
parents:
31623
diff
changeset
|
105 | |
|
28324
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
106 | if (!g_object_class_find_property(klass, "device") || |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
107 | !GST_IS_PROPERTY_PROBE(element) || |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
108 | !(probe = GST_PROPERTY_PROBE(element)) || |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
109 | !(pspec = gst_property_probe_get_property(probe, "device"))) { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
110 | purple_debug_info("vvconfig", "'%s' - no device\n", element_name); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
111 | } else { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
112 | gint n; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
113 | GValueArray *array; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
114 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
115 | /* Set autoprobe[-fps] to FALSE to avoid delays when probing. */ |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
116 | if (g_object_class_find_property (klass, "autoprobe")) { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
117 | g_object_set (G_OBJECT (element), "autoprobe", FALSE, NULL); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
118 | if (g_object_class_find_property (klass, "autoprobe-fps")) { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
119 | g_object_set (G_OBJECT (element), "autoprobe-fps", FALSE, NULL); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
120 | } |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
121 | } |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
122 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
123 | array = gst_property_probe_probe_and_get_values (probe, pspec); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
124 | if (array == NULL) { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
125 | purple_debug_info("vvconfig", "'%s' has no devices\n", element_name); |
|
31369
d7b8fe78c9d2
vvconfig: Don't crash when the stored device isn't found in the list of
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31294
diff
changeset
|
126 | return g_list_reverse(ret); |
|
28324
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
127 | } |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
31279
diff
changeset
|
128 | |
|
28324
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
129 | for (n=0; n < array->n_values; ++n) { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
130 | GValue *device; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
131 | const gchar *name; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
132 | const gchar *device_name; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
133 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
134 | device = g_value_array_get_nth(array, n); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
135 | g_object_set_property(G_OBJECT(element), "device", device); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
136 | if (gst_element_set_state(element, GST_STATE_READY) |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
137 | != GST_STATE_CHANGE_SUCCESS) { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
138 | purple_debug_warning("vvconfig", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
139 | "Error changing state of %s\n", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
140 | element_name); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
141 | continue; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
142 | } |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
143 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
144 | g_object_get(G_OBJECT(element), "device-name", &name, NULL); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
145 | device_name = g_value_get_string(device); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
146 | if (name == NULL) |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
147 | name = _("Unknown"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
148 | purple_debug_info("vvconfig", "Found device %s : %s for %s\n", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
149 | device_name, name, element_name); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
150 | ret = g_list_prepend(ret, (gpointer)name); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
151 | ret = g_list_prepend(ret, (gpointer)device_name); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
152 | gst_element_set_state(element, GST_STATE_NULL); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
153 | } |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
154 | } |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
155 | gst_object_unref(element); |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
31279
diff
changeset
|
156 | |
|
31369
d7b8fe78c9d2
vvconfig: Don't crash when the stored device isn't found in the list of
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31294
diff
changeset
|
157 | return g_list_reverse(ret); |
|
28324
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
158 | } |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
159 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
160 | static GList * |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
161 | get_element_plugins(const gchar **plugins) |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
162 | { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
163 | GList *ret = NULL; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
164 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
165 | ret = g_list_prepend(ret, "Default"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
166 | ret = g_list_prepend(ret, ""); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
167 | for (; plugins[0] && plugins[1]; plugins += 2) { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
168 | if (gst_default_registry_check_feature_version( |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
169 | plugins[0], 0, 0, 0)) { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
170 | ret = g_list_prepend(ret, (gpointer)plugins[1]); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
171 | ret = g_list_prepend(ret, (gpointer)plugins[0]); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
172 | } |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
173 | } |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
174 | ret = g_list_reverse(ret); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
175 | return ret; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
176 | } |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
177 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
178 | static void |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
179 | device_changed_cb(const gchar *name, PurplePrefType type, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
180 | gconstpointer value, gpointer data) |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
181 | { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
182 | GtkSizeGroup *sg = data; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
183 | GtkWidget *parent, *widget; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
184 | GSList *widgets; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
185 | GList *devices; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
186 | GValue gvalue; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
187 | gint position; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
188 | gchar *label, *pref; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
189 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
190 | widgets = gtk_size_group_get_widgets(GTK_SIZE_GROUP(sg)); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
191 | for (; widgets; widgets = g_slist_next(widgets)) { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
192 | const gchar *widget_name = |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
193 | gtk_widget_get_name(GTK_WIDGET(widgets->data)); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
194 | if (!strcmp(widget_name, name)) { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
195 | gchar *temp_str; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
196 | gchar delimiters[3] = {0, 0, 0}; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
197 | const gchar *text; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
198 | gint keyval, pos; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
199 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
200 | widget = widgets->data; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
201 | /* Get label with _ from the GtkLabel */ |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
202 | text = gtk_label_get_text(GTK_LABEL(widget)); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
203 | keyval = gtk_label_get_mnemonic_keyval(GTK_LABEL(widget)); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
204 | delimiters[0] = g_ascii_tolower(keyval); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
205 | delimiters[1] = g_ascii_toupper(keyval); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
206 | pos = strcspn(text, delimiters); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
207 | if (pos != -1) { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
208 | temp_str = g_strndup(text, pos); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
209 | label = g_strconcat(temp_str, "_", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
210 | text + pos, NULL); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
211 | g_free(temp_str); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
212 | } else { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
213 | label = g_strdup(text); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
214 | } |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
215 | break; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
216 | } |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
217 | } |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
218 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
219 | if (widgets == NULL) |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
220 | return; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
221 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
222 | parent = gtk_widget_get_parent(widget); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
223 | widget = parent; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
224 | parent = gtk_widget_get_parent(GTK_WIDGET(widget)); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
225 | gvalue.g_type = 0; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
226 | g_value_init(&gvalue, G_TYPE_INT); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
227 | gtk_container_child_get_property(GTK_CONTAINER(parent), |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
228 | GTK_WIDGET(widget), "position", &gvalue); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
229 | position = g_value_get_int(&gvalue); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
230 | g_value_unset(&gvalue); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
231 | gtk_widget_destroy(widget); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
232 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
233 | pref = g_strdup(name); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
234 | strcpy(pref + strlen(pref) - strlen("plugin"), "device"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
235 | devices = get_element_devices(value); |
|
31369
d7b8fe78c9d2
vvconfig: Don't crash when the stored device isn't found in the list of
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31294
diff
changeset
|
236 | if (g_list_find_custom(devices, purple_prefs_get_string(pref), |
|
d7b8fe78c9d2
vvconfig: Don't crash when the stored device isn't found in the list of
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31294
diff
changeset
|
237 | (GCompareFunc)strcmp) == NULL) |
|
28324
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
238 | purple_prefs_set_string(pref, g_list_next(devices)->data); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
239 | widget = pidgin_prefs_dropdown_from_list(parent, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
240 | label, PURPLE_PREF_STRING, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
241 | pref, devices); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
242 | g_list_free(devices); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
243 | g_signal_connect_swapped(widget, "destroy", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
244 | G_CALLBACK(g_free), pref); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
245 | g_free(label); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
246 | gtk_misc_set_alignment(GTK_MISC(widget), 0, 0.5); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
247 | gtk_widget_set_name(widget, name); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
248 | gtk_size_group_add_widget(sg, widget); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
249 | gtk_box_reorder_child(GTK_BOX(parent), |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
250 | gtk_widget_get_parent(GTK_WIDGET(widget)), position); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
251 | } |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
252 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
253 | static void |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
254 | get_plugin_frame(GtkWidget *parent, GtkSizeGroup *sg, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
255 | const gchar *name, const gchar *plugin_label, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
256 | const gchar **plugin_strs, const gchar *plugin_pref, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
257 | const gchar *device_label, const gchar *device_pref) |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
258 | { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
259 | GtkWidget *vbox, *widget; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
260 | GList *plugins, *devices; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
261 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
262 | vbox = pidgin_make_frame(parent, name); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
263 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
264 | /* Setup plugin preference */ |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
265 | plugins = get_element_plugins(plugin_strs); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
266 | widget = pidgin_prefs_dropdown_from_list(vbox, plugin_label, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
267 | PURPLE_PREF_STRING, plugin_pref, plugins); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
268 | g_list_free(plugins); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
269 | gtk_size_group_add_widget(sg, widget); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
270 | gtk_misc_set_alignment(GTK_MISC(widget), 0, 0.5); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
271 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
272 | /* Setup device preference */ |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
273 | devices = get_element_devices(purple_prefs_get_string(plugin_pref)); |
|
31279
c0104df45b93
vvconfig: Stop resetting device selections to defaults. Fixes #13044.
Jakub Adam <jakub.adam@ktknet.cz>
parents:
30752
diff
changeset
|
274 | if (g_list_find_custom(devices, purple_prefs_get_string(device_pref), |
|
c0104df45b93
vvconfig: Stop resetting device selections to defaults. Fixes #13044.
Jakub Adam <jakub.adam@ktknet.cz>
parents:
30752
diff
changeset
|
275 | (GCompareFunc) strcmp) == NULL) |
|
28324
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
276 | purple_prefs_set_string(device_pref, g_list_next(devices)->data); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
277 | widget = pidgin_prefs_dropdown_from_list(vbox, device_label, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
278 | PURPLE_PREF_STRING, device_pref, devices); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
279 | g_list_free(devices); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
280 | gtk_widget_set_name(widget, plugin_pref); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
281 | gtk_size_group_add_widget(sg, widget); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
282 | gtk_misc_set_alignment(GTK_MISC(widget), 0, 0.5); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
283 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
284 | purple_prefs_connect_callback(vbox, plugin_pref, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
285 | device_changed_cb, sg); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
286 | g_signal_connect_swapped(vbox, "destroy", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
287 | G_CALLBACK(purple_prefs_disconnect_by_handle), vbox); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
288 | } |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
289 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
290 | static GtkWidget * |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
291 | get_plugin_config_frame(PurplePlugin *plugin) { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
292 | GtkWidget *notebook, *vbox_audio, *vbox_video; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
293 | GtkSizeGroup *sg; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
294 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
295 | notebook = gtk_notebook_new(); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
296 | gtk_container_set_border_width(GTK_CONTAINER(notebook), |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
297 | PIDGIN_HIG_BORDER); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
298 | gtk_widget_show(notebook); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
299 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
300 | vbox_audio = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
301 | vbox_video = gtk_vbox_new(FALSE, PIDGIN_HIG_CAT_SPACE); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
302 | gtk_notebook_append_page(GTK_NOTEBOOK(notebook), |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
303 | vbox_audio, gtk_label_new(_("Audio"))); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
304 | gtk_notebook_append_page(GTK_NOTEBOOK(notebook), |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
305 | vbox_video, gtk_label_new(_("Video"))); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
306 | gtk_container_set_border_width(GTK_CONTAINER (vbox_audio), |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
307 | PIDGIN_HIG_BORDER); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
308 | gtk_container_set_border_width(GTK_CONTAINER (vbox_video), |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
309 | PIDGIN_HIG_BORDER); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
310 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
311 | gtk_widget_show(vbox_audio); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
312 | gtk_widget_show(vbox_video); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
313 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
314 | sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
315 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
316 | get_plugin_frame(vbox_audio, sg, _("Output"), _("_Plugin"), AUDIO_SINK_PLUGINS, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
317 | "/plugins/core/vvconfig/audio/sink/plugin", _("_Device"), |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
318 | "/plugins/core/vvconfig/audio/sink/device"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
319 | get_plugin_frame(vbox_audio, sg, _("Input"), _("P_lugin"), AUDIO_SRC_PLUGINS, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
320 | "/plugins/core/vvconfig/audio/src/plugin", _("D_evice"), |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
321 | "/plugins/core/vvconfig/audio/src/device"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
322 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
323 | get_plugin_frame(vbox_video, sg, _("Output"), _("_Plugin"), VIDEO_SINK_PLUGINS, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
324 | "/plugins/gtk/vvconfig/video/sink/plugin", _("_Device"), |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
325 | "/plugins/gtk/vvconfig/video/sink/device"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
326 | get_plugin_frame(vbox_video, sg, _("Input"), _("P_lugin"), VIDEO_SRC_PLUGINS, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
327 | "/plugins/core/vvconfig/video/src/plugin", _("D_evice"), |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
328 | "/plugins/core/vvconfig/video/src/device"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
329 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
330 | return notebook; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
331 | } |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
332 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
333 | static GstElement * |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
334 | create_video_src(PurpleMedia *media, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
335 | const gchar *session_id, const gchar *participant) |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
336 | { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
337 | const gchar *plugin = purple_prefs_get_string( |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
338 | "/plugins/core/vvconfig/video/src/plugin"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
339 | const gchar *device = purple_prefs_get_string( |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
340 | "/plugins/core/vvconfig/video/src/device"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
341 | GstElement *ret; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
342 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
343 | if (plugin[0] == '\0') |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
344 | return purple_media_element_info_call_create(old_video_src, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
345 | media, session_id, participant); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
346 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
347 | ret = gst_element_factory_make(plugin, "vvconfig-videosrc"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
348 | if (device[0] != '\0') |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
349 | g_object_set(G_OBJECT(ret), "device", device, NULL); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
350 | if (!strcmp(plugin, "videotestsrc")) |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
351 | g_object_set(G_OBJECT(ret), "is-live", 1, NULL); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
352 | return ret; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
353 | } |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
354 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
355 | static GstElement * |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
356 | create_video_sink(PurpleMedia *media, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
357 | const gchar *session_id, const gchar *participant) |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
358 | { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
359 | const gchar *plugin = purple_prefs_get_string( |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
360 | "/plugins/gtk/vvconfig/video/sink/plugin"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
361 | const gchar *device = purple_prefs_get_string( |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
362 | "/plugins/gtk/vvconfig/video/sink/device"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
363 | GstElement *ret; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
364 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
365 | if (plugin[0] == '\0') |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
366 | return purple_media_element_info_call_create(old_video_sink, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
367 | media, session_id, participant); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
368 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
369 | ret = gst_element_factory_make(plugin, NULL); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
370 | if (device[0] != '\0') |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
371 | g_object_set(G_OBJECT(ret), "device", device, NULL); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
372 | return ret; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
373 | } |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
374 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
375 | static GstElement * |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
376 | create_audio_src(PurpleMedia *media, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
377 | const gchar *session_id, const gchar *participant) |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
378 | { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
379 | const gchar *plugin = purple_prefs_get_string( |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
380 | "/plugins/core/vvconfig/audio/src/plugin"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
381 | const gchar *device = purple_prefs_get_string( |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
382 | "/plugins/core/vvconfig/audio/src/device"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
383 | GstElement *ret; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
384 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
385 | if (plugin[0] == '\0') |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
386 | return purple_media_element_info_call_create(old_audio_src, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
387 | media, session_id, participant); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
388 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
389 | ret = gst_element_factory_make(plugin, NULL); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
390 | if (device[0] != '\0') |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
391 | g_object_set(G_OBJECT(ret), "device", device, NULL); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
392 | return ret; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
393 | } |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
394 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
395 | static GstElement * |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
396 | create_audio_sink(PurpleMedia *media, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
397 | const gchar *session_id, const gchar *participant) |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
398 | { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
399 | const gchar *plugin = purple_prefs_get_string( |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
400 | "/plugins/core/vvconfig/audio/sink/plugin"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
401 | const gchar *device = purple_prefs_get_string( |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
402 | "/plugins/core/vvconfig/audio/sink/device"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
403 | GstElement *ret; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
404 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
405 | if (plugin[0] == '\0') |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
406 | return purple_media_element_info_call_create(old_audio_sink, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
407 | media, session_id, participant); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
408 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
409 | ret = gst_element_factory_make(plugin, NULL); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
410 | if (device[0] != '\0') |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
411 | g_object_set(G_OBJECT(ret), "device", device, NULL); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
412 | return ret; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
413 | } |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
414 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
415 | static void |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
416 | set_element_info_cond(PurpleMediaElementInfo *old_info, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
417 | PurpleMediaElementInfo *new_info, const gchar *id) |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
418 | { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
419 | gchar *element_id = purple_media_element_info_get_id(old_info); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
420 | if (!strcmp(element_id, id)) |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
421 | purple_media_manager_set_active_element( |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
422 | purple_media_manager_get(), new_info); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
423 | g_free(element_id); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
424 | } |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
425 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
426 | static gboolean |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
427 | plugin_load(PurplePlugin *plugin) |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
428 | { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
429 | PurpleMediaManager *manager; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
430 | PurpleMediaElementInfo *video_src, *video_sink, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
431 | *audio_src, *audio_sink; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
432 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
433 | /* Disable the plugin if the UI doesn't support VV */ |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
434 | if (purple_media_manager_get_ui_caps(purple_media_manager_get()) == |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
435 | PURPLE_MEDIA_CAPS_NONE) |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
436 | return FALSE; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
437 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
438 | purple_prefs_add_none("/plugins/core/vvconfig"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
439 | purple_prefs_add_none("/plugins/core/vvconfig/audio"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
440 | purple_prefs_add_none("/plugins/core/vvconfig/audio/src"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
441 | purple_prefs_add_string("/plugins/core/vvconfig/audio/src/plugin", ""); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
442 | purple_prefs_add_string("/plugins/core/vvconfig/audio/src/device", ""); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
443 | purple_prefs_add_none("/plugins/core/vvconfig/audio/sink"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
444 | purple_prefs_add_string("/plugins/core/vvconfig/audio/sink/plugin", ""); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
445 | purple_prefs_add_string("/plugins/core/vvconfig/audio/sink/device", ""); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
446 | purple_prefs_add_none("/plugins/core/vvconfig/video"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
447 | purple_prefs_add_none("/plugins/core/vvconfig/video/src"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
448 | purple_prefs_add_string("/plugins/core/vvconfig/video/src/plugin", ""); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
449 | purple_prefs_add_string("/plugins/core/vvconfig/video/src/device", ""); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
450 | purple_prefs_add_none("/plugins/gtk/vvconfig"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
451 | purple_prefs_add_none("/plugins/gtk/vvconfig/video"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
452 | purple_prefs_add_none("/plugins/gtk/vvconfig/video/sink"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
453 | purple_prefs_add_string("/plugins/gtk/vvconfig/video/sink/plugin", ""); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
454 | purple_prefs_add_string("/plugins/gtk/vvconfig/video/sink/device", ""); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
455 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
456 | video_src = g_object_new(PURPLE_TYPE_MEDIA_ELEMENT_INFO, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
457 | "id", "vvconfig-videosrc", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
458 | "name", "VV Conf Plugin Video Source", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
459 | "type", PURPLE_MEDIA_ELEMENT_VIDEO |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
460 | | PURPLE_MEDIA_ELEMENT_SRC |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
461 | | PURPLE_MEDIA_ELEMENT_ONE_SRC |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
462 | | PURPLE_MEDIA_ELEMENT_UNIQUE, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
463 | "create-cb", create_video_src, NULL); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
464 | video_sink = g_object_new(PURPLE_TYPE_MEDIA_ELEMENT_INFO, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
465 | "id", "vvconfig-videosink", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
466 | "name", "VV Conf Plugin Video Sink", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
467 | "type", PURPLE_MEDIA_ELEMENT_VIDEO |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
468 | | PURPLE_MEDIA_ELEMENT_SINK |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
469 | | PURPLE_MEDIA_ELEMENT_ONE_SINK, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
470 | "create-cb", create_video_sink, NULL); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
471 | audio_src = g_object_new(PURPLE_TYPE_MEDIA_ELEMENT_INFO, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
472 | "id", "vvconfig-audiosrc", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
473 | "name", "VV Conf Plugin Audio Source", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
474 | "type", PURPLE_MEDIA_ELEMENT_AUDIO |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
475 | | PURPLE_MEDIA_ELEMENT_SRC |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
476 | | PURPLE_MEDIA_ELEMENT_ONE_SRC |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
477 | | PURPLE_MEDIA_ELEMENT_UNIQUE, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
478 | "create-cb", create_audio_src, NULL); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
479 | audio_sink = g_object_new(PURPLE_TYPE_MEDIA_ELEMENT_INFO, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
480 | "id", "vvconfig-audiosink", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
481 | "name", "VV Conf Plugin Audio Sink", |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
482 | "type", PURPLE_MEDIA_ELEMENT_AUDIO |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
483 | | PURPLE_MEDIA_ELEMENT_SINK |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
484 | | PURPLE_MEDIA_ELEMENT_ONE_SINK, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
485 | "create-cb", create_audio_sink, NULL); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
486 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
487 | purple_debug_info("gtkmedia", "Registering media element types\n"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
488 | manager = purple_media_manager_get(); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
489 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
490 | old_video_src = purple_media_manager_get_active_element(manager, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
491 | PURPLE_MEDIA_ELEMENT_VIDEO | PURPLE_MEDIA_ELEMENT_SRC); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
492 | old_video_sink = purple_media_manager_get_active_element(manager, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
493 | PURPLE_MEDIA_ELEMENT_VIDEO | PURPLE_MEDIA_ELEMENT_SINK); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
494 | old_audio_src = purple_media_manager_get_active_element(manager, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
495 | PURPLE_MEDIA_ELEMENT_AUDIO | PURPLE_MEDIA_ELEMENT_SRC); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
496 | old_audio_sink = purple_media_manager_get_active_element(manager, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
497 | PURPLE_MEDIA_ELEMENT_AUDIO | PURPLE_MEDIA_ELEMENT_SINK); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
498 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
499 | set_element_info_cond(old_video_src, video_src, "pidgindefaultvideosrc"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
500 | set_element_info_cond(old_video_sink, video_sink, "pidgindefaultvideosink"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
501 | set_element_info_cond(old_audio_src, audio_src, "pidgindefaultaudiosrc"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
502 | set_element_info_cond(old_audio_sink, audio_sink, "pidgindefaultaudiosink"); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
503 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
504 | return TRUE; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
505 | } |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
506 | |
|
30745
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
507 | static void |
|
32394
f883709bdba4
compiles using GTK+ 3 from git, beware it does not yet run, in fact it crashes...
Marcus Lundblad <malu@pidgin.im>
parents:
30752
diff
changeset
|
508 | config_destroy(GtkWidget *w, gpointer nul) |
|
30745
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
509 | { |
|
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
510 | purple_debug_info("vvconfig", "closing vv configuration window\n"); |
|
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
511 | window = NULL; |
|
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
512 | } |
|
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
513 | |
|
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
514 | static void |
|
32394
f883709bdba4
compiles using GTK+ 3 from git, beware it does not yet run, in fact it crashes...
Marcus Lundblad <malu@pidgin.im>
parents:
30752
diff
changeset
|
515 | config_close(GtkWidget *w, gpointer nul) |
|
30746
ed1f99ec4954
media: Add a close button to the stand-alone video configuration window. Adjusted title
Marcus Lundblad <malu@pidgin.im>
parents:
30745
diff
changeset
|
516 | { |
|
ed1f99ec4954
media: Add a close button to the stand-alone video configuration window. Adjusted title
Marcus Lundblad <malu@pidgin.im>
parents:
30745
diff
changeset
|
517 | gtk_widget_destroy(GTK_WIDGET(window)); |
|
ed1f99ec4954
media: Add a close button to the stand-alone video configuration window. Adjusted title
Marcus Lundblad <malu@pidgin.im>
parents:
30745
diff
changeset
|
518 | } |
|
ed1f99ec4954
media: Add a close button to the stand-alone video configuration window. Adjusted title
Marcus Lundblad <malu@pidgin.im>
parents:
30745
diff
changeset
|
519 | |
|
31623
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
520 | typedef GtkWidget *(*FrameCreateCb)(PurplePlugin *plugin); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
521 | |
|
30746
ed1f99ec4954
media: Add a close button to the stand-alone video configuration window. Adjusted title
Marcus Lundblad <malu@pidgin.im>
parents:
30745
diff
changeset
|
522 | static void |
|
30745
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
523 | show_config(PurplePluginAction *action) |
|
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
524 | { |
|
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
525 | if (!window) { |
|
31623
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
526 | FrameCreateCb create_frame = action->user_data; |
|
30746
ed1f99ec4954
media: Add a close button to the stand-alone video configuration window. Adjusted title
Marcus Lundblad <malu@pidgin.im>
parents:
30745
diff
changeset
|
527 | GtkWidget *vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BORDER); |
|
ed1f99ec4954
media: Add a close button to the stand-alone video configuration window. Adjusted title
Marcus Lundblad <malu@pidgin.im>
parents:
30745
diff
changeset
|
528 | GtkWidget *hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BORDER); |
|
31623
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
529 | GtkWidget *config_frame = create_frame(NULL); |
|
30746
ed1f99ec4954
media: Add a close button to the stand-alone video configuration window. Adjusted title
Marcus Lundblad <malu@pidgin.im>
parents:
30745
diff
changeset
|
530 | GtkWidget *close = gtk_button_new_from_stock(GTK_STOCK_CLOSE); |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
31279
diff
changeset
|
531 | |
|
30746
ed1f99ec4954
media: Add a close button to the stand-alone video configuration window. Adjusted title
Marcus Lundblad <malu@pidgin.im>
parents:
30745
diff
changeset
|
532 | gtk_container_add(GTK_CONTAINER(vbox), config_frame); |
|
ed1f99ec4954
media: Add a close button to the stand-alone video configuration window. Adjusted title
Marcus Lundblad <malu@pidgin.im>
parents:
30745
diff
changeset
|
533 | gtk_container_add(GTK_CONTAINER(vbox), hbox); |
|
31623
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
534 | window = pidgin_create_window(action->label, |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
535 | PIDGIN_HIG_BORDER, NULL, FALSE); |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
31279
diff
changeset
|
536 | g_signal_connect(G_OBJECT(window), "destroy", |
|
30745
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
537 | G_CALLBACK(config_destroy), NULL); |
|
30746
ed1f99ec4954
media: Add a close button to the stand-alone video configuration window. Adjusted title
Marcus Lundblad <malu@pidgin.im>
parents:
30745
diff
changeset
|
538 | g_signal_connect(G_OBJECT(close), "clicked", |
|
ed1f99ec4954
media: Add a close button to the stand-alone video configuration window. Adjusted title
Marcus Lundblad <malu@pidgin.im>
parents:
30745
diff
changeset
|
539 | G_CALLBACK(config_close), NULL); |
|
ed1f99ec4954
media: Add a close button to the stand-alone video configuration window. Adjusted title
Marcus Lundblad <malu@pidgin.im>
parents:
30745
diff
changeset
|
540 | gtk_box_pack_end(GTK_BOX(hbox), close, FALSE, FALSE, PIDGIN_HIG_BORDER); |
|
ed1f99ec4954
media: Add a close button to the stand-alone video configuration window. Adjusted title
Marcus Lundblad <malu@pidgin.im>
parents:
30745
diff
changeset
|
541 | gtk_container_add(GTK_CONTAINER(window), vbox); |
|
ed1f99ec4954
media: Add a close button to the stand-alone video configuration window. Adjusted title
Marcus Lundblad <malu@pidgin.im>
parents:
30745
diff
changeset
|
542 | gtk_widget_show(GTK_WIDGET(close)); |
|
ed1f99ec4954
media: Add a close button to the stand-alone video configuration window. Adjusted title
Marcus Lundblad <malu@pidgin.im>
parents:
30745
diff
changeset
|
543 | gtk_widget_show(GTK_WIDGET(vbox)); |
|
ed1f99ec4954
media: Add a close button to the stand-alone video configuration window. Adjusted title
Marcus Lundblad <malu@pidgin.im>
parents:
30745
diff
changeset
|
544 | gtk_widget_show(GTK_WIDGET(hbox)); |
|
30745
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
545 | } |
|
30746
ed1f99ec4954
media: Add a close button to the stand-alone video configuration window. Adjusted title
Marcus Lundblad <malu@pidgin.im>
parents:
30745
diff
changeset
|
546 | gtk_window_present(GTK_WINDOW(window)); |
|
30745
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
547 | } |
|
30752
86247e9da004
Spelling and spacing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30746
diff
changeset
|
548 | |
|
31623
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
549 | static GstElement * |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
550 | create_pipeline() |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
551 | { |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
552 | GstElement *pipeline = gst_pipeline_new("voicetest"); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
553 | GstElement *src = create_audio_src(NULL, NULL, NULL); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
554 | GstElement *sink = create_audio_sink(NULL, NULL, NULL); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
555 | GstElement *volume = gst_element_factory_make("volume", "volume"); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
556 | GstElement *level = gst_element_factory_make("level", "level"); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
557 | GstElement *valve = gst_element_factory_make("valve", "valve"); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
558 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
559 | gst_bin_add_many(GST_BIN(pipeline), src, volume, level, valve, sink, NULL); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
560 | gst_element_link_many(src, volume, level, valve, sink, NULL); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
561 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
562 | gst_element_set_state(GST_ELEMENT(pipeline), GST_STATE_PLAYING); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
563 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
564 | return pipeline; |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
565 | } |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
566 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
567 | static void |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
568 | on_volume_change_cb(GtkRange *range, GstBin *pipeline) |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
569 | { |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
570 | GstElement *volume; |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
571 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
572 | g_return_if_fail(pipeline != NULL); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
573 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
574 | volume = gst_bin_get_by_name(pipeline, "volume"); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
575 | g_object_set(volume, "volume", gtk_range_get_value(range) / 10.0, NULL); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
576 | } |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
577 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
578 | static gdouble |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
579 | gst_msg_db_to_percent(GstMessage *msg, gchar *value_name) |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
580 | { |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
581 | const GValue *list; |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
582 | const GValue *value; |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
583 | gdouble value_db; |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
584 | gdouble percent; |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
585 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
586 | list = gst_structure_get_value( |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
587 | gst_message_get_structure(msg), value_name); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
588 | value = gst_value_list_get_value(list, 0); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
589 | value_db = g_value_get_double(value); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
590 | percent = pow(10, value_db / 20); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
591 | return (percent > 1.0) ? 1.0 : percent; |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
592 | } |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
593 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
594 | typedef struct |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
595 | { |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
596 | GtkProgressBar *level; |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
597 | GtkRange *threshold; |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
598 | } BusCbCtx; |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
599 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
600 | static gboolean |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
601 | gst_bus_cb(GstBus *bus, GstMessage *msg, BusCbCtx *ctx) |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
602 | { |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
603 | if (GST_MESSAGE_TYPE(msg) == GST_MESSAGE_ELEMENT && |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
604 | gst_structure_has_name(msg->structure, "level")) { |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
605 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
606 | GstElement *src = GST_ELEMENT(GST_MESSAGE_SRC(msg)); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
607 | gchar *name = gst_element_get_name(src); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
608 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
609 | if (!strcmp(name, "level")) { |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
610 | gdouble percent; |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
611 | gdouble threshold; |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
612 | GstElement *valve; |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
613 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
614 | percent = gst_msg_db_to_percent(msg, "rms"); |
|
32751
24798e6f3c3a
The function gst_msg_db_to_percent already retyrns a number between
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
32748
diff
changeset
|
615 | gtk_progress_bar_set_fraction(ctx->level, percent); |
|
31623
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
616 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
617 | percent = gst_msg_db_to_percent(msg, "decay"); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
618 | threshold = gtk_range_get_value(ctx->threshold) / 100.0; |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
619 | valve = gst_bin_get_by_name(GST_BIN(GST_ELEMENT_PARENT(src)), "valve"); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
620 | g_object_set(valve, "drop", (percent < threshold), NULL); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
621 | g_object_set(ctx->level, |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
622 | "text", (percent < threshold) ? _("DROP") : " ", NULL); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
623 | } |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
624 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
625 | g_free(name); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
626 | } |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
627 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
628 | return TRUE; |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
629 | } |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
630 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
631 | static void |
|
32908
d97dff4ffe5c
Pluck one more fix.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31681
diff
changeset
|
632 | voice_test_frame_destroy_cb(GtkWidget *w, GstElement *pipeline) |
|
31623
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
633 | { |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
634 | g_return_if_fail(GST_IS_ELEMENT(pipeline)); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
635 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
636 | gst_element_set_state(pipeline, GST_STATE_NULL); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
637 | gst_object_unref(pipeline); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
638 | } |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
639 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
640 | static void |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
641 | volume_scale_destroy_cb(GtkRange *volume, gpointer nul) |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
642 | { |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
643 | purple_prefs_set_int("/purple/media/audio/volume/input", |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
644 | gtk_range_get_value(volume)); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
645 | } |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
646 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
647 | static gchar* |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
648 | threshold_value_format_cb(GtkScale *scale, gdouble value) |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
649 | { |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
650 | return g_strdup_printf ("%.*f%%", gtk_scale_get_digits(scale), value); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
651 | } |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
652 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
653 | static void |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
654 | threshold_scale_destroy_cb(GtkRange *threshold, gpointer nul) |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
655 | { |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
656 | purple_prefs_set_int("/purple/media/audio/silence_threshold", |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
657 | gtk_range_get_value(threshold)); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
658 | } |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
659 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
660 | static GtkWidget * |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
661 | get_voice_test_frame(PurplePlugin *plugin) |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
662 | { |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
663 | GtkWidget *vbox = gtk_vbox_new(FALSE, PIDGIN_HIG_BORDER); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
664 | GtkWidget *level = gtk_progress_bar_new(); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
665 | GtkWidget *volume = gtk_hscale_new_with_range(0, 100, 1); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
666 | GtkWidget *threshold = gtk_hscale_new_with_range(0, 100, 1); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
667 | GtkWidget *label; |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
668 | GtkTable *table = GTK_TABLE(gtk_table_new(2, 2, FALSE)); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
669 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
670 | GstElement *pipeline; |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
671 | GstBus *bus; |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
672 | BusCbCtx *ctx; |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
673 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
674 | g_object_set(vbox, "width-request", 500, NULL); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
675 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
676 | gtk_table_set_row_spacings(table, PIDGIN_HIG_BOX_SPACE); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
677 | gtk_table_set_col_spacings(table, PIDGIN_HIG_BOX_SPACE); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
678 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
679 | label = gtk_label_new(_("Volume:")); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
680 | g_object_set(label, "xalign", 0.0, NULL); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
681 | gtk_table_attach(table, label, 0, 1, 0, 1, GTK_FILL, 0, 0, 0); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
682 | gtk_table_attach_defaults(table, volume, 1, 2, 0, 1); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
683 | label = gtk_label_new(_("Silence threshold:")); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
684 | g_object_set(label, "xalign", 0.0, "yalign", 1.0, NULL); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
685 | gtk_table_attach(table, label, 0, 1, 1, 2, GTK_FILL, GTK_FILL, 0, 0); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
686 | gtk_table_attach_defaults(table, threshold, 1, 2, 1, 2); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
687 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
688 | gtk_container_add(GTK_CONTAINER(vbox), level); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
689 | gtk_container_add(GTK_CONTAINER(vbox), GTK_WIDGET(table)); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
690 | gtk_widget_show_all(vbox); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
691 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
692 | pipeline = create_pipeline(); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
693 | bus = gst_pipeline_get_bus(GST_PIPELINE(pipeline)); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
694 | gst_bus_add_signal_watch(bus); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
695 | ctx = g_new(BusCbCtx, 1); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
696 | ctx->level = GTK_PROGRESS_BAR(level); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
697 | ctx->threshold = GTK_RANGE(threshold); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
698 | g_signal_connect_data(bus, "message", G_CALLBACK(gst_bus_cb), |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
699 | ctx, (GClosureNotify)g_free, 0); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
700 | gst_object_unref(bus); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
701 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
702 | g_signal_connect(volume, "value-changed", |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
703 | (GCallback)on_volume_change_cb, pipeline); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
704 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
705 | gtk_range_set_value(GTK_RANGE(volume), |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
706 | purple_prefs_get_int("/purple/media/audio/volume/input")); |
|
32908
d97dff4ffe5c
Pluck one more fix.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
31681
diff
changeset
|
707 | gtk_scale_set_draw_value(GTK_SCALE(volume), FALSE); |
|
31623
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
708 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
709 | gtk_range_set_value(GTK_RANGE(threshold), |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
710 | purple_prefs_get_int("/purple/media/audio/silence_threshold")); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
711 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
712 | g_signal_connect(vbox, "destroy", |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
713 | G_CALLBACK(voice_test_frame_destroy_cb), pipeline); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
714 | g_signal_connect(volume, "destroy", |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
715 | G_CALLBACK(volume_scale_destroy_cb), NULL); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
716 | g_signal_connect(threshold, "format-value", |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
717 | G_CALLBACK(threshold_value_format_cb), NULL); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
718 | g_signal_connect(threshold, "destroy", |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
719 | G_CALLBACK(threshold_scale_destroy_cb), NULL); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
720 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
721 | return vbox; |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
722 | } |
|
30752
86247e9da004
Spelling and spacing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30746
diff
changeset
|
723 | |
|
30745
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
724 | static GList * |
|
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
725 | actions(PurplePlugin *plugin, gpointer context) |
|
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
726 | { |
|
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
727 | GList *l = NULL; |
|
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
728 | PurplePluginAction *act = NULL; |
|
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
729 | |
|
31623
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
730 | act = purple_plugin_action_new(_("Input and Output Settings"), |
|
30745
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
731 | show_config); |
|
31623
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
732 | act->user_data = get_plugin_config_frame; |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
733 | l = g_list_append(l, act); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
734 | |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
735 | act = purple_plugin_action_new(_("Microphone Test"), |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
736 | show_config); |
|
628b086c4167
This patch adds to Pidgin's vvconfig plugin a simple dialog, where user can test
Jakub Adam <jakub.adam@ktknet.cz>
parents:
31369
diff
changeset
|
737 | act->user_data = get_voice_test_frame; |
|
30745
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
738 | l = g_list_append(l, act); |
|
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
739 | |
|
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
740 | return l; |
|
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
741 | } |
|
8346d194d563
media: Added a plugin action menu for the voice and video settings plugin.
Marcus Lundblad <malu@pidgin.im>
parents:
28324
diff
changeset
|
742 | |
|
28324
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
743 | static gboolean |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
744 | plugin_unload(PurplePlugin *plugin) |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
745 | { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
746 | PurpleMediaManager *manager = purple_media_manager_get(); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
747 | purple_media_manager_set_active_element(manager, old_video_src); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
748 | purple_media_manager_set_active_element(manager, old_video_sink); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
749 | purple_media_manager_set_active_element(manager, old_audio_src); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
750 | purple_media_manager_set_active_element(manager, old_audio_sink); |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
751 | return TRUE; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
752 | } |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
753 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
754 | static PidginPluginUiInfo ui_info = { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
755 | get_plugin_config_frame, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
756 | 0, /* page_num (Reserved) */ |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
757 | /* Padding */ |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
758 | NULL, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
759 | NULL, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
760 | NULL, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
761 | NULL |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
762 | }; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
763 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
764 | static PurplePluginInfo info = |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
765 | { |
|
30752
86247e9da004
Spelling and spacing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30746
diff
changeset
|
766 | PURPLE_PLUGIN_MAGIC, /**< magic */ |
|
86247e9da004
Spelling and spacing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30746
diff
changeset
|
767 | PURPLE_MAJOR_VERSION, /**< major version */ |
|
86247e9da004
Spelling and spacing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30746
diff
changeset
|
768 | PURPLE_MINOR_VERSION, /**< minor version */ |
|
86247e9da004
Spelling and spacing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30746
diff
changeset
|
769 | PURPLE_PLUGIN_STANDARD, /**< type */ |
|
86247e9da004
Spelling and spacing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30746
diff
changeset
|
770 | PIDGIN_PLUGIN_TYPE, /**< ui_requirement */ |
|
86247e9da004
Spelling and spacing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30746
diff
changeset
|
771 | 0, /**< flags */ |
|
86247e9da004
Spelling and spacing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30746
diff
changeset
|
772 | NULL, /**< dependencies */ |
|
86247e9da004
Spelling and spacing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30746
diff
changeset
|
773 | PURPLE_PRIORITY_DEFAULT, /**< priority */ |
|
28324
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
774 | |
|
30752
86247e9da004
Spelling and spacing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30746
diff
changeset
|
775 | "gtk-maiku-vvconfig", /**< id */ |
|
86247e9da004
Spelling and spacing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30746
diff
changeset
|
776 | N_("Voice/Video Settings"), /**< name */ |
|
86247e9da004
Spelling and spacing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30746
diff
changeset
|
777 | DISPLAY_VERSION, /**< version */ |
|
86247e9da004
Spelling and spacing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30746
diff
changeset
|
778 | N_("Configure your microphone and webcam."), /**< summary */ |
|
28324
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
779 | N_("Configure microphone and webcam " |
|
30752
86247e9da004
Spelling and spacing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30746
diff
changeset
|
780 | "settings for voice/video calls."), /**< description */ |
|
86247e9da004
Spelling and spacing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30746
diff
changeset
|
781 | "Mike Ruprecht <cmaiku@gmail.com>", /**< author */ |
|
86247e9da004
Spelling and spacing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30746
diff
changeset
|
782 | PURPLE_WEBSITE, /**< homepage */ |
|
28324
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
783 | |
|
30752
86247e9da004
Spelling and spacing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30746
diff
changeset
|
784 | plugin_load, /**< load */ |
|
86247e9da004
Spelling and spacing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30746
diff
changeset
|
785 | plugin_unload, /**< unload */ |
|
86247e9da004
Spelling and spacing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30746
diff
changeset
|
786 | NULL, /**< destroy */ |
|
28324
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
787 | |
|
30752
86247e9da004
Spelling and spacing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30746
diff
changeset
|
788 | &ui_info, /**< ui_info */ |
|
86247e9da004
Spelling and spacing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30746
diff
changeset
|
789 | NULL, /**< extra_info */ |
|
86247e9da004
Spelling and spacing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30746
diff
changeset
|
790 | NULL, /**< prefs_info */ |
|
86247e9da004
Spelling and spacing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
30746
diff
changeset
|
791 | actions, /**< actions */ |
|
28324
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
792 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
793 | /* padding */ |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
794 | NULL, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
795 | NULL, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
796 | NULL, |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
797 | NULL |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
798 | }; |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
799 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
800 | static void |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
801 | init_plugin(PurplePlugin *plugin) { |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
802 | } |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
803 | |
|
f9ef953c00bf
Add the vvconfig plugin. It allows you to choose different microphones,
Michael Ruprecht <maiku@pidgin.im>
parents:
diff
changeset
|
804 | PURPLE_INIT_PLUGIN(vvconfig, init_plugin, info) |