summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2015-08-11 14:13:06 +1000
committerTim Mayberry <mojofunk@gmail.com>2015-08-11 14:13:06 +1000
commitc80e4c04c55d89d50df6f13785fd67f0c59623fb (patch)
tree51290931a1ffa92dc807a8021137c3a5fe25ebd0
parenta8daa369013c272491971765a365acb90b08d32d (diff)
Extract two utility methods from EngineControl::set_samplerate/bufferize_popdown_strings
-rw-r--r--gtk2_ardour/engine_dialog.cc59
-rw-r--r--gtk2_ardour/engine_dialog.h3
2 files changed, 39 insertions, 23 deletions
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<float>
+EngineControl::get_default_sample_rates ()
+{
+ vector<float> 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<string> 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<float>::const_iterator x = sr.begin(); x != sr.end(); ++x) {
@@ -1223,6 +1228,24 @@ EngineControl::get_buffer_sizes_for_all_devices ()
return all_sizes;
}
+vector<uint32_t>
+EngineControl::get_default_buffer_sizes ()
+{
+ vector<uint32_t> 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<uint32_t>::const_iterator x = bs.begin(); x != bs.end(); ++x) {
diff --git a/gtk2_ardour/engine_dialog.h b/gtk2_ardour/engine_dialog.h
index c507b13968..5e0eddd0f3 100644
--- a/gtk2_ardour/engine_dialog.h
+++ b/gtk2_ardour/engine_dialog.h
@@ -138,6 +138,9 @@ class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList {
std::string bufsize_as_string (uint32_t);
+ std::vector<float> get_default_sample_rates ();
+ std::vector<uint32_t> get_default_buffer_sizes ();
+
std::vector<float> get_sample_rates_for_all_devices ();
std::vector<uint32_t> get_buffer_sizes_for_all_devices ();