Sun, 03 Nov 2024 00:05:44 -0500
remove purple3-url-handler.desktop.in.in
The application that did the launching was removed long ago. Also this should
be implemented by the user interfaces and they might provide separate files to
groups schemas as well.
Testing Done:
Called in the turtles.
Reviewed at https://reviews.imfreedom.org/r/3640/
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
1 | /* |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
2 | * Pidgin - Internet Messenger |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
3 | * Copyright (C) Pidgin Developers <devel@pidgin.im> |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
4 | * |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
5 | * Pidgin is the legal property of its developers, whose names are too numerous |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
6 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
7 | * source distribution. |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
8 | * |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
9 | * This program is free software; you can redistribute it and/or modify |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
10 | * it under the terms of the GNU General Public License as published by |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
11 | * the Free Software Foundation; either version 2 of the License, or |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
12 | * (at your option) any later version. |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
13 | * |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
14 | * This program is distributed in the hope that it will be useful, |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
17 | * GNU General Public License for more details. |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
18 | * |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
19 | * You should have received a copy of the GNU General Public License |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
20 | * along with this program; if not, see <https://www.gnu.org/licenses/>. |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
21 | */ |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
22 | |
|
42410
563e7a17c220
Fix possible clash of config headers
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42202
diff
changeset
|
23 | #include <purpleconfig.h> |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
24 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
25 | #include <math.h> |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
26 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
27 | #include <glib/gi18n-lib.h> |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
28 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
29 | #include <purple.h> |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
30 | |
|
41552
c9157099adf8
Convert Voice&Video prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41394
diff
changeset
|
31 | #include <adwaita.h> |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
32 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
33 | #include "pidginvvprefs.h" |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
34 | #include "pidgincore.h" |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
35 | #include "pidginprefsinternal.h" |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
36 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
37 | struct _PidginVVPrefs { |
|
41552
c9157099adf8
Convert Voice&Video prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41394
diff
changeset
|
38 | AdwPreferencesPage parent; |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
39 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
40 | struct { |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
41 | AdwComboRow *input; |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
42 | AdwComboRow *output; |
|
41627
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
43 | GtkWidget *threshold_row; |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
44 | GtkWidget *threshold; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
45 | GtkWidget *volume; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
46 | GtkWidget *test; |
|
41627
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
47 | GtkWidget *level; |
|
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
48 | GtkWidget *drop; |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
49 | GstElement *pipeline; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
50 | } voice; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
51 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
52 | struct { |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
53 | AdwComboRow *input; |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
54 | AdwComboRow *output; |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
55 | GtkWidget *frame; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
56 | GtkWidget *test; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
57 | GstElement *pipeline; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
58 | } video; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
59 | }; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
60 | |
|
42575
580339aa47cc
Make sure all of the final types in pidgin are defined as such
Gary Kramlich <grim@reaperworld.com>
parents:
42410
diff
changeset
|
61 | G_DEFINE_FINAL_TYPE(PidginVVPrefs, pidgin_vv_prefs, ADW_TYPE_PREFERENCES_PAGE) |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
62 | |
|
41627
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
63 | /* Keep in sync with voice.level's GtkLevelBar::max-value in the |
|
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
64 | * pidgin/resources/Prefs.vv.ui builder file. */ |
|
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
65 | #define MAX_AUDIO_LEVEL (19.0) |
|
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
66 | |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
67 | /****************************************************************************** |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
68 | * Helpers |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
69 | *****************************************************************************/ |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
70 | static void |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
71 | populate_vv_device_menuitems(AdwComboRow *row, PurpleMediaElementType type, |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
72 | const char *active) |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
73 | { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
74 | PurpleMediaManager *manager = NULL; |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
75 | GListStore *store = NULL; |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
76 | GList *devices; |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
77 | guint selected = 0; /* Default to auto{audio,video}{src,sink} elements. */ |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
78 | |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
79 | store = G_LIST_STORE(adw_combo_row_get_model(row)); |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
80 | |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
81 | g_list_store_remove_all(store); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
82 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
83 | manager = purple_media_manager_get(); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
84 | devices = purple_media_manager_enumerate_elements(manager, type); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
85 | for (; devices; devices = g_list_delete_link(devices, devices)) { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
86 | PurpleMediaElementInfo *info = devices->data; |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
87 | char *id; |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
88 | |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
89 | id = purple_media_element_info_get_id(info); |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
90 | if(purple_strequal(id, active)) { |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
91 | /* The index will be for the *next* appended item. */ |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
92 | selected = g_list_model_get_n_items(G_LIST_MODEL(store)); |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
93 | } |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
94 | g_free(id); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
95 | |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
96 | g_list_store_append(store, info); |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
97 | |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
98 | g_object_unref(info); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
99 | } |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
100 | |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
101 | adw_combo_row_set_selected(row, selected); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
102 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
103 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
104 | static GstElement * |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
105 | create_test_element(PurpleMediaElementType type) |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
106 | { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
107 | PurpleMediaElementInfo *element_info; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
108 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
109 | element_info = purple_media_manager_get_active_element(purple_media_manager_get(), type); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
110 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
111 | g_return_val_if_fail(element_info, NULL); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
112 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
113 | return purple_media_element_info_call_create(element_info, |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
114 | NULL, NULL, NULL); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
115 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
116 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
117 | static GstElement * |
|
41613
4be49932c288
Set volume on audio test pipeline at startup
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41552
diff
changeset
|
118 | create_voice_pipeline(PidginVVPrefs *prefs) |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
119 | { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
120 | GstElement *pipeline; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
121 | GstElement *src, *sink; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
122 | GstElement *volume; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
123 | GstElement *level; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
124 | GstElement *valve; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
125 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
126 | pipeline = gst_pipeline_new("voicetest"); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
127 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
128 | src = create_test_element(PURPLE_MEDIA_ELEMENT_AUDIO | PURPLE_MEDIA_ELEMENT_SRC); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
129 | sink = create_test_element(PURPLE_MEDIA_ELEMENT_AUDIO | PURPLE_MEDIA_ELEMENT_SINK); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
130 | volume = gst_element_factory_make("volume", "volume"); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
131 | level = gst_element_factory_make("level", "level"); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
132 | valve = gst_element_factory_make("valve", "valve"); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
133 | |
|
41613
4be49932c288
Set volume on audio test pipeline at startup
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41552
diff
changeset
|
134 | g_object_set(volume, "volume", |
|
4be49932c288
Set volume on audio test pipeline at startup
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41552
diff
changeset
|
135 | gtk_scale_button_get_value(GTK_SCALE_BUTTON(prefs->voice.volume)) / 100.0, |
|
4be49932c288
Set volume on audio test pipeline at startup
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41552
diff
changeset
|
136 | NULL); |
|
4be49932c288
Set volume on audio test pipeline at startup
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41552
diff
changeset
|
137 | |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
138 | gst_bin_add_many(GST_BIN(pipeline), src, volume, level, valve, sink, NULL); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
139 | gst_element_link_many(src, volume, level, valve, sink, NULL); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
140 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
141 | purple_debug_info("gtkprefs", "create_voice_pipeline: setting pipeline " |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
142 | "state to GST_STATE_PLAYING - it may hang here on win32\n"); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
143 | gst_element_set_state(GST_ELEMENT(pipeline), GST_STATE_PLAYING); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
144 | purple_debug_info("gtkprefs", "create_voice_pipeline: state is set\n"); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
145 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
146 | return pipeline; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
147 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
148 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
149 | static void |
|
41947
7b3312d0760c
Bump C standard to C99 for Pidgin files and fix warnings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41627
diff
changeset
|
150 | on_volume_change_cb(GtkWidget *w, G_GNUC_UNUSED gdouble value, gpointer data) |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
151 | { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
152 | PidginVVPrefs *prefs = PIDGIN_VV_PREFS(data); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
153 | GstElement *volume; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
154 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
155 | if (!prefs->voice.pipeline) { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
156 | return; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
157 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
158 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
159 | volume = gst_bin_get_by_name(GST_BIN(prefs->voice.pipeline), "volume"); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
160 | g_object_set(volume, "volume", |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
161 | gtk_scale_button_get_value(GTK_SCALE_BUTTON(w)) / 100.0, NULL); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
162 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
163 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
164 | static gdouble |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
165 | gst_msg_db_to_percent(GstMessage *msg, gchar *value_name) |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
166 | { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
167 | const GValue *list; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
168 | const GValue *value; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
169 | gdouble value_db; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
170 | gdouble percent; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
171 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
172 | list = gst_structure_get_value(gst_message_get_structure(msg), value_name); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
173 | G_GNUC_BEGIN_IGNORE_DEPRECATIONS |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
174 | value = g_value_array_get_nth(g_value_get_boxed(list), 0); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
175 | G_GNUC_END_IGNORE_DEPRECATIONS |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
176 | value_db = g_value_get_double(value); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
177 | percent = pow(10, value_db / 20); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
178 | return (percent > 1.0) ? 1.0 : percent; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
179 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
180 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
181 | static gboolean |
|
41947
7b3312d0760c
Bump C standard to C99 for Pidgin files and fix warnings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41627
diff
changeset
|
182 | gst_bus_cb(G_GNUC_UNUSED GstBus *bus, GstMessage *msg, gpointer data) |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
183 | { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
184 | PidginVVPrefs *prefs = PIDGIN_VV_PREFS(data); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
185 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
186 | if (GST_MESSAGE_TYPE(msg) == GST_MESSAGE_ELEMENT && |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
187 | gst_structure_has_name(gst_message_get_structure(msg), "level")) { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
188 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
189 | GstElement *src = GST_ELEMENT(GST_MESSAGE_SRC(msg)); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
190 | gchar *name = gst_element_get_name(src); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
191 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
192 | if (purple_strequal(name, "level")) { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
193 | gdouble percent; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
194 | gdouble threshold; |
|
41627
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
195 | gboolean drop; |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
196 | GstElement *valve; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
197 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
198 | percent = gst_msg_db_to_percent(msg, "rms"); |
|
41627
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
199 | gtk_level_bar_set_value(GTK_LEVEL_BAR(prefs->voice.level), |
|
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
200 | percent * MAX_AUDIO_LEVEL); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
201 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
202 | percent = gst_msg_db_to_percent(msg, "decay"); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
203 | threshold = gtk_range_get_value(GTK_RANGE( |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
204 | prefs->voice.threshold)) / |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
205 | 100.0; |
|
41627
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
206 | drop = percent < threshold; |
|
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
207 | |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
208 | valve = gst_bin_get_by_name(GST_BIN(GST_ELEMENT_PARENT(src)), "valve"); |
|
41627
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
209 | g_object_set(valve, "drop", drop, NULL); |
|
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
210 | gtk_label_set_text(GTK_LABEL(prefs->voice.drop), |
|
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
211 | drop ? _("DROP") : ""); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
212 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
213 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
214 | g_free(name); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
215 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
216 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
217 | return TRUE; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
218 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
219 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
220 | static void |
|
41947
7b3312d0760c
Bump C standard to C99 for Pidgin files and fix warnings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41627
diff
changeset
|
221 | voice_test_destroy_cb(G_GNUC_UNUSED GtkWidget *w, gpointer data) |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
222 | { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
223 | PidginVVPrefs *prefs = PIDGIN_VV_PREFS(data); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
224 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
225 | if (!prefs->voice.pipeline) { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
226 | return; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
227 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
228 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
229 | gst_element_set_state(prefs->voice.pipeline, GST_STATE_NULL); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
230 | g_clear_pointer(&prefs->voice.pipeline, gst_object_unref); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
231 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
232 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
233 | static void |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
234 | enable_voice_test(PidginVVPrefs *prefs) |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
235 | { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
236 | GstBus *bus; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
237 | |
|
41613
4be49932c288
Set volume on audio test pipeline at startup
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41552
diff
changeset
|
238 | prefs->voice.pipeline = create_voice_pipeline(prefs); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
239 | bus = gst_pipeline_get_bus(GST_PIPELINE(prefs->voice.pipeline)); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
240 | gst_bus_add_signal_watch(bus); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
241 | g_signal_connect(bus, "message", G_CALLBACK(gst_bus_cb), prefs); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
242 | gst_object_unref(bus); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
243 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
244 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
245 | static void |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
246 | toggle_voice_test_cb(GtkToggleButton *test, gpointer data) |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
247 | { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
248 | PidginVVPrefs *prefs = PIDGIN_VV_PREFS(data); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
249 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
250 | if (gtk_toggle_button_get_active(test)) { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
251 | enable_voice_test(prefs); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
252 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
253 | g_signal_connect(prefs->voice.volume, "value-changed", |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
254 | G_CALLBACK(on_volume_change_cb), prefs); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
255 | g_signal_connect(test, "destroy", |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
256 | G_CALLBACK(voice_test_destroy_cb), prefs); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
257 | } else { |
|
41627
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
258 | gtk_level_bar_set_value(GTK_LEVEL_BAR(prefs->voice.level), 0.0); |
|
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
259 | gtk_label_set_text(GTK_LABEL(prefs->voice.drop), ""); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
260 | g_object_disconnect(prefs->voice.volume, |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
261 | "any-signal::value-changed", |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
262 | G_CALLBACK(on_volume_change_cb), prefs, NULL); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
263 | g_object_disconnect(test, "any-signal::destroy", |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
264 | G_CALLBACK(voice_test_destroy_cb), prefs, |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
265 | NULL); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
266 | voice_test_destroy_cb(NULL, prefs); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
267 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
268 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
269 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
270 | static void |
|
41947
7b3312d0760c
Bump C standard to C99 for Pidgin files and fix warnings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41627
diff
changeset
|
271 | volume_changed_cb(G_GNUC_UNUSED GtkScaleButton *button, gdouble value, |
|
7b3312d0760c
Bump C standard to C99 for Pidgin files and fix warnings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41627
diff
changeset
|
272 | G_GNUC_UNUSED gpointer data) |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
273 | { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
274 | purple_prefs_set_int("/purple/media/audio/volume/input", value * 100); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
275 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
276 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
277 | static void |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
278 | threshold_value_changed_cb(GtkScale *scale, gpointer data) |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
279 | { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
280 | PidginVVPrefs *prefs = data; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
281 | int value; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
282 | char *tmp; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
283 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
284 | value = (int)gtk_range_get_value(GTK_RANGE(scale)); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
285 | tmp = g_strdup_printf(_("Silence threshold: %d%%"), value); |
|
41627
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
286 | adw_preferences_row_set_title(ADW_PREFERENCES_ROW(prefs->voice.threshold_row), |
|
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
287 | tmp); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
288 | g_free(tmp); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
289 | |
|
41627
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
290 | gtk_level_bar_add_offset_value(GTK_LEVEL_BAR(prefs->voice.level), |
|
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
291 | GTK_LEVEL_BAR_OFFSET_LOW, |
|
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
292 | value / 100.0 * MAX_AUDIO_LEVEL); |
|
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
293 | |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
294 | purple_prefs_set_int("/purple/media/audio/silence_threshold", value); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
295 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
296 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
297 | static void |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
298 | bind_voice_test(PidginVVPrefs *prefs) |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
299 | { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
300 | char *tmp; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
301 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
302 | gtk_scale_button_set_value(GTK_SCALE_BUTTON(prefs->voice.volume), |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
303 | purple_prefs_get_int("/purple/media/audio/volume/input") / 100.0); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
304 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
305 | tmp = g_strdup_printf(_("Silence threshold: %d%%"), |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
306 | purple_prefs_get_int("/purple/media/audio/silence_threshold")); |
|
41627
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
307 | adw_preferences_row_set_title(ADW_PREFERENCES_ROW(prefs->voice.threshold_row), |
|
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
308 | tmp); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
309 | g_free(tmp); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
310 | |
|
41627
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
311 | /* Move the default high levels to the end (low is set by |
|
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
312 | * threshold_value_changed_cb when set below.) */ |
|
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
313 | gtk_level_bar_add_offset_value(GTK_LEVEL_BAR(prefs->voice.level), |
|
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
314 | GTK_LEVEL_BAR_OFFSET_HIGH, |
|
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
315 | MAX_AUDIO_LEVEL); |
|
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
316 | gtk_level_bar_add_offset_value(GTK_LEVEL_BAR(prefs->voice.level), |
|
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
317 | GTK_LEVEL_BAR_OFFSET_FULL, |
|
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
318 | MAX_AUDIO_LEVEL); |
|
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
319 | |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
320 | gtk_range_set_value(GTK_RANGE(prefs->voice.threshold), |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
321 | purple_prefs_get_int("/purple/media/audio/silence_threshold")); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
322 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
323 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
324 | static GstElement * |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
325 | create_video_pipeline(void) |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
326 | { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
327 | GstElement *pipeline; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
328 | GstElement *src, *sink; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
329 | GstElement *videoconvert; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
330 | GstElement *videoscale; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
331 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
332 | pipeline = gst_pipeline_new("videotest"); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
333 | src = create_test_element(PURPLE_MEDIA_ELEMENT_VIDEO | PURPLE_MEDIA_ELEMENT_SRC); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
334 | sink = create_test_element(PURPLE_MEDIA_ELEMENT_VIDEO | PURPLE_MEDIA_ELEMENT_SINK); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
335 | videoconvert = gst_element_factory_make("videoconvert", NULL); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
336 | videoscale = gst_element_factory_make("videoscale", NULL); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
337 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
338 | g_object_set_data(G_OBJECT(pipeline), "sink", sink); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
339 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
340 | gst_bin_add_many(GST_BIN(pipeline), src, videoconvert, videoscale, sink, |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
341 | NULL); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
342 | gst_element_link_many(src, videoconvert, videoscale, sink, NULL); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
343 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
344 | return pipeline; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
345 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
346 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
347 | static void |
|
41947
7b3312d0760c
Bump C standard to C99 for Pidgin files and fix warnings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41627
diff
changeset
|
348 | video_test_destroy_cb(G_GNUC_UNUSED GtkWidget *w, gpointer data) |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
349 | { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
350 | PidginVVPrefs *prefs = PIDGIN_VV_PREFS(data); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
351 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
352 | if (!prefs->video.pipeline) { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
353 | return; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
354 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
355 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
356 | gst_element_set_state(prefs->video.pipeline, GST_STATE_NULL); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
357 | g_clear_pointer(&prefs->video.pipeline, gst_object_unref); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
358 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
359 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
360 | static void |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
361 | enable_video_test(PidginVVPrefs *prefs) |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
362 | { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
363 | GtkWidget *video = NULL; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
364 | GstElement *sink = NULL; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
365 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
366 | prefs->video.pipeline = create_video_pipeline(); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
367 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
368 | sink = g_object_get_data(G_OBJECT(prefs->video.pipeline), "sink"); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
369 | g_object_get(sink, "widget", &video, NULL); |
|
42202
2273647d24b0
Use gtk_widget_set_visible for everything
Gary Kramlich <grim@reaperworld.com>
parents:
42191
diff
changeset
|
370 | gtk_widget_set_visible(video, TRUE); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
371 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
372 | gtk_widget_set_size_request(prefs->video.frame, 400, 300); |
|
41552
c9157099adf8
Convert Voice&Video prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41394
diff
changeset
|
373 | gtk_aspect_frame_set_child(GTK_ASPECT_FRAME(prefs->video.frame), video); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
374 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
375 | gst_element_set_state(GST_ELEMENT(prefs->video.pipeline), |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
376 | GST_STATE_PLAYING); |
|
41552
c9157099adf8
Convert Voice&Video prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41394
diff
changeset
|
377 | |
|
c9157099adf8
Convert Voice&Video prefs page to GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41394
diff
changeset
|
378 | g_object_unref(video); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
379 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
380 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
381 | static void |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
382 | toggle_video_test_cb(GtkToggleButton *test, gpointer data) |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
383 | { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
384 | PidginVVPrefs *prefs = PIDGIN_VV_PREFS(data); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
385 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
386 | if (gtk_toggle_button_get_active(test)) { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
387 | enable_video_test(prefs); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
388 | g_signal_connect(test, "destroy", |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
389 | G_CALLBACK(video_test_destroy_cb), prefs); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
390 | } else { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
391 | g_object_disconnect(test, "any-signal::destroy", |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
392 | G_CALLBACK(video_test_destroy_cb), prefs, |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
393 | NULL); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
394 | video_test_destroy_cb(NULL, prefs); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
395 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
396 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
397 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
398 | static void |
|
41947
7b3312d0760c
Bump C standard to C99 for Pidgin files and fix warnings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41627
diff
changeset
|
399 | vv_device_changed_cb(const gchar *name, G_GNUC_UNUSED PurplePrefType type, |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
400 | gconstpointer value, gpointer data) |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
401 | { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
402 | PidginVVPrefs *prefs = PIDGIN_VV_PREFS(data); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
403 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
404 | PurpleMediaManager *manager; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
405 | PurpleMediaElementInfo *info; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
406 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
407 | manager = purple_media_manager_get(); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
408 | info = purple_media_manager_get_element_info(manager, value); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
409 | purple_media_manager_set_active_element(manager, info); |
|
42644
efe66edc9676
Fix media leaks
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42592
diff
changeset
|
410 | g_object_unref(info); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
411 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
412 | /* Refresh test viewers */ |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
413 | if (strstr(name, "audio") && prefs->voice.pipeline) { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
414 | voice_test_destroy_cb(NULL, prefs); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
415 | enable_voice_test(prefs); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
416 | } else if (strstr(name, "video") && prefs->video.pipeline) { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
417 | video_test_destroy_cb(NULL, prefs); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
418 | enable_video_test(prefs); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
419 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
420 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
421 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
422 | static const char * |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
423 | purple_media_type_to_preference_key(PurpleMediaElementType type) |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
424 | { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
425 | if (type & PURPLE_MEDIA_ELEMENT_AUDIO) { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
426 | if (type & PURPLE_MEDIA_ELEMENT_SRC) { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
427 | return PIDGIN_PREFS_ROOT "/vvconfig/audio/src/device"; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
428 | } else if (type & PURPLE_MEDIA_ELEMENT_SINK) { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
429 | return PIDGIN_PREFS_ROOT "/vvconfig/audio/sink/device"; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
430 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
431 | } else if (type & PURPLE_MEDIA_ELEMENT_VIDEO) { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
432 | if (type & PURPLE_MEDIA_ELEMENT_SRC) { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
433 | return PIDGIN_PREFS_ROOT "/vvconfig/video/src/device"; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
434 | } else if (type & PURPLE_MEDIA_ELEMENT_SINK) { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
435 | return PIDGIN_PREFS_ROOT "/vvconfig/video/sink/device"; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
436 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
437 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
438 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
439 | return NULL; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
440 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
441 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
442 | static void |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
443 | vv_combo_row_set(GObject *obj, G_GNUC_UNUSED GParamSpec *pspec, gpointer data) |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
444 | { |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
445 | const char *key = data; |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
446 | PurpleMediaElementInfo *item = NULL; |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
447 | char *id = NULL; |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
448 | |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
449 | item = adw_combo_row_get_selected_item(ADW_COMBO_ROW(obj)); |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
450 | id = purple_media_element_info_get_id(item); |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
451 | purple_prefs_set_string(key, id); |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
452 | g_free(id); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
453 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
454 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
455 | static void |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
456 | bind_vv_combo(PidginVVPrefs *prefs, AdwComboRow *row, |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
457 | PurpleMediaElementType type) |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
458 | { |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
459 | const char *pref_key = NULL; |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
460 | const char *pref_value = NULL; |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
461 | |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
462 | pref_key = purple_media_type_to_preference_key(type); |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
463 | pref_value = purple_prefs_get_string(pref_key); |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
464 | |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
465 | populate_vv_device_menuitems(row, type, pref_value); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
466 | |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
467 | g_signal_connect(row, "notify::selected", G_CALLBACK(vv_combo_row_set), |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
468 | (gpointer)pref_key); |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
469 | |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
470 | purple_prefs_connect_callback(row, pref_key, vv_device_changed_cb, prefs); |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
471 | g_signal_connect_swapped(row, "destroy", |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
472 | G_CALLBACK(purple_prefs_disconnect_by_handle), |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
473 | row); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
474 | |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
475 | g_object_set_data(G_OBJECT(row), "vv_media_type", GINT_TO_POINTER(type)); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
476 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
477 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
478 | static void |
|
41947
7b3312d0760c
Bump C standard to C99 for Pidgin files and fix warnings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41627
diff
changeset
|
479 | device_list_changed_cb(G_GNUC_UNUSED PurpleMediaManager *manager, |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
480 | gpointer data) |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
481 | { |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
482 | AdwComboRow *row = data; |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
483 | PurpleMediaElementInfo *original = NULL; |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
484 | PurpleMediaElementInfo *selected = NULL; |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
485 | PurpleMediaElementType media_type; |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
486 | const char *pref_key = NULL; |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
487 | const char *pref_value = NULL; |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
488 | |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
489 | original = g_object_ref(adw_combo_row_get_selected_item(row)); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
490 | |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
491 | media_type = (PurpleMediaElementType)GPOINTER_TO_INT( |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
492 | g_object_get_data( |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
493 | G_OBJECT(row), |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
494 | "vv_media_type")); |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
495 | pref_key = purple_media_type_to_preference_key(media_type); |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
496 | pref_value = purple_prefs_get_string(pref_key); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
497 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
498 | /* Block signals so pref doesn't get re-saved while changing UI. */ |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
499 | g_signal_handlers_block_by_func(row, vv_combo_row_set, (gpointer)pref_key); |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
500 | |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
501 | populate_vv_device_menuitems(row, media_type, pref_value); |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
502 | |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
503 | g_signal_handlers_unblock_by_func(row, vv_combo_row_set, |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
504 | (gpointer)pref_key); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
505 | |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
506 | selected = adw_combo_row_get_selected_item(row); |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
507 | if(original != selected) { |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
508 | /* We blocked signals to prevent accidentally changing the selected |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
509 | * element while the combo row repopulates, but now the original |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
510 | * element is gone, so we need to push this change back to the pref. */ |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
511 | char *id = purple_media_element_info_get_id(selected); |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
512 | purple_prefs_set_string(pref_key, id); |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
513 | g_free(id); |
|
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
514 | } |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
515 | |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
516 | g_clear_object(&original); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
517 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
518 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
519 | /****************************************************************************** |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
520 | * GObject Implementation |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
521 | *****************************************************************************/ |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
522 | static void |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
523 | pidgin_vv_prefs_class_init(PidginVVPrefsClass *klass) |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
524 | { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
525 | GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
526 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
527 | gtk_widget_class_set_template_from_resource( |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
528 | widget_class, |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
529 | "/im/pidgin/Pidgin3/Prefs/vv.ui" |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
530 | ); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
531 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
532 | gtk_widget_class_bind_template_child(widget_class, PidginVVPrefs, |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
533 | voice.input); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
534 | gtk_widget_class_bind_template_child(widget_class, PidginVVPrefs, |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
535 | voice.output); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
536 | gtk_widget_class_bind_template_child(widget_class, PidginVVPrefs, |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
537 | voice.volume); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
538 | gtk_widget_class_bind_template_child(widget_class, PidginVVPrefs, |
|
41627
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
539 | voice.threshold_row); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
540 | gtk_widget_class_bind_template_child(widget_class, PidginVVPrefs, |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
541 | voice.threshold); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
542 | gtk_widget_class_bind_template_child(widget_class, PidginVVPrefs, |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
543 | voice.level); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
544 | gtk_widget_class_bind_template_child(widget_class, PidginVVPrefs, |
|
41627
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
545 | voice.drop); |
|
7d9b4a9d5c3e
Move VV preferences to Adwaita preference widgets
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41613
diff
changeset
|
546 | gtk_widget_class_bind_template_child(widget_class, PidginVVPrefs, |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
547 | voice.test); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
548 | gtk_widget_class_bind_template_callback(widget_class, volume_changed_cb); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
549 | gtk_widget_class_bind_template_callback(widget_class, |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
550 | threshold_value_changed_cb); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
551 | gtk_widget_class_bind_template_callback(widget_class, |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
552 | toggle_voice_test_cb); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
553 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
554 | gtk_widget_class_bind_template_child(widget_class, PidginVVPrefs, |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
555 | video.input); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
556 | gtk_widget_class_bind_template_child(widget_class, PidginVVPrefs, |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
557 | video.output); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
558 | gtk_widget_class_bind_template_child(widget_class, PidginVVPrefs, |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
559 | video.frame); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
560 | gtk_widget_class_bind_template_child(widget_class, PidginVVPrefs, |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
561 | video.test); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
562 | gtk_widget_class_bind_template_callback(widget_class, |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
563 | toggle_video_test_cb); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
564 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
565 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
566 | static void |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
567 | pidgin_vv_prefs_init(PidginVVPrefs *prefs) |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
568 | { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
569 | PurpleMediaManager *manager = NULL; |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
570 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
571 | gtk_widget_init_template(GTK_WIDGET(prefs)); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
572 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
573 | manager = purple_media_manager_get(); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
574 | |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
575 | bind_vv_combo(prefs, prefs->voice.input, |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
576 | PURPLE_MEDIA_ELEMENT_AUDIO | PURPLE_MEDIA_ELEMENT_SRC); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
577 | g_signal_connect_object(manager, "elements-changed::audiosrc", |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
578 | G_CALLBACK(device_list_changed_cb), |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
579 | prefs->voice.input, 0); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
580 | |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
581 | bind_vv_combo(prefs, prefs->voice.output, |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
582 | PURPLE_MEDIA_ELEMENT_AUDIO | PURPLE_MEDIA_ELEMENT_SINK); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
583 | g_signal_connect_object(manager, "elements-changed::audiosink", |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
584 | G_CALLBACK(device_list_changed_cb), |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
585 | prefs->voice.output, 0); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
586 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
587 | bind_voice_test(prefs); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
588 | |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
589 | bind_vv_combo(prefs, prefs->video.input, |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
590 | PURPLE_MEDIA_ELEMENT_VIDEO | PURPLE_MEDIA_ELEMENT_SRC); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
591 | g_signal_connect_object(manager, "elements-changed::videosrc", |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
592 | G_CALLBACK(device_list_changed_cb), |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
593 | prefs->video.input, 0); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
594 | |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
595 | bind_vv_combo(prefs, prefs->video.output, |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
596 | PURPLE_MEDIA_ELEMENT_VIDEO | PURPLE_MEDIA_ELEMENT_SINK); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
597 | g_signal_connect_object(manager, "elements-changed::videosink", |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
598 | G_CALLBACK(device_list_changed_cb), |
|
42191
68380e709c16
Port VV preferences from GtkComboBox to AdwComboRow
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42108
diff
changeset
|
599 | prefs->video.output, 0); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
600 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
601 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
602 | /****************************************************************************** |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
603 | * API |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
604 | *****************************************************************************/ |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
605 | GtkWidget * |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
606 | pidgin_vv_prefs_new(void) { |
|
42592
6b65c0e4ba15
Remove unnecessary casts for GObject methods
Gary Kramlich <grim@reaperworld.com>
parents:
42575
diff
changeset
|
607 | return g_object_new(PIDGIN_TYPE_VV_PREFS, NULL); |
|
41394
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
608 | } |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
609 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
610 | void |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
611 | pidgin_vv_prefs_disable_test_pipelines(PidginVVPrefs *prefs) { |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
612 | g_return_if_fail(PIDGIN_IS_VV_PREFS(prefs)); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
613 | |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
614 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(prefs->voice.test), FALSE); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
615 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(prefs->video.test), FALSE); |
|
1327e58acce3
Split VV prefs into a separate widget
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
diff
changeset
|
616 | } |