[PATCH] Keyboard volume amount

"Kazantsev Anatoly" <[email protected]> Sun, 24 Apr 2005 04:34:31 +0400
Newsgroups gmane.comp.multimedia.xmms.devel
Message-ID <[email protected]>
Hi!

Here my new patch - keyboard volume amount.

_______________________________________________
xmms-devel mailing list
[email protected]
http://lists.xmms.org/mailman/listinfo/xmms-devel
keyboard_volume_amount-20050309.patch (text/x-patch, 4.9 KB)
diff -urN xmms-1.2.10-20050209cvs/xmms/main.c xmms-1.2.10-20050209cvs.keyboard-volume-amount/xmms/main.c
--- xmms-1.2.10-20050209cvs/xmms/main.c	2005-03-09 15:27:36.000000000 +0000
+++ xmms-1.2.10-20050209cvs.keyboard-volume-amount/xmms/main.c	2005-03-07 11:49:52.000000000 +0000
@@ -379,6 +379,8 @@
 	cfg.mouse_change = 8;
 	
 	cfg.gentitle_format = NULL;
+	
+	cfg.keyboard_volume_amount = 2;
 
 	filename = g_strconcat(g_get_home_dir(), "/.xmms/config", NULL);
 	cfgfile = xmms_cfg_open_file(filename);
@@ -478,6 +480,7 @@
 			}
 		}
 		xmms_cfg_read_string(cfgfile, "xmms", "generic_title_format", &cfg.gentitle_format);
+		xmms_cfg_read_int(cfgfile, "xmms", "keyboard_volume_amount", &cfg.keyboard_volume_amount);
 		
 		xmms_cfg_free(cfgfile);
 	}
@@ -674,6 +677,7 @@
 		g_free(str);
 	}
 	xmms_cfg_write_string(cfgfile, "xmms", "generic_title_format", cfg.gentitle_format);
+	xmms_cfg_write_int(cfgfile, "xmms", "keyboard_volume_amount", cfg.keyboard_volume_amount);
 	
 	xmms_cfg_write_file(cfgfile, filename);
 	xmms_cfg_free(cfgfile);
@@ -1404,11 +1408,11 @@
 	{
 	case GDK_Up:
 	case GDK_KP_Up:
-		mainwin_set_volume_diff(2);
+		mainwin_set_volume_diff(cfg.keyboard_volume_amount);
 		break;
 	case GDK_Down:
 	case GDK_KP_Down:
-		mainwin_set_volume_diff(-2);
+		mainwin_set_volume_diff(cfg.keyboard_volume_amount * -1);
 		break;
 	case GDK_Left:
 	case GDK_KP_Left:
diff -urN xmms-1.2.10-20050209cvs/xmms/main.h xmms-1.2.10-20050209cvs.keyboard-volume-amount/xmms/main.h
--- xmms-1.2.10-20050209cvs/xmms/main.h	2005-03-09 15:27:33.000000000 +0000
+++ xmms-1.2.10-20050209cvs.keyboard-volume-amount/xmms/main.h	2005-03-07 11:28:24.000000000 +0000
@@ -60,6 +60,7 @@
 	gint mouse_change;
 	gboolean playlist_transparent;
         gchar *gentitle_format;
+	gint keyboard_volume_amount;
 }
 Config;
 
diff -urN xmms-1.2.10-20050209cvs/xmms/prefswin.c xmms-1.2.10-20050209cvs.keyboard-volume-amount/xmms/prefswin.c
--- xmms-1.2.10-20050209cvs/xmms/prefswin.c	2005-03-09 15:27:33.000000000 +0000
+++ xmms-1.2.10-20050209cvs.keyboard-volume-amount/xmms/prefswin.c	2005-03-09 15:08:03.000000000 +0000
@@ -37,6 +37,7 @@
 static GtkWidget *prefswin_options_font_entry, *prefswin_options_font_browse;
 static GtkWidget *prefswin_options_fontset, *prefswin_mainwin_font_entry;
 static GtkWidget *prefswin_mainwin_xfont, *prefswin_options_mouse_spin;
+static GtkWidget *prefswin_options_keyboard_volume_spin;
 static gboolean updating_ilist = FALSE, updating_glist = FALSE, updating_vlist = FALSE, updating_elist = FALSE;
 
 static GtkWidget *prefswin_title_entry;
@@ -350,6 +351,7 @@
 	cfg.gentitle_format = g_strdup(gtk_entry_get_text(GTK_ENTRY(prefswin_title_entry)));
 	cfg.pause_between_songs_time = CLAMP(atoi(gtk_entry_get_text(GTK_ENTRY(prefswin_options_pbs_entry))), 0, 1000);
 	cfg.mouse_change = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(prefswin_options_mouse_spin));
+	cfg.keyboard_volume_amount = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(prefswin_options_keyboard_volume_spin));
 
 	set_current_output_plugin(selected_oplugin);
 
@@ -711,6 +713,8 @@
 	GtkWidget *options_font_hbox, *options_font_vbox;
 	GtkWidget *options_mouse_box, *options_mouse_label;
 	GtkObject *options_mouse_adj;
+	GtkWidget *options_keyboard_volume_box, *options_keyboard_volume_label;
+	GtkObject *options_keyboard_volume_adj;
 	GtkWidget *prefswin_title_desc, *prefswin_title_label, *prefswin_moreinfo_label, *opt;
 
 	char *titles[1];
@@ -1044,6 +1048,15 @@
 	gtk_box_pack_start(GTK_BOX(options_mouse_box), prefswin_options_mouse_spin, FALSE, FALSE, 0);
 	gtk_table_attach_defaults(GTK_TABLE(options_table), options_mouse_box, 0, 1, 8, 9);
 	
+	options_keyboard_volume_box = gtk_hbox_new(FALSE, 5);
+	options_keyboard_volume_label = gtk_label_new(_("Keyboard adjusts Volume by (%)"));
+	gtk_box_pack_start(GTK_BOX(options_keyboard_volume_box), options_keyboard_volume_label, FALSE, FALSE, 0);
+	options_keyboard_volume_adj = gtk_adjustment_new(cfg.keyboard_volume_amount, 1, 100, 1, 1, 1);
+	prefswin_options_keyboard_volume_spin = gtk_spin_button_new(GTK_ADJUSTMENT(options_keyboard_volume_adj), 1, 0);
+	gtk_widget_set_usize(prefswin_options_keyboard_volume_spin, 45, -1);
+	gtk_box_pack_start(GTK_BOX(options_keyboard_volume_box), prefswin_options_keyboard_volume_spin, FALSE, FALSE, 0);
+	gtk_table_attach_defaults(GTK_TABLE(options_table), options_keyboard_volume_box, 0, 1, 9, 10);
+	
 	opt = prefswin_option_new_with_label_to_table(&cfg.use_pl_metadata,
 						      _("Use meta-data in playlists"),
 						      GTK_TABLE(options_table), 1, 8);
@@ -1391,6 +1404,7 @@
 	sprintf(temp, "%u", cfg.pause_between_songs_time);
 	gtk_entry_set_text(GTK_ENTRY(prefswin_options_pbs_entry), temp);
 	gtk_spin_button_set_value(GTK_SPIN_BUTTON(prefswin_options_mouse_spin), cfg.mouse_change);
+	gtk_spin_button_set_value(GTK_SPIN_BUTTON(prefswin_options_keyboard_volume_spin), cfg.keyboard_volume_amount);
 
  	gtk_widget_show_all(prefswin);
 	gtk_widget_grab_default(prefswin_ok);