Add MIDI readahead to options editor.

This commit is contained in:
David Robillard 2015-03-05 18:48:33 -05:00
parent a8aae56d92
commit 408090adce
3 changed files with 24 additions and 9 deletions

View File

@ -506,6 +506,7 @@ public:
* @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,
@ -517,7 +518,8 @@ public:
T step,
T page,
std::string const & unit = "",
float scale = 1
float scale = 1,
unsigned digits = 0
)
: Option (i, n),
_get (g),
@ -530,6 +532,7 @@ public:
_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);

View File

@ -2066,6 +2066,16 @@ RCOptionEditor::RCOptionEditor ()
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",

View File

@ -65,14 +65,16 @@ Butler::~Butler()
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