diff -bru ../xmms-musepack-1.2.old/src/libmpc.cpp ./src/libmpc.cpp --- ../xmms-musepack-1.2.old/src/libmpc.cpp 2006-09-21 21:02:31.000000000 +0200 +++ ./src/libmpc.cpp 2006-09-21 20:50:18.000000000 +0200 @@ -67,6 +67,7 @@ xmms_cfg_read_boolean(cfg, "musepack", "albumGain", &pluginConfig.albumGain); xmms_cfg_read_boolean(cfg, "musepack", "dynamicBitrate", &pluginConfig.dynamicBitrate); xmms_cfg_read_boolean(cfg, "musepack", "replaygain", &pluginConfig.replaygain); + xmms_cfg_read_boolean(cfg, "musepack", "fastSeek", &pluginConfig.fastSeek); xmms_cfg_free(cfg); } @@ -117,6 +118,11 @@ widgets.bitrateCheck = bitrateCheck; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(bitrateCheck), pluginConfig.dynamicBitrate); gtk_box_pack_start(GTK_BOX(gSvbox), bitrateCheck, FALSE, FALSE, 0); + + GtkWidget* seekCheck = gtk_check_button_new_with_label("Enable Fast Seeking"); + widgets.seekCheck = seekCheck; + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(seekCheck), pluginConfig.fastSeek); + gtk_box_pack_start(GTK_BOX(gSvbox), seekCheck, FALSE, FALSE, 0); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), generalSet, gtk_label_new("Plugin")); //ReplayGain Settings Tab @@ -193,6 +199,8 @@ pluginConfig.clipPrevention = gtk_toggle_button_get_active(tb); tb = GTK_TOGGLE_BUTTON(widgets.bitrateCheck); pluginConfig.dynamicBitrate = gtk_toggle_button_get_active(tb); + tb = GTK_TOGGLE_BUTTON(widgets.seekCheck); + pluginConfig.fastSeek = gtk_toggle_button_get_active(tb); tb = GTK_TOGGLE_BUTTON(widgets.albumCheck); pluginConfig.albumGain = gtk_toggle_button_get_active(tb); @@ -202,6 +210,7 @@ xmms_cfg_write_boolean (cfg, "musepack", "albumGain", pluginConfig.albumGain); xmms_cfg_write_boolean (cfg, "musepack", "dynamicBitrate", pluginConfig.dynamicBitrate); xmms_cfg_write_boolean (cfg, "musepack", "replaygain", pluginConfig.replaygain); + xmms_cfg_write_boolean (cfg, "musepack", "fastSeek", pluginConfig.fastSeek); xmms_cfg_write_default_file (cfg); xmms_cfg_free (cfg); @@ -745,6 +754,7 @@ return endThread(input, true); } + mpc_decoder_set_seeking(&decoder, &info, pluginConfig.fastSeek); setReplaygain(info, decoder); MPC_SAMPLE_FORMAT sampleBuffer[MPC_DECODER_BUFFER_LENGTH]; Seulement dans ./src: libmpc.cpp~ diff -bru ../xmms-musepack-1.2.old/src/libmpc.h ./src/libmpc.h --- ../xmms-musepack-1.2.old/src/libmpc.h 2006-09-21 21:02:31.000000000 +0200 +++ ./src/libmpc.h 2006-09-21 20:37:41.000000000 +0200 @@ -48,6 +48,7 @@ gboolean isEq; iconv_t iFromUTF8; iconv_t iToUTF8; + gboolean fastSeek; }; typedef struct Widgets @@ -55,6 +56,7 @@ GtkWidget* aboutBox; GtkWidget* configBox; GtkWidget* bitrateCheck; + GtkWidget* seekCheck; GtkWidget* clippingCheck; GtkWidget* replaygainCheck; GtkWidget* albumCheck; Seulement dans ./src: libmpc.h~ Seulement dans ../xmms-musepack-1.2.old/src: Makefile.in