From c80e4c04c55d89d50df6f13785fd67f0c59623fb Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Tue, 11 Aug 2015 14:13:06 +1000 Subject: Extract two utility methods from EngineControl::set_samplerate/bufferize_popdown_strings --- gtk2_ardour/engine_dialog.cc | 59 +++++++++++++++++++++++++++----------------- 1 file changed, 36 insertions(+), 23 deletions(-) (limited to 'gtk2_ardour/engine_dialog.cc') diff --git a/gtk2_ardour/engine_dialog.cc b/gtk2_ardour/engine_dialog.cc index d753d92dd7..d3c1e14d08 100644 --- a/gtk2_ardour/engine_dialog.cc +++ b/gtk2_ardour/engine_dialog.cc @@ -1145,6 +1145,22 @@ EngineControl::get_sample_rates_for_all_devices () return all_rates; } +vector +EngineControl::get_default_sample_rates () +{ + vector rates; + rates.push_back (8000.0f); + rates.push_back (16000.0f); + rates.push_back (32000.0f); + rates.push_back (44100.0f); + rates.push_back (48000.0f); + rates.push_back (88200.0f); + rates.push_back (96000.0f); + rates.push_back (192000.0f); + rates.push_back (384000.0f); + return rates; +} + void EngineControl::set_samplerate_popdown_strings () { @@ -1155,20 +1171,9 @@ EngineControl::set_samplerate_popdown_strings () vector s; if (_have_control) { - sr = get_sample_rates_for_all_devices (); - } else { - - sr.push_back (8000.0f); - sr.push_back (16000.0f); - sr.push_back (32000.0f); - sr.push_back (44100.0f); - sr.push_back (48000.0f); - sr.push_back (88200.0f); - sr.push_back (96000.0f); - sr.push_back (192000.0f); - sr.push_back (384000.0f); + sr = get_default_sample_rates (); } for (vector::const_iterator x = sr.begin(); x != sr.end(); ++x) { @@ -1223,6 +1228,24 @@ EngineControl::get_buffer_sizes_for_all_devices () return all_sizes; } +vector +EngineControl::get_default_buffer_sizes () +{ + vector sizes; + sizes.push_back (8); + sizes.push_back (16); + sizes.push_back (32); + sizes.push_back (64); + sizes.push_back (128); + sizes.push_back (256); + sizes.push_back (512); + sizes.push_back (1024); + sizes.push_back (2048); + sizes.push_back (4096); + sizes.push_back (8192); + return sizes; +} + void EngineControl::set_buffersize_popdown_strings () { @@ -1235,17 +1258,7 @@ EngineControl::set_buffersize_popdown_strings () if (_have_control) { bs = get_buffer_sizes_for_all_devices (); } else if (backend->can_change_buffer_size_when_running()) { - bs.push_back (8); - bs.push_back (16); - bs.push_back (32); - bs.push_back (64); - bs.push_back (128); - bs.push_back (256); - bs.push_back (512); - bs.push_back (1024); - bs.push_back (2048); - bs.push_back (4096); - bs.push_back (8192); + bs = get_default_buffer_sizes (); } for (vector::const_iterator x = bs.begin(); x != bs.end(); ++x) { -- cgit v1.2.3