diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/dsp_libsrc/src.c | 5 | ||||
-rw-r--r-- | plugins/gtkui/callbacks.h | 4 | ||||
-rw-r--r-- | plugins/gtkui/converter.c | 281 | ||||
-rw-r--r-- | plugins/gtkui/deadbeef.glade | 181 | ||||
-rw-r--r-- | plugins/gtkui/interface.c | 51 |
5 files changed, 309 insertions, 213 deletions
diff --git a/plugins/dsp_libsrc/src.c b/plugins/dsp_libsrc/src.c index 26a9ba7f..a292a95b 100644 --- a/plugins/dsp_libsrc/src.c +++ b/plugins/dsp_libsrc/src.c @@ -55,7 +55,8 @@ ddb_src_open (void) { DDB_INIT_DSP_INSTANCE (src,ddb_src_libsamplerate_t,&plugin); src->mutex = deadbeef->mutex_create (); - src->samplerate = -1; + src->samplerate = 44100; + src->quality = 2; src->channels = -1; return (DB_dsp_instance_t *)src; } @@ -118,7 +119,7 @@ ddb_src_process (DB_dsp_instance_t *_src, float *samples, int nframes, int *samp ddb_src_set_ratio (_src, ratio); *samplerate = src->samplerate; - if (src->channels != *nchannels || src->quality_changed) { + if (src->channels != *nchannels || src->quality_changed || !src->src) { src->quality_changed = 0; src->remaining = 0; if (src->src) { diff --git a/plugins/gtkui/callbacks.h b/plugins/gtkui/callbacks.h index 3d6872bf..6f31d798 100644 --- a/plugins/gtkui/callbacks.h +++ b/plugins/gtkui/callbacks.h @@ -1073,3 +1073,7 @@ on_dsp_preset_remove_plugin_clicked (GtkButton *button, void on_converter_dsp_preset_changed (GtkComboBox *combobox, gpointer user_data); + +void +on_dsp_preset_plugin_configure_clicked (GtkButton *button, + gpointer user_data); diff --git a/plugins/gtkui/converter.c b/plugins/gtkui/converter.c index 80b0d77b..dd586938 100644 --- a/plugins/gtkui/converter.c +++ b/plugins/gtkui/converter.c @@ -27,7 +27,11 @@ #include "gtkui.h" ddb_encoder_preset_t *encoder_presets; +ddb_encoder_preset_t *current_encoder_preset; + ddb_dsp_preset_t *dsp_presets; +ddb_dsp_preset_t *current_dsp_preset; + ddb_encoder_preset_t * ddb_encoder_preset_alloc (void) { @@ -691,8 +695,6 @@ init_encoder_preset_from_dlg (GtkWidget *dlg, ddb_encoder_preset_t *p) { } } -ddb_encoder_preset_t *current_encoder_preset; - int edit_encoder_preset (char *title, GtkWidget *toplevel, int overwrite) { GtkWidget *dlg = create_convpreset_editor (); @@ -775,7 +777,7 @@ edit_encoder_preset (char *title, GtkWidget *toplevel, int overwrite) { } void -refresh_preset_lists (GtkComboBox *combo, GtkTreeView *list) { +refresh_encoder_lists (GtkComboBox *combo, GtkTreeView *list) { // presets list view GtkListStore *mdl = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (list))); @@ -823,7 +825,7 @@ on_encoder_preset_add (GtkButton *button, } GtkComboBox *combo = GTK_COMBO_BOX (lookup_widget (converter, "encoder")); GtkWidget *list = lookup_widget (toplevel, "presets"); - refresh_preset_lists (combo, GTK_TREE_VIEW (list)); + refresh_encoder_lists (combo, GTK_TREE_VIEW (list)); } current_encoder_preset = NULL; @@ -855,7 +857,7 @@ on_encoder_preset_edit (GtkButton *button, int r = edit_encoder_preset (_("Edit encoder"), toplevel, 1); if (r == GTK_RESPONSE_OK) { GtkComboBox *combo = GTK_COMBO_BOX (lookup_widget (converter, "encoder")); - refresh_preset_lists (combo, GTK_TREE_VIEW (list)); + refresh_encoder_lists (combo, GTK_TREE_VIEW (list)); } current_encoder_preset = NULL; @@ -912,17 +914,8 @@ on_encoder_preset_remove (GtkButton *button, } ddb_encoder_preset_free (p); - // presets list view - GtkListStore *mdl = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (list))); - gtk_list_store_clear (mdl); - fill_presets (mdl, (ddb_preset_t *)encoder_presets); - - // presets combo box GtkComboBox *combo = GTK_COMBO_BOX (lookup_widget (converter, "encoder")); - mdl = GTK_LIST_STORE (gtk_combo_box_get_model (combo)); - gtk_list_store_clear (mdl); - fill_presets (mdl, (ddb_preset_t *)encoder_presets); - gtk_combo_box_set_active (combo, deadbeef->conf_get_int ("converter.encoder_preset", 0)); + refresh_encoder_lists (combo, GTK_TREE_VIEW (list)); } } @@ -954,8 +947,6 @@ on_edit_encoder_presets_clicked (GtkButton *button, ///// dsp preset gui -ddb_dsp_preset_t *current_dsp_preset; - void fill_dsp_plugin_list (GtkListStore *mdl) { struct DB_dsp_s **dsp = deadbeef->plug_get_dsp_list (); @@ -996,9 +987,6 @@ on_dsp_preset_add_plugin_clicked (GtkButton *button, int r = gtk_dialog_run (GTK_DIALOG (dlg)); if (r == GTK_RESPONSE_OK) { - // get title - const char *title = gtk_entry_get_text (GTK_ENTRY (lookup_widget (dlg, "title"))); - // create new instance of the selected plugin int idx = gtk_combo_box_get_active (combo); struct DB_dsp_s **dsp = deadbeef->plug_get_dsp_list (); @@ -1041,21 +1029,138 @@ void on_dsp_preset_remove_plugin_clicked (GtkButton *button, gpointer user_data) { + GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (button)); + GtkWidget *list = lookup_widget (toplevel, "plugins"); + GtkTreePath *path; + GtkTreeViewColumn *col; + gtk_tree_view_get_cursor (GTK_TREE_VIEW (list), &path, &col); + if (!path || !col) { + // nothing selected + return; + } + int *indices = gtk_tree_path_get_indices (path); + int idx = *indices; + g_free (indices); + if (idx == -1) { + return; + } + DB_dsp_instance_t *p = current_dsp_preset->chain; + DB_dsp_instance_t *prev = NULL; + int i = idx; + while (p && i--) { + prev = p; + p = p->next; + } + if (p) { + if (prev) { + prev->next = p->next; + } + else { + current_dsp_preset->chain = p->next; + } + p->plugin->close (p); + GtkListStore *mdl = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW(list))); + gtk_list_store_clear (mdl); + fill_dsp_preset_chain (mdl); + path = gtk_tree_path_new_from_indices (idx, -1); + gtk_tree_view_set_cursor (GTK_TREE_VIEW (list), path, col, FALSE); + gtk_tree_path_free (path); + } +} + +void +on_dsp_preset_plugin_configure_clicked (GtkButton *button, + gpointer user_data) +{ + GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (button)); + GtkWidget *list = lookup_widget (toplevel, "plugins"); + GtkTreePath *path; + GtkTreeViewColumn *col; + gtk_tree_view_get_cursor (GTK_TREE_VIEW (list), &path, &col); + if (!path || !col) { + // nothing selected + return; + } + int *indices = gtk_tree_path_get_indices (path); + int idx = *indices; + g_free (indices); + if (idx == -1) { + return; + } + + DB_dsp_instance_t *p = current_dsp_preset->chain; + DB_dsp_instance_t *prev = NULL; + int i = idx; + while (p && i--) { + prev = p; + p = p->next; + } + if (!p || !p->plugin->num_params || !p->plugin->num_params ()) { + return; + } + + GtkWidget *dlg = gtk_dialog_new (); + gtk_window_set_title (GTK_WINDOW (dlg), _("Configure DSP plugin")); + gtk_window_set_modal (GTK_WINDOW (dlg), TRUE); + gtk_window_set_type_hint (GTK_WINDOW (dlg), GDK_WINDOW_TYPE_HINT_DIALOG); + + GtkWidget *vbox = gtk_vbox_new (FALSE, 8); + gtk_container_set_border_width (GTK_CONTAINER (vbox), 12); + gtk_widget_show (vbox); + + gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dlg)->vbox), vbox, TRUE, TRUE, 0); + + GtkWidget *w; + + int n = p->plugin->num_params (); + for (i = 0; i < n; i++) { + GtkWidget *hbox = gtk_hbox_new (FALSE, 8); + + gtk_widget_show (hbox); + gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); + const char *title = p->plugin->get_param_name (i); + w = gtk_label_new (_(title)); + gtk_widget_show (w); + gtk_box_pack_start (GTK_BOX (hbox), w, FALSE, FALSE, 0); + w = gtk_entry_new (); + char s[100]; + snprintf (s, sizeof (s), "%f", p->plugin->get_param (p, i)); + gtk_entry_set_text (GTK_ENTRY (w), s); + gtk_widget_show (w); + gtk_box_pack_start (GTK_BOX (hbox), w, TRUE, TRUE, 0); + } + + + + w = gtk_button_new_from_stock ("gtk-cancel"); + gtk_widget_show (w); + gtk_dialog_add_action_widget (GTK_DIALOG (dlg), w, GTK_RESPONSE_CANCEL); + GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT); + + w = gtk_button_new_from_stock ("gtk-ok"); + gtk_widget_show (w); + gtk_dialog_add_action_widget (GTK_DIALOG (dlg), w, GTK_RESPONSE_OK); + GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT); + + int r = gtk_dialog_run (GTK_DIALOG (dlg)); + gtk_widget_destroy (dlg); } int -edit_dsp_preset (GtkWidget *toplevel, int overwrite) { +edit_dsp_preset (const char *title, GtkWidget *toplevel, int overwrite) { int r = GTK_RESPONSE_CANCEL; GtkWidget *dlg = create_dsppreset_editor (); gtk_dialog_set_default_response (GTK_DIALOG (dlg), GTK_RESPONSE_OK); gtk_window_set_transient_for (GTK_WINDOW (dlg), GTK_WINDOW (toplevel)); - gtk_window_set_title (GTK_WINDOW (dlg), _("New DSP Preset")); + gtk_window_set_title (GTK_WINDOW (dlg), title); // title - gtk_entry_set_text (GTK_ENTRY (lookup_widget (dlg, "title")), current_dsp_preset->title); + if (current_dsp_preset->title) { + gtk_entry_set_text (GTK_ENTRY (lookup_widget (dlg, "title")), current_dsp_preset->title); + } { // left list @@ -1069,19 +1174,6 @@ edit_dsp_preset (GtkWidget *toplevel, int overwrite) { fill_dsp_preset_chain (mdl); } - { - // right list - GtkWidget *list = lookup_widget (dlg, "params"); - GtkCellRenderer *title_cell = gtk_cell_renderer_text_new (); - GtkTreeViewColumn *col1 = gtk_tree_view_column_new_with_attributes (_("Param"), title_cell, "text", 0, NULL); - GtkTreeViewColumn *col2 = gtk_tree_view_column_new_with_attributes (_("Value"), title_cell, "text", 1, NULL); - gtk_tree_view_append_column (GTK_TREE_VIEW (list), GTK_TREE_VIEW_COLUMN (col1)); - gtk_tree_view_append_column (GTK_TREE_VIEW (list), GTK_TREE_VIEW_COLUMN (col2)); - GtkListStore *mdl = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING); - gtk_tree_view_set_model (GTK_TREE_VIEW (list), GTK_TREE_MODEL (mdl)); - } - - for (;;) { r = gtk_dialog_run (GTK_DIALOG (dlg)); @@ -1102,23 +1194,8 @@ edit_dsp_preset (GtkWidget *toplevel, int overwrite) { continue; } - // append to list of presets - ddb_dsp_preset_t *tail = dsp_presets; - while (tail && tail->next) { - tail = tail->next; - } - if (tail) { - tail->next = current_dsp_preset; - } - else { - dsp_presets = current_dsp_preset; - } - } - else { - ddb_dsp_preset_free (current_dsp_preset); } - current_dsp_preset = NULL; break; } @@ -1126,6 +1203,34 @@ edit_dsp_preset (GtkWidget *toplevel, int overwrite) { return r; } +void +refresh_dsp_lists (GtkComboBox *combo, GtkTreeView *list) { + // presets list view + GtkListStore *mdl = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (list))); + + GtkTreePath *path; + GtkTreeViewColumn *col; + gtk_tree_view_get_cursor (GTK_TREE_VIEW (list), &path, &col); + if (path && col) { + int *indices = gtk_tree_path_get_indices (path); + int idx = *indices; + g_free (indices); + + gtk_list_store_clear (mdl); + fill_presets (mdl, (ddb_preset_t *)dsp_presets); + path = gtk_tree_path_new_from_indices (idx, -1); + gtk_tree_view_set_cursor (GTK_TREE_VIEW (list), path, col, FALSE); + gtk_tree_path_free (path); + } + + // presets combo box + int act = gtk_combo_box_get_active (combo); + mdl = GTK_LIST_STORE (gtk_combo_box_get_model (combo)); + gtk_list_store_clear (mdl); + fill_presets (mdl, (ddb_preset_t *)dsp_presets); + gtk_combo_box_set_active (combo, act); +} + void on_dsp_preset_add (GtkButton *button, @@ -1136,7 +1241,26 @@ on_dsp_preset_add (GtkButton *button, GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (button)); - edit_dsp_preset (toplevel, 0); + if (GTK_RESPONSE_OK == edit_dsp_preset (_("New DSP Preset"), toplevel, 0)) { + // append to list of presets + ddb_dsp_preset_t *tail = dsp_presets; + while (tail && tail->next) { + tail = tail->next; + } + if (tail) { + tail->next = current_dsp_preset; + } + else { + dsp_presets = current_dsp_preset; + } + + GtkComboBox *combo = GTK_COMBO_BOX (lookup_widget (converter, "dsp_preset")); + GtkWidget *list = lookup_widget (toplevel, "presets"); + refresh_dsp_lists (combo, GTK_TREE_VIEW (list)); + } + else { + ddb_dsp_preset_free (current_dsp_preset); + } current_dsp_preset = NULL; } @@ -1145,6 +1269,55 @@ void on_dsp_preset_remove (GtkButton *button, gpointer user_data) { + GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (button)); + GtkWidget *list = lookup_widget (toplevel, "presets"); + GtkTreePath *path; + GtkTreeViewColumn *col; + gtk_tree_view_get_cursor (GTK_TREE_VIEW (list), &path, &col); + if (!path || !col) { + // nothing selected + return; + } + int *indices = gtk_tree_path_get_indices (path); + int idx = *indices; + g_free (indices); + + ddb_dsp_preset_t *p = dsp_presets; + ddb_dsp_preset_t *prev = NULL; + while (idx--) { + prev = p; + p = p->next; + } + + if (!p) { + return; + } + + GtkWidget *dlg = gtk_message_dialog_new (GTK_WINDOW (mainwin), GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_YES_NO, _("Remove preset")); + gtk_window_set_transient_for (GTK_WINDOW (dlg), GTK_WINDOW (toplevel)); + gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dlg), _("This action will delete the selected preset. Are you sure?")); + gtk_window_set_title (GTK_WINDOW (dlg), _("Warning")); + + int response = gtk_dialog_run (GTK_DIALOG (dlg)); + gtk_widget_destroy (dlg); + if (response == GTK_RESPONSE_YES) { + char path[1024]; + if (snprintf (path, sizeof (path), "%s/presets/dsp/%s.txt", deadbeef->get_config_dir (), p->title) > 0) { + unlink (path); + } + + ddb_dsp_preset_t *next = p->next; + if (prev) { + prev->next = next; + } + else { + dsp_presets = next; + } + ddb_dsp_preset_free (p); + + GtkComboBox *combo = GTK_COMBO_BOX (lookup_widget (converter, "dsp_preset")); + refresh_dsp_lists (combo, GTK_TREE_VIEW (list)); + } } void @@ -1182,7 +1355,7 @@ on_dsp_preset_edit (GtkButton *button, current_dsp_preset = ddb_dsp_preset_alloc (); ddb_dsp_preset_copy (current_dsp_preset, p); - int r = edit_dsp_preset (toplevel, 1); + int r = edit_dsp_preset (_("Edit DSP Preset"), toplevel, 1); if (r == GTK_RESPONSE_OK) { // replace preset if (prev) { @@ -1193,6 +1366,8 @@ on_dsp_preset_edit (GtkButton *button, } current_dsp_preset->next = p->next; ddb_dsp_preset_free (p); + GtkComboBox *combo = GTK_COMBO_BOX (lookup_widget (converter, "dsp_preset")); + refresh_dsp_lists (combo, GTK_TREE_VIEW (list)); } else { ddb_dsp_preset_free (current_dsp_preset); diff --git a/plugins/gtkui/deadbeef.glade b/plugins/gtkui/deadbeef.glade index e9a2f624..6544649f 100644 --- a/plugins/gtkui/deadbeef.glade +++ b/plugins/gtkui/deadbeef.glade @@ -7538,86 +7538,43 @@ Descending</property> </child> <child> - <widget class="GtkHPaned" id="hpaned2"> + <widget class="GtkVBox" id="vbox29"> <property name="visible">True</property> - <property name="can_focus">True</property> + <property name="homogeneous">False</property> + <property name="spacing">8</property> <child> - <widget class="GtkVBox" id="vbox29"> + <widget class="GtkHBox" id="hbox82"> <property name="visible">True</property> - <property name="homogeneous">False</property> + <property name="homogeneous">True</property> <property name="spacing">8</property> <child> - <widget class="GtkHBox" id="hbox82"> + <widget class="GtkButton" id="add"> <property name="visible">True</property> - <property name="homogeneous">True</property> - <property name="spacing">8</property> - - <child> - <widget class="GtkButton" id="add"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">Add</property> - <property name="use_underline">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="focus_on_click">True</property> - <signal name="clicked" handler="on_dsp_preset_add_plugin_clicked" last_modification_time="Tue, 07 Dec 2010 20:11:31 GMT"/> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> - - <child> - <widget class="GtkButton" id="remove"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="label" translatable="yes">Remove</property> - <property name="use_underline">True</property> - <property name="relief">GTK_RELIEF_NORMAL</property> - <property name="focus_on_click">True</property> - <signal name="clicked" handler="on_dsp_preset_remove_plugin_clicked" last_modification_time="Tue, 07 Dec 2010 20:12:20 GMT"/> - </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> - </child> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Add</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_dsp_preset_add_plugin_clicked" last_modification_time="Tue, 07 Dec 2010 20:11:31 GMT"/> </widget> <packing> <property name="padding">0</property> - <property name="expand">False</property> + <property name="expand">True</property> <property name="fill">True</property> </packing> </child> <child> - <widget class="GtkScrolledWindow" id="scrolledwindow7"> + <widget class="GtkButton" id="remove"> <property name="visible">True</property> <property name="can_focus">True</property> - <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> - <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> - <property name="shadow_type">GTK_SHADOW_IN</property> - <property name="window_placement">GTK_CORNER_TOP_LEFT</property> - - <child> - <widget class="GtkTreeView" id="plugins"> - <property name="width_request">196</property> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="headers_visible">False</property> - <property name="rules_hint">False</property> - <property name="reorderable">False</property> - <property name="enable_search">True</property> - <property name="fixed_height_mode">False</property> - <property name="hover_selection">False</property> - <property name="hover_expand">False</property> - </widget> - </child> + <property name="label" translatable="yes">Remove</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_dsp_preset_remove_plugin_clicked" last_modification_time="Tue, 07 Dec 2010 20:12:20 GMT"/> </widget> <packing> <property name="padding">0</property> @@ -7625,77 +7582,59 @@ Descending</property> <property name="fill">True</property> </packing> </child> - </widget> - <packing> - <property name="shrink">True</property> - <property name="resize">False</property> - </packing> - </child> - - <child> - <widget class="GtkVBox" id="vbox32"> - <property name="visible">True</property> - <property name="homogeneous">False</property> - <property name="spacing">8</property> <child> - <widget class="GtkLabel" id="label110"> + <widget class="GtkButton" id="configure"> <property name="visible">True</property> - <property name="label" translatable="yes">Parameters</property> - <property name="use_underline">False</property> - <property name="use_markup">False</property> - <property name="justify">GTK_JUSTIFY_LEFT</property> - <property name="wrap">False</property> - <property name="selectable">False</property> - <property name="xalign">0.5</property> - <property name="yalign">0.5</property> - <property name="xpad">0</property> - <property name="ypad">0</property> - <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> - <property name="width_chars">-1</property> - <property name="single_line_mode">False</property> - <property name="angle">0</property> + <property name="can_focus">True</property> + <property name="label" translatable="yes">Configure</property> + <property name="use_underline">True</property> + <property name="relief">GTK_RELIEF_NORMAL</property> + <property name="focus_on_click">True</property> + <signal name="clicked" handler="on_dsp_preset_plugin_configure_clicked" last_modification_time="Thu, 09 Dec 2010 20:31:42 GMT"/> </widget> <packing> <property name="padding">0</property> - <property name="expand">False</property> - <property name="fill">False</property> + <property name="expand">True</property> + <property name="fill">True</property> </packing> </child> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">True</property> + </packing> + </child> + + <child> + <widget class="GtkScrolledWindow" id="scrolledwindow7"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> + <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> + <property name="shadow_type">GTK_SHADOW_IN</property> + <property name="window_placement">GTK_CORNER_TOP_LEFT</property> <child> - <widget class="GtkScrolledWindow" id="scrolledwindow9"> + <widget class="GtkTreeView" id="plugins"> + <property name="width_request">196</property> <property name="visible">True</property> <property name="can_focus">True</property> - <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property> - <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property> - <property name="shadow_type">GTK_SHADOW_IN</property> - <property name="window_placement">GTK_CORNER_TOP_LEFT</property> - - <child> - <widget class="GtkTreeView" id="params"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="headers_visible">True</property> - <property name="rules_hint">False</property> - <property name="reorderable">False</property> - <property name="enable_search">True</property> - <property name="fixed_height_mode">False</property> - <property name="hover_selection">False</property> - <property name="hover_expand">False</property> - </widget> - </child> + <property name="headers_visible">False</property> + <property name="rules_hint">False</property> + <property name="reorderable">False</property> + <property name="enable_search">True</property> + <property name="fixed_height_mode">False</property> + <property name="hover_selection">False</property> + <property name="hover_expand">False</property> </widget> - <packing> - <property name="padding">0</property> - <property name="expand">True</property> - <property name="fill">True</property> - </packing> </child> </widget> <packing> - <property name="shrink">True</property> - <property name="resize">True</property> + <property name="padding">0</property> + <property name="expand">True</property> + <property name="fill">True</property> </packing> </child> </widget> @@ -7906,7 +7845,7 @@ Descending</property> <widget class="GtkHBox" id="hbox94"> <property name="visible">True</property> <property name="homogeneous">True</property> - <property name="spacing">0</property> + <property name="spacing">8</property> <child> <widget class="GtkButton" id="add"> @@ -7920,7 +7859,7 @@ Descending</property> <packing> <property name="padding">0</property> <property name="expand">False</property> - <property name="fill">False</property> + <property name="fill">True</property> </packing> </child> @@ -7936,7 +7875,7 @@ Descending</property> <packing> <property name="padding">0</property> <property name="expand">False</property> - <property name="fill">False</property> + <property name="fill">True</property> </packing> </child> @@ -7952,7 +7891,7 @@ Descending</property> <packing> <property name="padding">0</property> <property name="expand">False</property> - <property name="fill">False</property> + <property name="fill">True</property> </packing> </child> </widget> diff --git a/plugins/gtkui/interface.c b/plugins/gtkui/interface.c index cfae083b..16df7678 100644 --- a/plugins/gtkui/interface.c +++ b/plugins/gtkui/interface.c @@ -3839,17 +3839,13 @@ create_dsppreset_editor (void) GtkWidget *hbox81; GtkWidget *label111; GtkWidget *title; - GtkWidget *hpaned2; GtkWidget *vbox29; GtkWidget *hbox82; GtkWidget *add; GtkWidget *remove; + GtkWidget *configure; GtkWidget *scrolledwindow7; GtkWidget *plugins; - GtkWidget *vbox32; - GtkWidget *label110; - GtkWidget *scrolledwindow9; - GtkWidget *params; GtkWidget *dialog_action_area8; GtkWidget *cancelbutton6; GtkWidget *okbutton6; @@ -3883,13 +3879,9 @@ create_dsppreset_editor (void) gtk_entry_set_invisible_char (GTK_ENTRY (title), 9679); gtk_entry_set_activates_default (GTK_ENTRY (title), TRUE); - hpaned2 = gtk_hpaned_new (); - gtk_widget_show (hpaned2); - gtk_box_pack_start (GTK_BOX (vbox30), hpaned2, TRUE, TRUE, 0); - vbox29 = gtk_vbox_new (FALSE, 8); gtk_widget_show (vbox29); - gtk_paned_pack1 (GTK_PANED (hpaned2), vbox29, FALSE, TRUE); + gtk_box_pack_start (GTK_BOX (vbox30), vbox29, TRUE, TRUE, 0); hbox82 = gtk_hbox_new (TRUE, 8); gtk_widget_show (hbox82); @@ -3903,6 +3895,10 @@ create_dsppreset_editor (void) gtk_widget_show (remove); gtk_box_pack_start (GTK_BOX (hbox82), remove, TRUE, TRUE, 0); + configure = gtk_button_new_with_mnemonic (_("Configure")); + gtk_widget_show (configure); + gtk_box_pack_start (GTK_BOX (hbox82), configure, TRUE, TRUE, 0); + scrolledwindow7 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow7); gtk_box_pack_start (GTK_BOX (vbox29), scrolledwindow7, TRUE, TRUE, 0); @@ -3915,24 +3911,6 @@ create_dsppreset_editor (void) gtk_widget_set_size_request (plugins, 196, -1); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (plugins), FALSE); - vbox32 = gtk_vbox_new (FALSE, 8); - gtk_widget_show (vbox32); - gtk_paned_pack2 (GTK_PANED (hpaned2), vbox32, TRUE, TRUE); - - label110 = gtk_label_new (_("Parameters")); - gtk_widget_show (label110); - gtk_box_pack_start (GTK_BOX (vbox32), label110, FALSE, FALSE, 0); - - scrolledwindow9 = gtk_scrolled_window_new (NULL, NULL); - gtk_widget_show (scrolledwindow9); - gtk_box_pack_start (GTK_BOX (vbox32), scrolledwindow9, TRUE, TRUE, 0); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow9), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow9), GTK_SHADOW_IN); - - params = gtk_tree_view_new (); - gtk_widget_show (params); - gtk_container_add (GTK_CONTAINER (scrolledwindow9), params); - dialog_action_area8 = GTK_DIALOG (dsppreset_editor)->action_area; gtk_widget_show (dialog_action_area8); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area8), GTK_BUTTONBOX_END); @@ -3953,6 +3931,9 @@ create_dsppreset_editor (void) g_signal_connect ((gpointer) remove, "clicked", G_CALLBACK (on_dsp_preset_remove_plugin_clicked), NULL); + g_signal_connect ((gpointer) configure, "clicked", + G_CALLBACK (on_dsp_preset_plugin_configure_clicked), + NULL); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (dsppreset_editor, dsppreset_editor, "dsppreset_editor"); @@ -3961,17 +3942,13 @@ create_dsppreset_editor (void) GLADE_HOOKUP_OBJECT (dsppreset_editor, hbox81, "hbox81"); GLADE_HOOKUP_OBJECT (dsppreset_editor, label111, "label111"); GLADE_HOOKUP_OBJECT (dsppreset_editor, title, "title"); - GLADE_HOOKUP_OBJECT (dsppreset_editor, hpaned2, "hpaned2"); GLADE_HOOKUP_OBJECT (dsppreset_editor, vbox29, "vbox29"); GLADE_HOOKUP_OBJECT (dsppreset_editor, hbox82, "hbox82"); GLADE_HOOKUP_OBJECT (dsppreset_editor, add, "add"); GLADE_HOOKUP_OBJECT (dsppreset_editor, remove, "remove"); + GLADE_HOOKUP_OBJECT (dsppreset_editor, configure, "configure"); GLADE_HOOKUP_OBJECT (dsppreset_editor, scrolledwindow7, "scrolledwindow7"); GLADE_HOOKUP_OBJECT (dsppreset_editor, plugins, "plugins"); - GLADE_HOOKUP_OBJECT (dsppreset_editor, vbox32, "vbox32"); - GLADE_HOOKUP_OBJECT (dsppreset_editor, label110, "label110"); - GLADE_HOOKUP_OBJECT (dsppreset_editor, scrolledwindow9, "scrolledwindow9"); - GLADE_HOOKUP_OBJECT (dsppreset_editor, params, "params"); GLADE_HOOKUP_OBJECT_NO_REF (dsppreset_editor, dialog_action_area8, "dialog_action_area8"); GLADE_HOOKUP_OBJECT (dsppreset_editor, cancelbutton6, "cancelbutton6"); GLADE_HOOKUP_OBJECT (dsppreset_editor, okbutton6, "okbutton6"); @@ -4073,21 +4050,21 @@ create_preset_list (void) gtk_box_pack_start (GTK_BOX (dialog_vbox11), vbox33, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox33), 12); - hbox94 = gtk_hbox_new (TRUE, 0); + hbox94 = gtk_hbox_new (TRUE, 8); gtk_widget_show (hbox94); gtk_box_pack_start (GTK_BOX (vbox33), hbox94, FALSE, TRUE, 0); add = gtk_button_new_from_stock ("gtk-add"); gtk_widget_show (add); - gtk_box_pack_start (GTK_BOX (hbox94), add, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox94), add, FALSE, TRUE, 0); remove = gtk_button_new_from_stock ("gtk-remove"); gtk_widget_show (remove); - gtk_box_pack_start (GTK_BOX (hbox94), remove, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox94), remove, FALSE, TRUE, 0); edit = gtk_button_new_from_stock ("gtk-edit"); gtk_widget_show (edit); - gtk_box_pack_start (GTK_BOX (hbox94), edit, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox94), edit, FALSE, TRUE, 0); scrolledwindow8 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow8); |