summaryrefslogtreecommitdiff
path: root/gtk2_ardour/engine_dialog.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-06-29 17:08:52 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-06-29 17:08:52 +0000
commit80cdd6bf1d1a30c59d6be2dd32e8f081e1319ba1 (patch)
tree418e11b1f3af8e0f74df62715a81ea1e88470d8a /gtk2_ardour/engine_dialog.cc
parent2b2f34669e53cba52e8362bfda2ce1349ce4b58b (diff)
make a start on JACK control dialog
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2085 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/engine_dialog.cc')
-rw-r--r--gtk2_ardour/engine_dialog.cc146
1 files changed, 146 insertions, 0 deletions
diff --git a/gtk2_ardour/engine_dialog.cc b/gtk2_ardour/engine_dialog.cc
new file mode 100644
index 0000000000..850e93092c
--- /dev/null
+++ b/gtk2_ardour/engine_dialog.cc
@@ -0,0 +1,146 @@
+#include <vector>
+
+#include <gtkmm/stock.h>
+#include <gtkmm2ext/utils.h>
+
+#include "engine_dialog.h"
+#include "i18n.h"
+
+using namespace std;
+using namespace Gtk;
+using namespace Gtkmm2ext;
+
+EngineDialog::EngineDialog ()
+ : ArdourDialog (_("Audio Engine"), false, true),
+ realtime_button (_("Realtime")),
+ no_memory_lock_button (_("Do not lock memory")),
+ unlock_memory_button (_("Unlock memory")),
+ soft_mode_button (_("No zombies")),
+ monitor_button (_("Monitor ports")),
+ force16bit_button (_("Force 16 bit")),
+ hw_monitor_button (_("H/W monitoring")),
+ hw_meter_button (_("H/W metering")),
+ verbose_output_button (_("Verbose output")),
+ basic_packer (2, 2),
+ options_packer (11, 2),
+ device_packer (10, 2)
+{
+ using namespace Notebook_Helpers;
+ Label* label;
+
+ vector<string> strings;
+
+ strings.push_back (_("8000Hz"));
+ strings.push_back (_("22050Hz"));
+ strings.push_back (_("44100Hz"));
+ strings.push_back (_("48000Hz"));
+ strings.push_back (_("88200Hz"));
+ strings.push_back (_("96000Hz"));
+ strings.push_back (_("192000Hz"));
+ set_popdown_strings (sample_rate_combo, strings);
+
+ strings.clear ();
+ strings.push_back ("32");
+ strings.push_back ("64");
+ strings.push_back ("128");
+ strings.push_back ("256");
+ strings.push_back ("512");
+ strings.push_back ("1024");
+ strings.push_back ("2048");
+ strings.push_back ("4096");
+ strings.push_back ("8192");
+ set_popdown_strings (period_size_combo, strings);
+
+ /* parameters */
+
+ basic_packer.set_spacings (6);
+
+ label = manage (new Label (_("Sample Rate")));
+ basic_packer.attach (*label, 0, 1, 0, 1, FILL|EXPAND, (AttachOptions) 0);
+ basic_packer.attach (sample_rate_combo, 1, 2, 0, 1, FILL|EXPAND, (AttachOptions) 0);
+
+ label = manage (new Label (_("Period Size")));
+ basic_packer.attach (*label, 0, 1, 1, 2, FILL|EXPAND, (AttachOptions) 0);
+ basic_packer.attach (period_size_combo, 1, 2, 1, 2, FILL|EXPAND, (AttachOptions) 0);
+
+
+ /* options */
+
+ options_packer.attach (realtime_button, 0, 1, 0, 1, FILL|EXPAND, (AttachOptions) 0);
+ options_packer.attach (no_memory_lock_button, 0, 1, 1, 2, FILL|EXPAND, (AttachOptions) 0);
+ options_packer.attach (unlock_memory_button, 0, 1, 2, 3, FILL|EXPAND, (AttachOptions) 0);
+ options_packer.attach (monitor_button, 0, 1, 3, 4, FILL|EXPAND, (AttachOptions) 0);
+ options_packer.attach (soft_mode_button, 0, 1, 4, 5, FILL|EXPAND, (AttachOptions) 0);
+ options_packer.attach (force16bit_button, 0, 1, 5, 6, FILL|EXPAND, (AttachOptions) 0);
+ options_packer.attach (hw_monitor_button, 0, 1, 6, 7, FILL|EXPAND, (AttachOptions) 0);
+ options_packer.attach (hw_meter_button, 0, 1, 7, 8, FILL|EXPAND, (AttachOptions) 0);
+ options_packer.attach (verbose_output_button, 0, 1, 8, 9, FILL|EXPAND, (AttachOptions) 0);
+ options_packer.attach (priority_spinner, 0, 1, 9, 10, FILL|EXPAND, (AttachOptions) 0);
+ options_packer.attach (periods_spinner, 0, 1, 10, 11, FILL|EXPAND, (AttachOptions) 0);
+
+ /* device */
+
+ device_packer.set_spacings (6);
+
+ strings.clear ();
+#ifndef __APPLE
+ strings.push_back (X_("ALSA"));
+ strings.push_back (X_("OSS"));
+ strings.push_back (X_("FFADO"));
+#else
+ strings.push_back (X_("CoreAudio"));
+#endif
+ strings.push_back (X_("NetJACK"));
+ strings.push_back (X_("Dummy"));
+ set_popdown_strings (driver_combo, strings);
+ driver_combo.set_active_text (strings.front());
+
+ strings.clear ();
+ strings.push_back (_("Duplex"));
+ strings.push_back (_("Playback only"));
+ strings.push_back (_("Capture only"));
+ set_popdown_strings (audio_mode_combo, strings);
+ audio_mode_combo.set_active_text (strings.front());
+
+ label = manage (new Label (_("Driver")));
+ device_packer.attach (*label, 0, 1, 0, 1, FILL|EXPAND, (AttachOptions) 0);
+ device_packer.attach (driver_combo, 1, 2, 0, 1, FILL|EXPAND, (AttachOptions) 0);
+ label = manage (new Label (_("Interface")));
+ device_packer.attach (*label, 0, 1, 1, 2, FILL|EXPAND, (AttachOptions) 0);
+ device_packer.attach (interface_combo, 1, 2, 1, 2, FILL|EXPAND, (AttachOptions) 0);
+ label = manage (new Label (_("Audio Mode")));
+ device_packer.attach (*label, 0, 1, 2, 3, FILL|EXPAND, (AttachOptions) 0);
+ device_packer.attach (audio_mode_combo, 1, 2, 2, 3, FILL|EXPAND, (AttachOptions) 0);
+ label = manage (new Label (_("Input device")));
+ device_packer.attach (*label, 0, 1, 3, 4, FILL|EXPAND, (AttachOptions) 0);
+ device_packer.attach (input_device_combo, 1, 2, 3, 4, FILL|EXPAND, (AttachOptions) 0);
+ label = manage (new Label (_("Output device")));
+ device_packer.attach (*label, 0, 1, 4, 5, FILL|EXPAND, (AttachOptions) 0);
+ device_packer.attach (output_device_combo, 1, 2, 4, 5, FILL|EXPAND, (AttachOptions) 0);
+ label = manage (new Label (_("Input channels")));
+ device_packer.attach (*label, 0, 1, 5, 6, FILL|EXPAND, (AttachOptions) 0);
+ device_packer.attach (input_channels, 1, 2, 5, 6, FILL|EXPAND, (AttachOptions) 0);
+ label = manage (new Label (_("Output channels")));
+ device_packer.attach (*label, 0, 1, 6, 7, FILL|EXPAND, (AttachOptions) 0);
+ device_packer.attach (output_channels, 1, 2, 6, 7, FILL|EXPAND, (AttachOptions) 0);
+ label = manage (new Label (_("Input latency")));
+ device_packer.attach (*label, 0, 1, 7, 8, FILL|EXPAND, (AttachOptions) 0);
+ device_packer.attach (input_latency, 1, 2, 7, 8, FILL|EXPAND, (AttachOptions) 0);
+ label = manage (new Label (_("Output latency")));
+ device_packer.attach (*label, 0, 1, 8, 9, FILL|EXPAND, (AttachOptions) 0);
+ device_packer.attach (output_latency, 1, 2, 8, 9, FILL|EXPAND, (AttachOptions) 0);
+
+ notebook.pages().push_back (TabElem (basic_packer, _("Parameters")));
+ notebook.pages().push_back (TabElem (options_packer, _("Options")));
+ notebook.pages().push_back (TabElem (device_packer, _("Device")));
+
+ get_vbox()->set_border_width (12);
+ get_vbox()->pack_start (notebook);
+
+ add_button (Stock::OK, RESPONSE_ACCEPT);
+}
+
+EngineDialog::~EngineDialog ()
+{
+
+}