* @param page Page step for the spin button.
* @param unit Unit name.
* @param scale Scaling factor (such that for a value x in the spinbutton, x * scale is written to the config)
+ * @param digits Number of decimal digits to show.
*/
SpinOption (
std::string const & i,
T step,
T page,
std::string const & unit = "",
- float scale = 1
+ float scale = 1,
+ unsigned digits = 0
)
: Option (i, n),
_get (g),
_spin = Gtk::manage (new Gtk::SpinButton);
_spin->set_range (min, max);
_spin->set_increments (step, page);
+ _spin->set_digits(digits);
_box = Gtk::manage (new Gtk::HBox);
_box->pack_start (*_spin, true, true);
sigc::mem_fun (*_rc_config, &RCConfiguration::set_link_send_and_route_panner)
));
+ add_option (_("MIDI"),
+ new SpinOption<float> (
+ "midi-readahead",
+ _("MIDI read-ahead time (seconds)"),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::get_midi_readahead),
+ sigc::mem_fun (*_rc_config, &RCConfiguration::set_midi_readahead),
+ 0.1, 10, 0.1, 1,
+ "", 1.0, 1
+ ));
+
add_option (_("MIDI"),
new BoolOption (
"send-midi-clock",
void
Butler::config_changed (std::string p)
{
- if (p == "playback-buffer-seconds") {
- /* size is in Samples, not bytes */
- audio_dstream_playback_buffer_size = (uint32_t) floor (Config->get_audio_playback_buffer_seconds() * _session.frame_rate());
- _session.adjust_playback_buffering ();
- } else if (p == "capture-buffer-seconds") {
- audio_dstream_capture_buffer_size = (uint32_t) floor (Config->get_audio_capture_buffer_seconds() * _session.frame_rate());
- _session.adjust_capture_buffering ();
- }
+ if (p == "playback-buffer-seconds") {
+ /* size is in Samples, not bytes */
+ audio_dstream_playback_buffer_size = (uint32_t) floor (Config->get_audio_playback_buffer_seconds() * _session.frame_rate());
+ _session.adjust_playback_buffering ();
+ } else if (p == "capture-buffer-seconds") {
+ audio_dstream_capture_buffer_size = (uint32_t) floor (Config->get_audio_capture_buffer_seconds() * _session.frame_rate());
+ _session.adjust_capture_buffering ();
+ } else if (p == "midi-readahead") {
+ MidiDiskstream::set_readahead_frames ((framecnt_t) (Config->get_midi_readahead() * _session.frame_rate()));
+ }
}
int