summaryrefslogtreecommitdiffhomepage
path: root/logic
diff options
context:
space:
mode:
Diffstat (limited to 'logic')
-rw-r--r--logic/main-settings.cpp81
-rw-r--r--logic/main-settings.hpp87
2 files changed, 90 insertions, 78 deletions
diff --git a/logic/main-settings.cpp b/logic/main-settings.cpp
new file mode 100644
index 00000000..987dd250
--- /dev/null
+++ b/logic/main-settings.cpp
@@ -0,0 +1,81 @@
+#include "main-settings.hpp"
+
+main_settings::main_settings() :
+ b(make_bundle("opentrack-ui")),
+ b_map(make_bundle("opentrack-mappings")),
+ a_x(b, b_map, "x", TX),
+ a_y(b, b_map, "y", TY),
+ a_z(b, b_map, "z", TZ),
+ a_yaw(b, b_map, "yaw", Yaw),
+ a_pitch(b, b_map, "pitch", Pitch),
+ a_roll(b, b_map, "roll", Roll),
+ tcomp_p(b, "compensate-translation", false),
+ tcomp_disable_tx(b, "compensate-translation-disable-x-axis", false),
+ tcomp_disable_ty(b, "compensate-translation-disable-y-axis", false),
+ tcomp_disable_tz(b, "compensate-translation-disable-z-axis", false),
+ tcomp_disable_src_yaw(b, "compensate-translation-disable-source-yaw", false),
+ tcomp_disable_src_pitch(b, "compensate-translation-disable-source-pitch", false),
+ tcomp_disable_src_roll(b, "compensate-translation-disable-source-roll", false),
+ tray_enabled(b, "use-system-tray", false),
+ tray_start(b, "start-in-tray", false),
+ camera_yaw(b, "camera-yaw", 0),
+ camera_pitch(b, "camera-pitch", 0),
+ camera_roll(b, "camera-roll", 0),
+ use_camera_offset_from_centering(b, "use-camera-offset-from-centering", false),
+ center_at_startup(b, "center-at-startup", true),
+ center_method(b, "centering-method", 1),
+ neck_y(b, "neck-height", 0),
+ neck_z(b, "neck-depth", 0),
+ neck_enable(b, "neck-enable", false),
+ key_start_tracking1(b, "start-tracking"),
+ key_start_tracking2(b, "start-tracking-alt"),
+ key_stop_tracking1(b, "stop-tracking"),
+ key_stop_tracking2(b, "stop-tracking-alt"),
+ key_toggle_tracking1(b, "toggle-tracking"),
+ key_toggle_tracking2(b, "toggle-tracking-alt"),
+ key_restart_tracking1(b, "restart-tracking"),
+ key_restart_tracking2(b, "restart-tracking-alt"),
+ key_center1(b, "center"),
+ key_center2(b, "center-alt"),
+ key_toggle1(b, "toggle"),
+ key_toggle2(b, "toggle-alt"),
+ key_zero1(b, "zero"),
+ key_zero2(b, "zero-alt"),
+ key_toggle_press1(b, "toggle-press"),
+ key_toggle_press2(b, "toggle-press-alt"),
+ key_zero_press1(b, "zero-press"),
+ key_zero_press2(b, "zero-press-alt"),
+ tracklogging_enabled(b, "tracklogging-enabled", false),
+ tracklogging_filename(b, "tracklogging-filename", QString())
+{
+}
+
+module_settings::module_settings() :
+ b(make_bundle("modules")),
+ tracker_dll(b, "tracker-dll", "PointTracker 1.1"),
+ filter_dll(b, "filter-dll", "Accela"),
+ protocol_dll(b, "protocol-dll", "freetrack 2.0 Enhanced")
+{
+}
+
+key_opts::key_opts(bundle b, const QString& name) :
+ keycode(b, QString("keycode-%1").arg(name), ""),
+ guid(b, QString("guid-%1").arg(name), ""),
+ button(b, QString("button-%1").arg(name), -1)
+{}
+
+
+axis_opts::axis_opts(bundle b_settings_window, bundle b_mapping_window, QString pfx, Axis idx) :
+ b_settings_window(b_settings_window),
+ b_mapping_window(b_mapping_window),
+ zero(b_settings_window, n(pfx, "zero-pos"), 0),
+ src(b_settings_window, n(pfx, "source-index"), idx),
+ invert(b_settings_window, n(pfx, "invert-sign"), false),
+ altp(b_mapping_window, n(pfx, "alt-axis-sign"), false),
+ clamp(b_mapping_window, n(pfx, "max-value"), idx >= Yaw ? r180 : t30)
+{}
+
+QString axis_opts::n(QString pfx, QString name)
+{
+ return QString("%1-%2").arg(pfx, name);
+}
diff --git a/logic/main-settings.hpp b/logic/main-settings.hpp
index 1c8c2264..49894820 100644
--- a/logic/main-settings.hpp
+++ b/logic/main-settings.hpp
@@ -21,7 +21,7 @@ namespace axis_clamp_opts
} // ns axis-clamp-opts
-struct axis_opts final
+struct OPENTRACK_LOGIC_EXPORT axis_opts final
{
enum max_clamp
{
@@ -47,48 +47,27 @@ struct axis_opts final
value<int> src;
value<bool> invert, altp;
value<max_clamp> clamp;
- axis_opts(bundle b_settings_window, bundle b_mapping_window, QString pfx, Axis idx) :
- b_settings_window(b_settings_window),
- b_mapping_window(b_mapping_window),
- zero(b_settings_window, n(pfx, "zero-pos"), 0),
- src(b_settings_window, n(pfx, "source-index"), idx),
- invert(b_settings_window, n(pfx, "invert-sign"), false),
- altp(b_mapping_window, n(pfx, "alt-axis-sign"), false),
- clamp(b_mapping_window, n(pfx, "max-value"), idx >= Yaw ? r180 : t30)
- {}
+ axis_opts(bundle b_settings_window, bundle b_mapping_window, QString pfx, Axis idx);
private:
- static inline QString n(QString pfx, QString name)
- {
- return QString("%1-%2").arg(pfx, name);
- }
+ static inline QString n(QString pfx, QString name);
};
-struct key_opts
+struct OPENTRACK_LOGIC_EXPORT key_opts
{
value<QString> keycode, guid;
value<int> button;
- key_opts(bundle b, const QString& name) :
- keycode(b, QString("keycode-%1").arg(name), ""),
- guid(b, QString("guid-%1").arg(name), ""),
- button(b, QString("button-%1").arg(name), -1)
- {}
+ key_opts(bundle b, const QString& name);
};
-struct module_settings
+struct OPENTRACK_LOGIC_EXPORT module_settings
{
bundle b;
value<QString> tracker_dll, filter_dll, protocol_dll;
- module_settings() :
- b(make_bundle("modules")),
- tracker_dll(b, "tracker-dll", "PointTracker 1.1"),
- filter_dll(b, "filter-dll", "Accela"),
- protocol_dll(b, "protocol-dll", "freetrack 2.0 Enhanced")
- {
- }
+ module_settings();
};
-struct main_settings
+struct OPENTRACK_LOGIC_EXPORT main_settings final
{
bundle b, b_map;
axis_opts a_x, a_y, a_z;
@@ -113,53 +92,5 @@ struct main_settings
key_opts key_zero_press1, key_zero_press2;
value<bool> tracklogging_enabled;
value<QString> tracklogging_filename;
- main_settings() :
- b(make_bundle("opentrack-ui")),
- b_map(make_bundle("opentrack-mappings")),
- a_x(b, b_map, "x", TX),
- a_y(b, b_map, "y", TY),
- a_z(b, b_map, "z", TZ),
- a_yaw(b, b_map, "yaw", Yaw),
- a_pitch(b, b_map, "pitch", Pitch),
- a_roll(b, b_map, "roll", Roll),
- tcomp_p(b, "compensate-translation", false),
- tcomp_disable_tx(b, "compensate-translation-disable-x-axis", false),
- tcomp_disable_ty(b, "compensate-translation-disable-y-axis", false),
- tcomp_disable_tz(b, "compensate-translation-disable-z-axis", false),
- tcomp_disable_src_yaw(b, "compensate-translation-disable-source-yaw", false),
- tcomp_disable_src_pitch(b, "compensate-translation-disable-source-pitch", false),
- tcomp_disable_src_roll(b, "compensate-translation-disable-source-roll", false),
- tray_enabled(b, "use-system-tray", false),
- tray_start(b, "start-in-tray", false),
- camera_yaw(b, "camera-yaw", 0),
- camera_pitch(b, "camera-pitch", 0),
- camera_roll(b, "camera-roll", 0),
- use_camera_offset_from_centering(b, "use-camera-offset-from-centering", false),
- center_at_startup(b, "center-at-startup", true),
- center_method(b, "centering-method", 1),
- neck_y(b, "neck-height", 0),
- neck_z(b, "neck-depth", 0),
- neck_enable(b, "neck-enable", false),
- key_start_tracking1(b, "start-tracking"),
- key_start_tracking2(b, "start-tracking-alt"),
- key_stop_tracking1(b, "stop-tracking"),
- key_stop_tracking2(b, "stop-tracking-alt"),
- key_toggle_tracking1(b, "toggle-tracking"),
- key_toggle_tracking2(b, "toggle-tracking-alt"),
- key_restart_tracking1(b, "restart-tracking"),
- key_restart_tracking2(b, "restart-tracking-alt"),
- key_center1(b, "center"),
- key_center2(b, "center-alt"),
- key_toggle1(b, "toggle"),
- key_toggle2(b, "toggle-alt"),
- key_zero1(b, "zero"),
- key_zero2(b, "zero-alt"),
- key_toggle_press1(b, "toggle-press"),
- key_toggle_press2(b, "toggle-press-alt"),
- key_zero_press1(b, "zero-press"),
- key_zero_press2(b, "zero-press-alt"),
- tracklogging_enabled(b, "tracklogging-enabled", false),
- tracklogging_filename(b, "tracklogging-filename", QString())
- {
- }
+ main_settings();
};