Only in xmms-1.2.10/Effect: Makefile
Only in xmms-1.2.10/Effect/echo_plugin: .deps
Only in xmms-1.2.10/Effect/echo_plugin: Makefile
Only in xmms-1.2.10/Effect/stereo_plugin: .deps
Only in xmms-1.2.10/Effect/stereo_plugin: Makefile
Only in xmms-1.2.10/Effect/voice: .deps
Only in xmms-1.2.10/Effect/voice: Makefile
Only in xmms-1.2.10/General: Makefile
Only in xmms-1.2.10/General/ir: .deps
Only in xmms-1.2.10/General/ir: Makefile
Only in xmms-1.2.10/General/joystick: .deps
Only in xmms-1.2.10/General/joystick: Makefile
Only in xmms-1.2.10/General/song_change: .deps
Only in xmms-1.2.10/General/song_change: Makefile
Only in xmms-1.2.10/Input: Makefile
Only in xmms-1.2.10/Input/cdaudio: .deps
Only in xmms-1.2.10/Input/cdaudio: Makefile
Only in xmms-1.2.10/Input/mikmod: .deps
Only in xmms-1.2.10/Input/mikmod: Makefile
Only in xmms-1.2.10/Input/mpg123: .deps
Only in xmms-1.2.10/Input/mpg123: Makefile
Only in xmms-1.2.10/Input/tonegen: .deps
Only in xmms-1.2.10/Input/tonegen: Makefile
Only in xmms-1.2.10/Input/vorbis: .deps
Only in xmms-1.2.10/Input/vorbis: Makefile
Only in xmms-1.2.10/Input/wav: .deps
Only in xmms-1.2.10/Input/wav: Makefile
Only in xmms-1.2.10: Makefile
Only in xmms-1.2.10/Output: Makefile
Only in xmms-1.2.10/Output/OSS: .deps
Only in xmms-1.2.10/Output/OSS: Makefile
Only in xmms-1.2.10/Output/alsa: .deps
Only in xmms-1.2.10/Output/alsa: Makefile
Only in xmms-1.2.10/Output/disk_writer: .deps
Only in xmms-1.2.10/Output/disk_writer: .libs
Only in xmms-1.2.10/Output/disk_writer: Makefile
diff -ur xmms-1.2.10-org/Output/disk_writer/disk_writer.c xmms-1.2.10/Output/disk_writer/disk_writer.c
--- xmms-1.2.10-org/Output/disk_writer/disk_writer.c	2005-03-11 00:09:04.000000000 +0200
+++ xmms-1.2.10/Output/disk_writer/disk_writer.c	2005-03-11 00:16:28.000000000 +0200
@@ -3,6 +3,9 @@
  *                           Thomas Nilsson and 4Front Technologies
  *  Copyright (C) 1999-2004  Haavard Kvaalen
  *
+ *  File name suffix option added by Heikki Orsila 2003
+ *  <heikki.orsila@iki.fi> (no copyrights claimed)
+ * 
  *  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
@@ -31,6 +34,14 @@
 #include "libxmms/configfile.h"
 #include "libxmms/util.h"
 
+
+struct format_info { 
+	AFormat format;
+	int frequency;
+	int channels;
+};
+struct format_info input;
+
 struct wavhead
 {
 	guint32 main_chunk;
@@ -53,6 +64,9 @@
 static GtkWidget *configure_separator;
 static GtkWidget *configure_bbox, *configure_ok, *configure_cancel;
 
+static GtkWidget *use_suffix_toggle = NULL;
+static gboolean use_suffix = FALSE;
+
 static gchar *file_path = NULL;
 static FILE *output_file = NULL;
 static struct wavhead header;
@@ -107,6 +121,7 @@
 	if (cfgfile)
 	{
 		xmms_cfg_read_string(cfgfile, "disk_writer", "file_path", &file_path);
+		xmms_cfg_read_boolean(cfgfile, "disk_writer", "use_suffix", &use_suffix);
 		xmms_cfg_free(cfgfile);
 	}
 
@@ -133,8 +148,11 @@
 
 	pos = xmms_remote_get_playlist_pos(ctrlsocket_get_session_id());
 	title = xmms_remote_get_playlist_file(ctrlsocket_get_session_id(), pos);
-	if (title != NULL && (temp = strrchr(title, '.')) != NULL)
-		*temp = '\0';
+	if (!use_suffix) {
+		if (title != NULL && (temp = strrchr(title, '.')) != NULL) {
+			*temp = '\0';
+		}
+	}
 	if (title == NULL || strlen(g_basename(title)) == 0)
 	{
 		g_free(title);
@@ -177,6 +195,10 @@
 	header.data_length = GUINT32_TO_LE(0);
 	fwrite(&header, sizeof (struct wavhead), 1, output_file);
 
+	input.format = fmt;
+	input.frequency = rate;
+	input.channels = nch;
+
 	return 1;
 }
 
@@ -234,6 +256,26 @@
 
 static void disk_write(void *ptr, gint length)
 {
+	AFormat new_format;
+	int new_frequency, new_channels;
+	EffectPlugin *ep;
+
+	new_format = input.format;
+	new_frequency = input.frequency;
+	new_channels = input.channels;
+
+	ep = get_current_effect_plugin();
+	if ( effects_enabled() && ep && ep->query_format ) { 
+		ep->query_format(&new_format,&new_frequency,&new_channels);
+	}
+
+	if ( effects_enabled() && ep && ep->mod_samples ) { 
+		length = ep->mod_samples(&ptr,length,
+					input.format,
+					input.frequency,
+					input.channels );
+	}
+
 	if (afmt == FMT_S8 || afmt == FMT_S16_BE ||
 	    afmt == FMT_U16_LE || afmt == FMT_U16_BE || afmt == FMT_U16_NE)
 		convert_buffer(ptr, length);
@@ -314,11 +356,15 @@
 		g_free(file_path);
 	file_path = g_strdup(gtk_entry_get_text(GTK_ENTRY(path_entry)));
 
+	use_suffix =
+		gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(use_suffix_toggle));
+
 	cfgfile = xmms_cfg_open_default_file();
 	if (!cfgfile)
 		cfgfile = xmms_cfg_new();
 
 	xmms_cfg_write_string(cfgfile, "disk_writer", "file_path", file_path);
+	xmms_cfg_write_boolean(cfgfile, "disk_writer", "use_suffix", use_suffix);
 	xmms_cfg_write_default_file(cfgfile);
 	xmms_cfg_free(cfgfile);
 
@@ -335,6 +381,8 @@
 
 static void disk_configure(void)
 {
+	GtkTooltips *use_suffix_tooltips;
+
 	if (!configure_win)
 	{
 		configure_win = gtk_window_new(GTK_WINDOW_DIALOG);
@@ -370,6 +418,14 @@
 
 		gtk_widget_show(path_hbox);
 
+		use_suffix_toggle = gtk_check_button_new_with_label(_("Don't strip file name extension"));
+		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(use_suffix_toggle), use_suffix);
+		gtk_box_pack_start(GTK_BOX(configure_vbox), use_suffix_toggle, FALSE, FALSE, 0);
+		use_suffix_tooltips = gtk_tooltips_new();
+		gtk_tooltips_set_tip(use_suffix_tooltips, use_suffix_toggle, "If enabled, the extension from the original filename will not be stripped before adding the .wav extension to the end.", NULL);
+		gtk_tooltips_enable(use_suffix_tooltips);
+		gtk_widget_show(use_suffix_toggle);
+
 		configure_separator = gtk_hseparator_new();
 		gtk_box_pack_start(GTK_BOX(configure_vbox), configure_separator, FALSE, FALSE, 0);
 		gtk_widget_show(configure_separator);
Only in xmms-1.2.10/Output/disk_writer: disk_writer.c-both
Only in xmms-1.2.10/Output/disk_writer: disk_writer.c-gen
Only in xmms-1.2.10/Output/disk_writer: disk_writer.c-org
Only in xmms-1.2.10/Output/disk_writer: disk_writer.c.orig
Only in xmms-1.2.10/Output/disk_writer: disk_writer.lo
Only in xmms-1.2.10/Output/disk_writer: disk_writer.o
Only in xmms-1.2.10/Output/disk_writer: libdisk_writer.la
Only in xmms-1.2.10/Output/disk_writer: xmms-1.2.10-disk_writer-patch.diff
Only in xmms-1.2.10/Output/esd: .deps
Only in xmms-1.2.10/Output/esd: Makefile
Only in xmms-1.2.10/Output/solaris: .deps
Only in xmms-1.2.10/Output/solaris: Makefile
Only in xmms-1.2.10/Output/sun: .deps
Only in xmms-1.2.10/Output/sun: Makefile
Only in xmms-1.2.10/Visualization: Makefile
Only in xmms-1.2.10/Visualization/blur_scope: .deps
Only in xmms-1.2.10/Visualization/blur_scope: Makefile
Only in xmms-1.2.10/Visualization/opengl_spectrum: .deps
Only in xmms-1.2.10/Visualization/opengl_spectrum: Makefile
Only in xmms-1.2.10/Visualization/sanalyzer: .deps
Only in xmms-1.2.10/Visualization/sanalyzer: Makefile
Only in xmms-1.2.10: config.h
Only in xmms-1.2.10: config.log
Only in xmms-1.2.10: config.status
Only in xmms-1.2.10/intl: Makefile
Only in xmms-1.2.10: libtool
Only in xmms-1.2.10/libxmms: .deps
Only in xmms-1.2.10/libxmms: Makefile
Only in xmms-1.2.10/libxmms: config.h
Only in xmms-1.2.10/libxmms: config.log
Only in xmms-1.2.10/libxmms: config.status
Only in xmms-1.2.10/libxmms: libtool
Only in xmms-1.2.10/libxmms: stamp-h1
Only in xmms-1.2.10/po: Makefile
Only in xmms-1.2.10/po: Makefile.in
Only in xmms-1.2.10/po: POTFILES
Only in xmms-1.2.10: stamp-h1
Only in xmms-1.2.10/wmxmms: .deps
Only in xmms-1.2.10/wmxmms: Makefile
Only in xmms-1.2.10: wmxmms.1
Only in xmms-1.2.10/xmms: .deps
Only in xmms-1.2.10/xmms: Makefile
Only in xmms-1.2.10/xmms/defskin: Makefile
Only in xmms-1.2.10/xmms: i18n.h
Only in xmms-1.2.10/xmms: stamp-h2
Only in xmms-1.2.10: xmms-config
Only in xmms-1.2.10: xmms.1

