changeset 2109:27e0fe4de57e trunk

[svn] - preferences pane option for extension-based detection
author nenolod
date Tue, 12 Dec 2006 18:39:35 -0800
parents 02f39b64f36b
children ead7be311038
files ChangeLog audacious/glade/prefswin.glade audacious/prefswin.c
diffstat 3 files changed, 108 insertions(+), 47 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Tue Dec 12 18:32:05 2006 -0800
+++ b/ChangeLog	Tue Dec 12 18:39:35 2006 -0800
@@ -1,3 +1,13 @@
+2006-12-13 02:32:05 +0000  William Pitcock <nenolod@nenolod.net>
+  revision [3221]
+  - add support for new extension probing system
+  
+  trunk/audacious/input.c |   53 ++++++++++++++++++++++++++++++++++++------------
+  trunk/audacious/main.c  |    2 +
+  trunk/audacious/main.h  |    1 
+  3 files changed, 43 insertions(+), 13 deletions(-)
+
+
 2006-12-13 02:22:17 +0000  William Pitcock <nenolod@nenolod.net>
   revision [3219]
   - add gchar **vfs_extensions to InputPlugin struct, adding support for 
--- a/audacious/glade/prefswin.glade	Tue Dec 12 18:32:05 2006 -0800
+++ b/audacious/glade/prefswin.glade	Tue Dec 12 18:39:35 2006 -0800
@@ -3495,34 +3495,6 @@
 			      </child>
 
 			      <child>
-				<widget class="GtkLabel" id="label79">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">Buffer size:</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</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>
-				</widget>
-				<packing>
-				  <property name="left_attach">0</property>
-				  <property name="right_attach">1</property>
-				  <property name="top_attach">1</property>
-				  <property name="bottom_attach">2</property>
-				  <property name="x_options"></property>
-				  <property name="y_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
 				<widget class="GtkSpinButton" id="output_plugin_bufsize">
 				  <property name="visible">True</property>
 				  <property name="can_focus">True</property>
@@ -3546,25 +3518,6 @@
 			      </child>
 
 			      <child>
-				<widget class="GtkImage" id="image7">
-				  <property name="visible">True</property>
-				  <property name="stock">gtk-info</property>
-				  <property name="icon_size">4</property>
-				  <property name="xalign">1</property>
-				  <property name="yalign">0</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				</widget>
-				<packing>
-				  <property name="left_attach">0</property>
-				  <property name="right_attach">1</property>
-				  <property name="top_attach">2</property>
-				  <property name="bottom_attach">3</property>
-				  <property name="x_options"></property>
-				</packing>
-			      </child>
-
-			      <child>
 				<widget class="GtkLabel" id="label82">
 				  <property name="visible">True</property>
 				  <property name="label" translatable="yes">&lt;span size=&quot;small&quot;&gt;This is the amount of time to prebuffer audio streams by, in milliseconds.
@@ -3593,6 +3546,52 @@
 				  <property name="y_options"></property>
 				</packing>
 			      </child>
+
+			      <child>
+				<widget class="GtkLabel" id="label79">
+				  <property name="visible">True</property>
+				  <property name="label" translatable="yes">Buffer size:</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">1</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>
+				</widget>
+				<packing>
+				  <property name="left_attach">0</property>
+				  <property name="right_attach">1</property>
+				  <property name="top_attach">1</property>
+				  <property name="bottom_attach">2</property>
+				  <property name="y_options"></property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkImage" id="image7">
+				  <property name="visible">True</property>
+				  <property name="stock">gtk-info</property>
+				  <property name="icon_size">4</property>
+				  <property name="xalign">1</property>
+				  <property name="yalign">0</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				</widget>
+				<packing>
+				  <property name="left_attach">0</property>
+				  <property name="right_attach">1</property>
+				  <property name="top_attach">2</property>
+				  <property name="bottom_attach">3</property>
+				  <property name="x_options">fill</property>
+				</packing>
+			      </child>
 			    </widget>
 			    <packing>
 			      <property name="padding">0</property>
@@ -3863,6 +3862,42 @@
 		  </child>
 
 		  <child>
+		    <widget class="GtkAlignment" id="alignment89">
+		      <property name="visible">True</property>
+		      <property name="xalign">0.5</property>
+		      <property name="yalign">0.5</property>
+		      <property name="xscale">1</property>
+		      <property name="yscale">1</property>
+		      <property name="top_padding">0</property>
+		      <property name="bottom_padding">0</property>
+		      <property name="left_padding">12</property>
+		      <property name="right_padding">0</property>
+
+		      <child>
+			<widget class="GtkCheckButton" id="detect_by_extension_cb">
+			  <property name="visible">True</property>
+			  <property name="tooltip" translatable="yes">When checked, Audacious will detect file formats based by extension. This is slightly slower than detection on demand, but still provides a minimal level of format detection.</property>
+			  <property name="can_focus">True</property>
+			  <property name="label" translatable="yes">Detect file formats by extension.</property>
+			  <property name="use_underline">True</property>
+			  <property name="relief">GTK_RELIEF_NORMAL</property>
+			  <property name="focus_on_click">True</property>
+			  <property name="active">False</property>
+			  <property name="inconsistent">False</property>
+			  <property name="draw_indicator">True</property>
+			  <signal name="toggled" handler="on_detect_by_extension_cb_toggled" last_modification_time="Wed, 13 Dec 2006 03:21:51 GMT"/>
+			  <signal name="realize" handler="on_detect_by_extension_cb_realize" last_modification_time="Wed, 13 Dec 2006 03:21:59 GMT"/>
+			</widget>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">False</property>
+		      <property name="fill">False</property>
+		    </packing>
+		  </child>
+
+		  <child>
 		    <widget class="GtkAlignment" id="alignment19">
 		      <property name="visible">True</property>
 		      <property name="xalign">0.5</property>
--- a/audacious/prefswin.c	Tue Dec 12 18:32:05 2006 -0800
+++ b/audacious/prefswin.c	Tue Dec 12 18:39:35 2006 -0800
@@ -1003,6 +1003,20 @@
     gtk_toggle_button_set_active(button, cfg.playlist_detect);
 }
 
+static void
+on_detect_by_extension_cb_toggled(GtkToggleButton * button,
+                                    gpointer data)
+{
+    cfg.use_extension_probing = gtk_toggle_button_get_active(button);
+}
+
+static void
+on_detect_by_extension_cb_realize(GtkToggleButton * button,
+                                    gpointer data)
+{
+    gtk_toggle_button_set_active(button, cfg.use_extension_probing);
+}
+
 /* proxy */
 static void
 on_proxy_use_realize(GtkToggleButton * button,
@@ -2215,6 +2229,8 @@
     FUNC_MAP_ENTRY(on_output_plugin_bufsize_value_changed)
     FUNC_MAP_ENTRY(on_audio_format_det_cb_toggled)
     FUNC_MAP_ENTRY(on_audio_format_det_cb_realize)
+    FUNC_MAP_ENTRY(on_detect_by_extension_cb_toggled)
+    FUNC_MAP_ENTRY(on_detect_by_extension_cb_realize)
     FUNC_MAP_ENTRY(on_show_filepopup_for_tuple_realize)
     FUNC_MAP_ENTRY(on_show_filepopup_for_tuple_toggled)
     FUNC_MAP_ENTRY(on_filepopup_for_tuple_settings_clicked)