On Wed, Jun 01, 2016 at 10:45:35AM -0700, b...@ccrma.stanford.edu wrote: > I think in the gtk script case, the gtk event > queue is not being completely drained, so > this code at least gets a squished graph: > > (open-sound "oboe.snd") > (set! (show-full-duration) #t) > (set! (transform-graph?) #t) > (set! (time-graph?) #f) > > (do ((i 0 (+ i 1))) > ((or (= i 10000) > (= (gtk_events_pending) 0))) > (gtk_main_iteration)) > > (set! (transform-graph-type) graph-as-sonogram) > (set! (fft-log-frequency) #t) > (update-transform-graph) > (graph->ps "hi.eps") > > (exit) > > > This seems like several different bugs -- hooboy.
Hey Bill, gtk_widget_get_allocated_width() and gtk_widget_get_allocated_height() return 1 in batch mode and display_channel_data_with_size() is bypassed. The follow minimal patch is a possible fix. The values for width and height are copied from a printf in `snd_motif -b ...'. Largest values, slowest processing. diff -ur snd-16~/snd-chn.c snd-16/snd-chn.c --- snd-16~/snd-chn.c 2016-06-01 19:37:39.322878464 +0200 +++ snd-16/snd-chn.c 2016-06-01 19:37:45.044806529 +0200 @@ -4378,6 +4378,15 @@ { width = widget_width(channel_graph(cp)); height = widget_height(channel_graph(cp)); + +#if USE_GTK + if (ss->batch_mode) + { + width = 583; + height = 374; + } +#endif if ((height > 5) && (width > 5)) display_channel_data_with_size(cp, width, height, 0, just_fft, just_lisp, just_time, use_incoming_cr); } _______________________________________________ Cmdist mailing list Cmdist@ccrma.stanford.edu https://cm-mail.stanford.edu/mailman/listinfo/cmdist