Unified · Split
| @@ -20,10 +20,10 @@ usage(void) · 19 unmodified lines | |||
| 20 | void | 20 | void |
| 21 | main(int argc, char **argv) | 21 | main(int argc, char **argv) |
| 22 | { | 22 | { |
| 23 | double pos, freq, ratio, dur; | ||
| 23 | DUMB_IT_SIGRENDERER *itren; | 24 | DUMB_IT_SIGRENDERER *itren; |
| 24 | DUH_SIGRENDERER *ren; | 25 | DUH_SIGRENDERER *ren; |
| 25 | int n, sz, r, resamp; | 26 | int n, sz, r, resamp; |
| 26 | double pos, freq, ratio; | ||
| 27 | sample_t **samp; | 27 | sample_t **samp; |
| 28 | char *data, *t; | 28 | char *data, *t; |
| 29 | long nsamp; | 29 | long nsamp; |
| @@ -75,7 +75,10 @@ main(int argc, char **argv) · 45 unmodified lines | |||
| 75 | sysfatal("unknown/invalid mod"); | 75 | sysfatal("unknown/invalid mod"); |
| 76 | if((t = (char*)duh_get_tag(f, "TITLE")) != nil && *t) | 76 | if((t = (char*)duh_get_tag(f, "TITLE")) != nil && *t) |
| 77 | fprint(2, "%s\n", t); | 77 | fprint(2, "%s\n", t); |
| 78 | fprint(2, "duration: %g\n", duh_get_length(f)*ratio/100000.0); | 78 | dur = duh_get_length(f)*ratio/100000.0; |
| 79 | fprint(2, "duration: %g\n", dur); | ||
| 80 | if(pos > dur) | ||
| 81 | exits(nil); | ||
| 79 | ren = duh_start_sigrenderer(f, 0, 2, pos*100000.0/ratio); | 82 | ren = duh_start_sigrenderer(f, 0, 2, pos*100000.0/ratio); |
| 80 | itren = duh_get_it_sigrenderer(ren); | 83 | itren = duh_get_it_sigrenderer(ren); |
| 81 | dumb_it_set_loop_callback(itren, dumb_it_callback_terminate, nil); | 84 | dumb_it_set_loop_callback(itren, dumb_it_callback_terminate, nil); |