summaryrefslogtreecommitdiff
path: root/plugins/gtkui
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-03-20 13:58:08 +0100
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-03-20 13:58:08 +0100
commit074097b6c41d1dd6d01a4fa7e257bafb310f5692 (patch)
tree197c2739b3b4971fd27993ad2693cdc45a643d27 /plugins/gtkui
parenta723a88e649bba5b8187bee0a7156beca31a1c8c (diff)
supereq plugin prototype
Diffstat (limited to 'plugins/gtkui')
-rw-r--r--plugins/gtkui/Makefile.am3
-rw-r--r--plugins/gtkui/callbacks.c32
-rw-r--r--plugins/gtkui/callbacks.h8
-rw-r--r--plugins/gtkui/deadbeef.glade38
-rw-r--r--plugins/gtkui/eq.c113
-rw-r--r--plugins/gtkui/eq.h29
-rw-r--r--plugins/gtkui/gtkui.c18
-rw-r--r--plugins/gtkui/interface.c108
8 files changed, 294 insertions, 55 deletions
diff --git a/plugins/gtkui/Makefile.am b/plugins/gtkui/Makefile.am
index 7ae2e8a8..22e11995 100644
--- a/plugins/gtkui/Makefile.am
+++ b/plugins/gtkui/Makefile.am
@@ -16,7 +16,8 @@ gtkui_la_SOURCES = gtkui.c gtkui.h\
trkproperties.c trkproperties.h\
coverart.c coverart.h\
plcommon.c plcommon.h\
- prefwin.c
+ prefwin.c\
+ eq.c eq.h
gtkui_la_LDFLAGS = -module
diff --git a/plugins/gtkui/callbacks.c b/plugins/gtkui/callbacks.c
index 410e67e9..bd6c610a 100644
--- a/plugins/gtkui/callbacks.c
+++ b/plugins/gtkui/callbacks.c
@@ -41,6 +41,7 @@
#include "gtkui.h"
#include "parser.h"
#include "drawing.h"
+#include "eq.h"
#define trace(...) { fprintf (stderr, __VA_ARGS__); }
//#define trace(fmt,...)
@@ -988,3 +989,34 @@ on_mainwin_realize (GtkWidget *widget,
}
+
+void
+on_toggle_tabs (GtkMenuItem *menuitem,
+ gpointer user_data)
+{
+ GtkWidget *ts = lookup_widget (mainwin, "tabstrip");
+ if (!gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (menuitem))) {
+ deadbeef->conf_set_int ("gtkui.tabs.visible", 0);
+ gtk_widget_hide (ts);
+ }
+ else {
+ deadbeef->conf_set_int ("gtkui.tabs.visible", 1);
+ gtk_widget_show (ts);
+ }
+}
+
+
+void
+on_toggle_eq (GtkMenuItem *menuitem,
+ gpointer user_data)
+{
+ if (!gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (menuitem))) {
+ deadbeef->conf_set_int ("gtkui.eq.visible", 0);
+ eq_window_hide ();
+ }
+ else {
+ deadbeef->conf_set_int ("gtkui.eq.visible", 1);
+ eq_window_show ();
+ }
+}
+
diff --git a/plugins/gtkui/callbacks.h b/plugins/gtkui/callbacks.h
index 9abca77b..8010ed26 100644
--- a/plugins/gtkui/callbacks.h
+++ b/plugins/gtkui/callbacks.h
@@ -769,3 +769,11 @@ on_disable_playlist_theming_toggled (GtkToggleButton *togglebutton,
void
on_addhotkey_activate (GtkButton *button,
gpointer user_data);
+
+void
+on_toggle_tabs (GtkMenuItem *menuitem,
+ gpointer user_data);
+
+void
+on_toggle_eq (GtkMenuItem *menuitem,
+ gpointer user_data);
diff --git a/plugins/gtkui/deadbeef.glade b/plugins/gtkui/deadbeef.glade
index 3e9ca696..babfbdb3 100644
--- a/plugins/gtkui/deadbeef.glade
+++ b/plugins/gtkui/deadbeef.glade
@@ -58,7 +58,7 @@
<accelerator key="O" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image312">
+ <widget class="GtkImage" id="image344">
<property name="visible">True</property>
<property name="stock">gtk-open</property>
<property name="icon_size">1</property>
@@ -85,7 +85,7 @@
<signal name="activate" handler="on_add_files_activate" last_modification_time="Sat, 04 Jul 2009 13:04:01 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image313">
+ <widget class="GtkImage" id="image345">
<property name="visible">True</property>
<property name="stock">gtk-add</property>
<property name="icon_size">1</property>
@@ -106,7 +106,7 @@
<signal name="activate" handler="on_add_folders_activate" last_modification_time="Sun, 06 Sep 2009 17:51:40 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image314">
+ <widget class="GtkImage" id="image346">
<property name="visible">True</property>
<property name="stock">gtk-add</property>
<property name="icon_size">1</property>
@@ -127,7 +127,7 @@
<signal name="activate" handler="on_add_audio_cd_activate" last_modification_time="Sat, 10 Oct 2009 15:29:22 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image315">
+ <widget class="GtkImage" id="image347">
<property name="visible">True</property>
<property name="stock">gtk-add</property>
<property name="icon_size">1</property>
@@ -197,7 +197,7 @@
<accelerator key="Q" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
- <widget class="GtkImage" id="image316">
+ <widget class="GtkImage" id="image348">
<property name="visible">True</property>
<property name="stock">gtk-quit</property>
<property name="icon_size">1</property>
@@ -231,7 +231,7 @@
<signal name="activate" handler="on_clear1_activate" last_modification_time="Sun, 06 Sep 2009 18:30:03 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image317">
+ <widget class="GtkImage" id="image349">
<property name="visible">True</property>
<property name="stock">gtk-clear</property>
<property name="icon_size">1</property>
@@ -271,7 +271,7 @@
<signal name="activate" handler="on_remove1_activate" last_modification_time="Sun, 06 Sep 2009 18:30:03 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image318">
+ <widget class="GtkImage" id="image350">
<property name="visible">True</property>
<property name="stock">gtk-remove</property>
<property name="icon_size">1</property>
@@ -354,6 +354,26 @@
<signal name="activate" handler="on_toggle_column_headers_activate" last_modification_time="Sun, 13 Dec 2009 17:24:47 GMT"/>
</widget>
</child>
+
+ <child>
+ <widget class="GtkCheckMenuItem" id="view_tabs">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Tabs</property>
+ <property name="use_underline">True</property>
+ <property name="active">False</property>
+ <signal name="activate" handler="on_toggle_tabs" last_modification_time="Sat, 20 Mar 2010 12:28:50 GMT"/>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkCheckMenuItem" id="view_eq">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Equalizer</property>
+ <property name="use_underline">True</property>
+ <property name="active">False</property>
+ <signal name="activate" handler="on_toggle_eq" last_modification_time="Sat, 20 Mar 2010 12:28:50 GMT"/>
+ </widget>
+ </child>
</widget>
</child>
</widget>
@@ -510,7 +530,7 @@
<signal name="activate" handler="on_help1_activate" last_modification_time="Tue, 08 Sep 2009 17:32:06 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image319">
+ <widget class="GtkImage" id="image351">
<property name="visible">True</property>
<property name="stock">gtk-help</property>
<property name="icon_size">1</property>
@@ -570,7 +590,7 @@
<signal name="activate" handler="on_about1_activate" last_modification_time="Sat, 04 Jul 2009 12:57:58 GMT"/>
<child internal-child="image">
- <widget class="GtkImage" id="image320">
+ <widget class="GtkImage" id="image352">
<property name="visible">True</property>
<property name="stock">gtk-about</property>
<property name="icon_size">1</property>
diff --git a/plugins/gtkui/eq.c b/plugins/gtkui/eq.c
new file mode 100644
index 00000000..48b66f5c
--- /dev/null
+++ b/plugins/gtkui/eq.c
@@ -0,0 +1,113 @@
+/*
+ DeaDBeeF - ultimate music player for GNU/Linux systems with X11
+ Copyright (C) 2009-2010 Alexey Yakovenko <waker@users.sourceforge.net>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version 2
+ of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+*/
+#include <gtk/gtk.h>
+#include <string.h>
+#include <math.h>
+#include "gtkui.h"
+#include "support.h"
+#include "../supereq/supereq.h"
+
+static GtkWidget *eqwin;
+
+float
+db_to_amp (float dB) {
+ const float ln10=2.3025850929940002f;
+ return exp(ln10*dB/20.f);
+}
+
+float
+amp_to_db (float amp) {
+ return 20*log10 (amp);
+}
+
+void
+eq_value_changed (GtkRange *range, gpointer user_data) {
+ int band = (intptr_t)user_data;
+ DB_supereq_dsp_t *eq = NULL;
+ DB_dsp_t **plugs = deadbeef->plug_get_dsp_list ();
+ // find eq plugin
+ for (int i = 0; plugs[i]; i++) {
+ if (plugs[i]->plugin.id && !strcmp (plugs[i]->plugin.id, "supereq")) {
+ eq = (DB_supereq_dsp_t *)plugs[i];
+ float val = gtk_range_get_value (range);
+ val = db_to_amp (val);
+ eq->set_band (band, val);
+ break;
+ }
+ }
+}
+
+void
+eq_init_widgets (GtkWidget *container) {
+ int i;
+ GtkWidget *hbox = gtk_hbox_new (FALSE, 0);
+ gtk_widget_show (hbox);
+ gtk_container_add (GTK_CONTAINER (container), hbox);
+
+ DB_supereq_dsp_t *eq = NULL;
+ DB_dsp_t **plugs = deadbeef->plug_get_dsp_list ();
+ // find eq plugin
+ for (i = 0; plugs[i]; i++) {
+ if (plugs[i]->plugin.id && !strcmp (plugs[i]->plugin.id, "supereq")) {
+ eq = (DB_supereq_dsp_t *)plugs[i];
+ break;
+ }
+ }
+
+ for (i = 0; i < 18; i++) {
+ GtkWidget *scale = gtk_vscale_new_with_range (-20, 20, 1);
+ gtk_scale_set_value_pos (GTK_SCALE (scale), GTK_POS_BOTTOM);
+ gtk_scale_set_draw_value (GTK_SCALE (scale), TRUE);
+ gtk_range_set_inverted (GTK_RANGE (scale), TRUE);
+ gtk_range_set_update_policy (GTK_RANGE (scale), GTK_UPDATE_DELAYED);
+ if (eq) {
+ float val = eq->get_band (i);
+ val = amp_to_db (val);
+ if (val < -20) {
+ val = -20;
+ }
+ if (val > 20) {
+ val = 20;
+ }
+ gtk_range_set_value (GTK_RANGE (scale), val);
+ }
+ g_signal_connect (scale, "value_changed", G_CALLBACK (eq_value_changed), (gpointer)(intptr_t)i);
+ gtk_widget_show (scale);
+ gtk_box_pack_start (GTK_BOX (hbox), scale, FALSE, FALSE, 0);
+ }
+}
+
+void
+eq_window_show (void) {
+ if (!eqwin) {
+ eqwin = gtk_hbox_new (FALSE, 0);
+ gtk_widget_set_size_request (eqwin, -1, 200);
+ eq_init_widgets (eqwin);
+ GtkWidget *cont = lookup_widget (mainwin, "vbox1");
+ gtk_box_pack_start (GTK_BOX (cont), eqwin, FALSE, FALSE, 0);
+ }
+ gtk_widget_show (eqwin);
+}
+
+void
+eq_window_hide (void) {
+ if (eqwin) {
+ gtk_widget_hide (eqwin);
+ }
+}
diff --git a/plugins/gtkui/eq.h b/plugins/gtkui/eq.h
new file mode 100644
index 00000000..1a3f02e5
--- /dev/null
+++ b/plugins/gtkui/eq.h
@@ -0,0 +1,29 @@
+/*
+ DeaDBeeF - ultimate music player for GNU/Linux systems with X11
+ Copyright (C) 2009-2010 Alexey Yakovenko <waker@users.sourceforge.net>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version 2
+ of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+*/
+
+#ifndef __EQ_H
+#define __EQ_H
+
+void
+eq_window_show (void);
+
+void
+eq_window_hide (void);
+
+#endif
diff --git a/plugins/gtkui/gtkui.c b/plugins/gtkui/gtkui.c
index 536db8ab..7c34c967 100644
--- a/plugins/gtkui/gtkui.c
+++ b/plugins/gtkui/gtkui.c
@@ -43,6 +43,7 @@
#include "coverart.h"
#include "plcommon.h"
#include "ddbtabstrip.h"
+#include "eq.h"
//#define trace(...) { fprintf(stderr, __VA_ARGS__); }
#define trace(fmt,...)
@@ -727,8 +728,11 @@ gtkui_thread (void *ctx) {
// visibility of statusbar and headers
GtkWidget *header_mi = lookup_widget (mainwin, "view_headers");
GtkWidget *sb_mi = lookup_widget (mainwin, "view_status_bar");
+ GtkWidget *ts_mi = lookup_widget (mainwin, "view_tabs");
+ GtkWidget *eq_mi = lookup_widget (mainwin, "view_eq");
GtkWidget *header = lookup_widget (mainwin, "header");
GtkWidget *sb = lookup_widget (mainwin, "statusbar");
+ GtkWidget *ts = lookup_widget (mainwin, "tabstrip");
if (deadbeef->conf_get_int ("gtkui.headers.visible", 1)) {
gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (header_mi), TRUE);
}
@@ -743,6 +747,20 @@ gtkui_thread (void *ctx) {
gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (sb_mi), FALSE);
gtk_widget_hide (sb);
}
+ if (deadbeef->conf_get_int ("gtkui.tabs.visible", 1)) {
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (ts_mi), TRUE);
+ }
+ else {
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (ts_mi), FALSE);
+ gtk_widget_hide (ts);
+ }
+ if (deadbeef->conf_get_int ("gtkui.eq.visible", 0)) {
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (eq_mi), TRUE);
+ eq_window_show ();
+ }
+ else {
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (eq_mi), FALSE);
+ }
searchwin = create_searchwin ();
gtk_window_set_transient_for (GTK_WINDOW (searchwin), GTK_WINDOW (mainwin));
diff --git a/plugins/gtkui/interface.c b/plugins/gtkui/interface.c
index 2f9534bf..1662aba8 100644
--- a/plugins/gtkui/interface.c
+++ b/plugins/gtkui/interface.c
@@ -35,14 +35,14 @@ create_mainwin (void)
GtkWidget *menuitem1;
GtkWidget *menuitem1_menu;
GtkWidget *open;
- GtkWidget *image312;
+ GtkWidget *image344;
GtkWidget *separator2;
GtkWidget *add_files;
- GtkWidget *image313;
+ GtkWidget *image345;
GtkWidget *add_folders;
- GtkWidget *image314;
+ GtkWidget *image346;
GtkWidget *add_audio_cd;
- GtkWidget *image315;
+ GtkWidget *image347;
GtkWidget *add_location1;
GtkWidget *separatormenuitem1;
GtkWidget *playlist_load;
@@ -50,16 +50,16 @@ create_mainwin (void)
GtkWidget *playlist_save_as;
GtkWidget *separator8;
GtkWidget *quit;
- GtkWidget *image316;
+ GtkWidget *image348;
GtkWidget *edit1;
GtkWidget *edit1_menu;
GtkWidget *clear1;
- GtkWidget *image317;
+ GtkWidget *image349;
GtkWidget *select_all1;
GtkWidget *selection1;
GtkWidget *selection1_menu;
GtkWidget *remove1;
- GtkWidget *image318;
+ GtkWidget *image350;
GtkWidget *crop1;
GtkWidget *find1;
GtkWidget *separator5;
@@ -68,6 +68,8 @@ create_mainwin (void)
GtkWidget *view1_menu;
GtkWidget *view_status_bar;
GtkWidget *view_headers;
+ GtkWidget *view_tabs;
+ GtkWidget *view_eq;
GtkWidget *playback1;
GtkWidget *playback1_menu;
GtkWidget *order1;
@@ -88,14 +90,14 @@ create_mainwin (void)
GtkWidget *menuitem4;
GtkWidget *menuitem4_menu;
GtkWidget *help1;
- GtkWidget *image319;
+ GtkWidget *image351;
GtkWidget *changelog1;
GtkWidget *separator10;
GtkWidget *gpl1;
GtkWidget *lgpl1;
GtkWidget *separator9;
GtkWidget *about1;
- GtkWidget *image320;
+ GtkWidget *image352;
GtkWidget *hbox2;
GtkWidget *hbox3;
GtkWidget *stopbtn;
@@ -145,9 +147,9 @@ create_mainwin (void)
GDK_O, (GdkModifierType) GDK_CONTROL_MASK,
GTK_ACCEL_VISIBLE);
- image312 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image312);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (open), image312);
+ image344 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image344);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (open), image344);
separator2 = gtk_separator_menu_item_new ();
gtk_widget_show (separator2);
@@ -158,25 +160,25 @@ create_mainwin (void)
gtk_widget_show (add_files);
gtk_container_add (GTK_CONTAINER (menuitem1_menu), add_files);
- image313 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image313);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_files), image313);
+ image345 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image345);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_files), image345);
add_folders = gtk_image_menu_item_new_with_mnemonic ("Add folder(s)");
gtk_widget_show (add_folders);
gtk_container_add (GTK_CONTAINER (menuitem1_menu), add_folders);
- image314 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image314);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_folders), image314);
+ image346 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image346);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_folders), image346);
add_audio_cd = gtk_image_menu_item_new_with_mnemonic ("Add Audio CD");
gtk_widget_show (add_audio_cd);
gtk_container_add (GTK_CONTAINER (menuitem1_menu), add_audio_cd);
- image315 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image315);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_audio_cd), image315);
+ image347 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image347);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_audio_cd), image347);
add_location1 = gtk_menu_item_new_with_mnemonic ("Add location");
gtk_widget_show (add_location1);
@@ -211,9 +213,9 @@ create_mainwin (void)
GDK_Q, (GdkModifierType) GDK_CONTROL_MASK,
GTK_ACCEL_VISIBLE);
- image316 = gtk_image_new_from_stock ("gtk-quit", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image316);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (quit), image316);
+ image348 = gtk_image_new_from_stock ("gtk-quit", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image348);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (quit), image348);
edit1 = gtk_menu_item_new_with_mnemonic ("_Edit");
gtk_widget_show (edit1);
@@ -226,9 +228,9 @@ create_mainwin (void)
gtk_widget_show (clear1);
gtk_container_add (GTK_CONTAINER (edit1_menu), clear1);
- image317 = gtk_image_new_from_stock ("gtk-clear", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image317);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (clear1), image317);
+ image349 = gtk_image_new_from_stock ("gtk-clear", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image349);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (clear1), image349);
select_all1 = gtk_menu_item_new_with_mnemonic ("Select all");
gtk_widget_show (select_all1);
@@ -248,9 +250,9 @@ create_mainwin (void)
gtk_widget_show (remove1);
gtk_container_add (GTK_CONTAINER (selection1_menu), remove1);
- image318 = gtk_image_new_from_stock ("gtk-remove", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image318);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (remove1), image318);
+ image350 = gtk_image_new_from_stock ("gtk-remove", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image350);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (remove1), image350);
crop1 = gtk_menu_item_new_with_mnemonic ("Crop");
gtk_widget_show (crop1);
@@ -287,6 +289,14 @@ create_mainwin (void)
gtk_widget_show (view_headers);
gtk_container_add (GTK_CONTAINER (view1_menu), view_headers);
+ view_tabs = gtk_check_menu_item_new_with_mnemonic ("Tabs");
+ gtk_widget_show (view_tabs);
+ gtk_container_add (GTK_CONTAINER (view1_menu), view_tabs);
+
+ view_eq = gtk_check_menu_item_new_with_mnemonic ("Equalizer");
+ gtk_widget_show (view_eq);
+ gtk_container_add (GTK_CONTAINER (view1_menu), view_eq);
+
playback1 = gtk_menu_item_new_with_mnemonic ("_Playback");
gtk_widget_show (playback1);
gtk_container_add (GTK_CONTAINER (menubar1), playback1);
@@ -371,9 +381,9 @@ create_mainwin (void)
gtk_widget_show (help1);
gtk_container_add (GTK_CONTAINER (menuitem4_menu), help1);
- image319 = gtk_image_new_from_stock ("gtk-help", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image319);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (help1), image319);
+ image351 = gtk_image_new_from_stock ("gtk-help", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image351);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (help1), image351);
changelog1 = gtk_menu_item_new_with_mnemonic ("_ChangeLog");
gtk_widget_show (changelog1);
@@ -401,9 +411,9 @@ create_mainwin (void)
gtk_widget_show (about1);
gtk_container_add (GTK_CONTAINER (menuitem4_menu), about1);
- image320 = gtk_image_new_from_stock ("gtk-about", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image320);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (about1), image320);
+ image352 = gtk_image_new_from_stock ("gtk-about", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image352);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (about1), image352);
hbox2 = gtk_hbox_new (FALSE, 0);
gtk_widget_show (hbox2);
@@ -585,6 +595,12 @@ create_mainwin (void)
g_signal_connect ((gpointer) view_headers, "activate",
G_CALLBACK (on_toggle_column_headers_activate),
NULL);
+ g_signal_connect ((gpointer) view_tabs, "activate",
+ G_CALLBACK (on_toggle_tabs),
+ NULL);
+ g_signal_connect ((gpointer) view_eq, "activate",
+ G_CALLBACK (on_toggle_eq),
+ NULL);
g_signal_connect ((gpointer) order_linear, "activate",
G_CALLBACK (on_order_linear_activate),
NULL);
@@ -665,14 +681,14 @@ create_mainwin (void)
GLADE_HOOKUP_OBJECT (mainwin, menuitem1, "menuitem1");
GLADE_HOOKUP_OBJECT (mainwin, menuitem1_menu, "menuitem1_menu");
GLADE_HOOKUP_OBJECT (mainwin, open, "open");
- GLADE_HOOKUP_OBJECT (mainwin, image312, "image312");
+ GLADE_HOOKUP_OBJECT (mainwin, image344, "image344");
GLADE_HOOKUP_OBJECT (mainwin, separator2, "separator2");
GLADE_HOOKUP_OBJECT (mainwin, add_files, "add_files");
- GLADE_HOOKUP_OBJECT (mainwin, image313, "image313");
+ GLADE_HOOKUP_OBJECT (mainwin, image345, "image345");
GLADE_HOOKUP_OBJECT (mainwin, add_folders, "add_folders");
- GLADE_HOOKUP_OBJECT (mainwin, image314, "image314");
+ GLADE_HOOKUP_OBJECT (mainwin, image346, "image346");
GLADE_HOOKUP_OBJECT (mainwin, add_audio_cd, "add_audio_cd");
- GLADE_HOOKUP_OBJECT (mainwin, image315, "image315");
+ GLADE_HOOKUP_OBJECT (mainwin, image347, "image347");
GLADE_HOOKUP_OBJECT (mainwin, add_location1, "add_location1");
GLADE_HOOKUP_OBJECT (mainwin, separatormenuitem1, "separatormenuitem1");
GLADE_HOOKUP_OBJECT (mainwin, playlist_load, "playlist_load");
@@ -680,16 +696,16 @@ create_mainwin (void)
GLADE_HOOKUP_OBJECT (mainwin, playlist_save_as, "playlist_save_as");
GLADE_HOOKUP_OBJECT (mainwin, separator8, "separator8");
GLADE_HOOKUP_OBJECT (mainwin, quit, "quit");
- GLADE_HOOKUP_OBJECT (mainwin, image316, "image316");
+ GLADE_HOOKUP_OBJECT (mainwin, image348, "image348");
GLADE_HOOKUP_OBJECT (mainwin, edit1, "edit1");
GLADE_HOOKUP_OBJECT (mainwin, edit1_menu, "edit1_menu");
GLADE_HOOKUP_OBJECT (mainwin, clear1, "clear1");
- GLADE_HOOKUP_OBJECT (mainwin, image317, "image317");
+ GLADE_HOOKUP_OBJECT (mainwin, image349, "image349");
GLADE_HOOKUP_OBJECT (mainwin, select_all1, "select_all1");
GLADE_HOOKUP_OBJECT (mainwin, selection1, "selection1");
GLADE_HOOKUP_OBJECT (mainwin, selection1_menu, "selection1_menu");
GLADE_HOOKUP_OBJECT (mainwin, remove1, "remove1");
- GLADE_HOOKUP_OBJECT (mainwin, image318, "image318");
+ GLADE_HOOKUP_OBJECT (mainwin, image350, "image350");
GLADE_HOOKUP_OBJECT (mainwin, crop1, "crop1");
GLADE_HOOKUP_OBJECT (mainwin, find1, "find1");
GLADE_HOOKUP_OBJECT (mainwin, separator5, "separator5");
@@ -698,6 +714,8 @@ create_mainwin (void)
GLADE_HOOKUP_OBJECT (mainwin, view1_menu, "view1_menu");
GLADE_HOOKUP_OBJECT (mainwin, view_status_bar, "view_status_bar");
GLADE_HOOKUP_OBJECT (mainwin, view_headers, "view_headers");
+ GLADE_HOOKUP_OBJECT (mainwin, view_tabs, "view_tabs");
+ GLADE_HOOKUP_OBJECT (mainwin, view_eq, "view_eq");
GLADE_HOOKUP_OBJECT (mainwin, playback1, "playback1");
GLADE_HOOKUP_OBJECT (mainwin, playback1_menu, "playback1_menu");
GLADE_HOOKUP_OBJECT (mainwin, order1, "order1");
@@ -716,14 +734,14 @@ create_mainwin (void)
GLADE_HOOKUP_OBJECT (mainwin, menuitem4, "menuitem4");
GLADE_HOOKUP_OBJECT (mainwin, menuitem4_menu, "menuitem4_menu");
GLADE_HOOKUP_OBJECT (mainwin, help1, "help1");
- GLADE_HOOKUP_OBJECT (mainwin, image319, "image319");
+ GLADE_HOOKUP_OBJECT (mainwin, image351, "image351");
GLADE_HOOKUP_OBJECT (mainwin, changelog1, "changelog1");
GLADE_HOOKUP_OBJECT (mainwin, separator10, "separator10");
GLADE_HOOKUP_OBJECT (mainwin, gpl1, "gpl1");
GLADE_HOOKUP_OBJECT (mainwin, lgpl1, "lgpl1");
GLADE_HOOKUP_OBJECT (mainwin, separator9, "separator9");
GLADE_HOOKUP_OBJECT (mainwin, about1, "about1");
- GLADE_HOOKUP_OBJECT (mainwin, image320, "image320");
+ GLADE_HOOKUP_OBJECT (mainwin, image352, "image352");
GLADE_HOOKUP_OBJECT (mainwin, hbox2, "hbox2");
GLADE_HOOKUP_OBJECT (mainwin, hbox3, "hbox3");
GLADE_HOOKUP_OBJECT (mainwin, stopbtn, "stopbtn");