- if (pipe (request_pipe)) {
- error << string_compose(_("Cannot create transport request signal pipe (%1)"),
- strerror (errno)) << endmsg;
- return -1;
- }
-
- if (fcntl (request_pipe[0], F_SETFL, O_NONBLOCK)) {
- error << string_compose(_("UI: cannot set O_NONBLOCK on butler request pipe (%1)"),
- strerror (errno)) << endmsg;
- return -1;
- }
-
- if (fcntl (request_pipe[1], F_SETFL, O_NONBLOCK)) {
- error << string_compose(_("UI: cannot set O_NONBLOCK on butler request pipe (%1)"),
- strerror (errno)) << endmsg;
- return -1;
+ if (p == "playback-buffer-seconds") {
+ _session.adjust_playback_buffering ();
+ if (Config->get_buffering_preset() == Custom) {
+ /* 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 {
+ std::cerr << "Skip explicit buffer seconds, preset in use\n";
+ }
+ } else if (p == "capture-buffer-seconds") {
+ if (Config->get_buffering_preset() == Custom) {
+ audio_dstream_capture_buffer_size = (uint32_t) floor (Config->get_audio_capture_buffer_seconds() * _session.frame_rate());
+ _session.adjust_capture_buffering ();
+ } else {
+ std::cerr << "Skip explicit buffer seconds, preset in use\n";
+ }
+ } else if (p == "buffering-preset") {
+ Diskstream::set_buffering_parameters (Config->get_buffering_preset());
+ audio_dstream_capture_buffer_size = (uint32_t) floor (Config->get_audio_capture_buffer_seconds() * _session.frame_rate());
+ audio_dstream_playback_buffer_size = (uint32_t) floor (Config->get_audio_playback_buffer_seconds() * _session.frame_rate());
+ _session.adjust_capture_buffering ();
+ _session.adjust_playback_buffering ();
+ } else if (p == "midi-readahead") {
+ MidiDiskstream::set_readahead_frames ((framecnt_t) (Config->get_midi_readahead() * _session.frame_rate()));