# HG changeset patch # User nenolod # Date 1154590195 25200 # Node ID 045eea000f6e75195672d0d5b5acdbfff53ba3dc # Parent c371351e349cd7fe5e934d9e8e41c23054b9d019 [svn] - implement finetune seeking properly this time :) diff -r c371351e349c -r 045eea000f6e ChangeLog --- a/ChangeLog Thu Aug 03 00:20:53 2006 -0700 +++ b/ChangeLog Thu Aug 03 00:29:55 2006 -0700 @@ -1,3 +1,12 @@ +2006-08-03 07:20:53 +0000 William Pitcock + revision [1878] + - remove pointless finetune_seek stuff. didn't work right anyway, and it works better without it. + + + Changes: Modified: + +1 -29 trunk/Plugins/Input/cue/cuesheet.c + + 2006-08-03 07:15:58 +0000 William Pitcock revision [1876] - damn typoes diff -r c371351e349c -r 045eea000f6e Plugins/Input/cue/cuesheet.c --- a/Plugins/Input/cue/cuesheet.c Thu Aug 03 00:20:53 2006 -0700 +++ b/Plugins/Input/cue/cuesheet.c Thu Aug 03 00:29:55 2006 -0700 @@ -50,6 +50,7 @@ gint index; } cue_tracks[MAX_CUE_TRACKS]; static gint timeout_tag = 0; +static gint finetune_seek = 0; static InputPlugin *real_ip = NULL; @@ -249,9 +250,11 @@ real_ip->set_info = set_info_override; real_ip->output = cue_ip.output; real_ip->play_file(cue_file); - real_ip->seek(cue_tracks[track].index / 1000); /* XXX: seek doesn't use frames? strange... -nenolod */ + real_ip->seek(finetune_seek ? finetune_seek / 1000 : cue_tracks[track].index / 1000); } + finetune_seek = 0; + cur_cue_track = track; timeout_tag = gtk_timeout_add(100, watchdog_func, NULL); @@ -288,17 +291,21 @@ while (time < cue_tracks[cur_cue_track].index) { cur_cue_track--; + if (!(time < cue_tracks[cur_cue_track].index)) + finetune_seek = time; playlist_prev(); dir = TRUE; - time = get_output_time() - 1000; + time = get_output_time(); g_usleep(10000); } while (dir == FALSE && cur_cue_track != last_cue_track && (time > cue_tracks[cur_cue_track + 1].index)) { cur_cue_track++; + if (!(time > cue_tracks[cur_cue_track].index)) + finetune_seek = time; playlist_next(); - time = get_output_time() + 1000; + time = get_output_time(); g_usleep(10000); }