merge denormal handling work from 2.0-ongoing
[ardour.git] / libs / ardour / ardour / configuration_vars.h
1 /*
2     Copyright (C) 2000-2007 Paul Davis 
3
4     This program is free software; you can redistribute it and/or modify
5     it under the terms of the GNU General Public License as published by
6     the Free Software Foundation; either version 2 of the License, or
7     (at your option) any later version.
8
9     This program is distributed in the hope that it will be useful,
10     but WITHOUT ANY WARRANTY; without even the implied warranty of
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12     GNU General Public License for more details.
13
14     You should have received a copy of the GNU General Public License
15     along with this program; if not, write to the Free Software
16     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17
18 */
19
20 /* IO connection */
21
22 CONFIG_VARIABLE (AutoConnectOption, output_auto_connect, "output-auto-connect", AutoConnectOption (0))
23 CONFIG_VARIABLE (AutoConnectOption, input_auto_connect, "input-auto-connect", AutoConnectOption (0))
24
25 CONFIG_VARIABLE (std::string, auditioner_output_left, "auditioner-output-left", "default")
26 CONFIG_VARIABLE (std::string, auditioner_output_right, "auditioner-output-right", "default")
27
28 /* MIDI and MIDI related */
29
30 CONFIG_VARIABLE (std::string, mtc_port_name, "mtc-port-name", "default")
31 CONFIG_VARIABLE (std::string, mmc_port_name, "mmc-port-name", "default")
32 CONFIG_VARIABLE (std::string, midi_port_name, "midi-port-name", "default")
33 CONFIG_VARIABLE (bool, trace_midi_input, "trace-midi-input", false)
34 CONFIG_VARIABLE (bool, trace_midi_output, "trace-midi-output", false)
35 CONFIG_VARIABLE (bool, send_mtc, "send-mtc", false)
36 CONFIG_VARIABLE (bool, send_mmc, "send-mmc", false)
37 CONFIG_VARIABLE (bool, mmc_control, "mmc-control", false)
38 CONFIG_VARIABLE (bool, midi_feedback, "midi-feedback", false)
39 CONFIG_VARIABLE (uint8_t, mmc_device_id, "mmc-device-id", 0)
40
41 /* control surfaces */
42
43 CONFIG_VARIABLE (uint32_t, feedback_interval_ms,  "feedback-interval-ms", 100)
44 CONFIG_VARIABLE (bool, use_tranzport,  "use-tranzport", false)
45 CONFIG_VARIABLE (std::string, mackie_emulation, "mackie-emulation", "mcu")
46 CONFIG_VARIABLE (RemoteModel, remote_model, "remote-model", MixerOrdered)
47
48 /* disk operations */
49
50 CONFIG_VARIABLE (uint32_t, minimum_disk_io_bytes,  "minimum-disk-io-bytes", 1024 * 256)
51 CONFIG_VARIABLE (float, track_buffer_seconds, "track-buffer-seconds", 5.0)
52 CONFIG_VARIABLE (uint32_t, disk_choice_space_threshold,  "disk-choice-space-threshold", 57600000)
53 CONFIG_VARIABLE (SampleFormat, native_file_data_format,  "native-file-data-format", ARDOUR::FormatFloat)
54 CONFIG_VARIABLE (HeaderFormat, native_file_header_format,  "native-file-header-format", ARDOUR::WAVE)
55
56 /* OSC */
57
58 CONFIG_VARIABLE (uint32_t, osc_port, "osc-port", 3819)
59 CONFIG_VARIABLE (bool, use_osc, "use-osc", false)
60
61 /* crossfades */
62
63 CONFIG_VARIABLE (CrossfadeModel, xfade_model, "xfade-model", FullCrossfade)
64 CONFIG_VARIABLE (bool, auto_xfade, "auto-xfade", true)
65 CONFIG_VARIABLE (float, short_xfade_seconds, "short-xfade-seconds", 0.015)
66 CONFIG_VARIABLE (bool, xfades_active, "xfades-active", true)
67 CONFIG_VARIABLE (bool, xfades_visible, "xfades-visible", true)
68 CONFIG_VARIABLE (uint32_t, destructive_xfade_msecs,  "destructive-xfade-msecs", 2)
69
70 /* editing related */
71
72 CONFIG_VARIABLE (EditMode, edit_mode, "edit-mode", Slide)
73 CONFIG_VARIABLE (LayerModel, layer_model, "layer-model", MoveAddHigher)
74
75 /* monitoring, mute, solo etc */
76
77 CONFIG_VARIABLE (bool, mute_affects_pre_fader, "mute-affects-pre-fader", true)
78 CONFIG_VARIABLE (bool, mute_affects_post_fader, "mute-affects-post-fader", true)
79 CONFIG_VARIABLE (bool, mute_affects_control_outs, "mute-affects-control-outs", true)
80 CONFIG_VARIABLE (bool, mute_affects_main_outs, "mute-affects-main-outs", true)
81 CONFIG_VARIABLE (MonitorModel, monitoring_model, "monitoring-model", ExternalMonitoring)
82 CONFIG_VARIABLE (SoloModel, solo_model, "solo-model", InverseMute)
83 CONFIG_VARIABLE (bool, solo_latched, "solo-latched", true)
84 CONFIG_VARIABLE (bool, latched_record_enable, "latched-record-enable", false)
85 CONFIG_VARIABLE (bool, all_safe, "all-safe", false)
86 CONFIG_VARIABLE (bool, show_solo_mutes, "show-solo-mutes", false)
87
88 /* click */
89
90 CONFIG_VARIABLE (bool, clicking, "clicking", false)
91 CONFIG_VARIABLE (std::string, click_sound, "click-sound", "")
92 CONFIG_VARIABLE (std::string, click_emphasis_sound, "click-emphasis-sound", "")
93
94 /* transport control and related */
95
96 CONFIG_VARIABLE (bool, auto_play, "auto-play", false)
97 CONFIG_VARIABLE (bool, auto_return, "auto-return", false)
98 CONFIG_VARIABLE (bool, auto_input, "auto-input", true)
99 CONFIG_VARIABLE (bool, punch_in, "punch-in", false)
100 CONFIG_VARIABLE (bool, punch_out, "punch-out", false)
101 CONFIG_VARIABLE (bool, plugins_stop_with_transport, "plugins-stop-with-transport", false)
102 CONFIG_VARIABLE (bool, do_not_record_plugins, "do-not-record-plugins", false)
103 CONFIG_VARIABLE (bool, stop_recording_on_xrun, "stop-recording-on-xrun", false)
104 CONFIG_VARIABLE (bool, stop_at_session_end, "stop-at-session-end", true)
105 CONFIG_VARIABLE (bool, seamless_loop, "seamless-loop", false)
106 CONFIG_VARIABLE (nframes_t, preroll, "preroll", 0)
107 CONFIG_VARIABLE (nframes_t, postroll, "postroll", 0)
108 CONFIG_VARIABLE (float, rf_speed, "rf-speed", 2.0f)
109 CONFIG_VARIABLE (float, shuttle_speed_factor, "shuttle-speed-factor", 1.0f)
110 CONFIG_VARIABLE (float, shuttle_speed_threshold, "shuttle-speed-threshold", 5.0f)
111 CONFIG_VARIABLE (SlaveSource, slave_source, "slave-source", None)
112 CONFIG_VARIABLE (ShuttleBehaviour, shuttle_behaviour, "shuttle-behaviour", Sprung)
113 CONFIG_VARIABLE (ShuttleUnits, shuttle_units, "shuttle-units", Percentage)
114 CONFIG_VARIABLE (bool, quieten_at_speed, "quieten-at-speed", true)
115 CONFIG_VARIABLE (bool, primary_clock_delta_edit_cursor, "primary-clock-delta-edit-cursor", false)
116 CONFIG_VARIABLE (bool, secondary_clock_delta_edit_cursor, "secondary-clock-delta-edit-cursor", false)
117
118 /* timecode and sync */
119
120 CONFIG_VARIABLE (bool, jack_time_master, "jack-time-master", true)
121 CONFIG_VARIABLE (SmpteFormat, smpte_format, "smpte-format", smpte_30)
122 CONFIG_VARIABLE (bool, use_video_sync, "use-video-sync", false)
123 CONFIG_VARIABLE (bool, timecode_source_is_synced, "timecode-source-is-synced", true)
124 CONFIG_VARIABLE (float, video_pullup, "video-pullup", 0.0f)
125
126 /* metering */
127
128 CONFIG_VARIABLE (float, meter_hold, "meter-hold", 100.0f)
129 CONFIG_VARIABLE (float, meter_falloff, "meter-falloff", 27.0f)
130 CONFIG_VARIABLE (nframes_t, over_length_short, "over-length-short", 2)
131 CONFIG_VARIABLE (nframes_t, over_length_long, "over-length-long", 10)
132
133 /* miscellany */
134         
135 CONFIG_VARIABLE (bool, hiding_groups_deactivates_groups, "hiding-groups-deactivates-groups", true)
136 CONFIG_VARIABLE (bool, verify_remove_last_capture, "verify-remove-last-capture", true)
137 CONFIG_VARIABLE (bool, no_new_session_dialog, "no-new-session-dialog", false)
138 CONFIG_VARIABLE (bool, use_vst, "use-vst", true)
139 CONFIG_VARIABLE (uint32_t, subframes_per_frame, "subframes-per-frame", 100)
140 CONFIG_VARIABLE (uint32_t, saved_history_depth, "save-history-depth", 100)
141 CONFIG_VARIABLE (bool, use_overlap_equivalency, "use-overlap-equivalency", false)
142 CONFIG_VARIABLE (bool, periodic_safety_backups, "periodic-safety-backups", true)
143 CONFIG_VARIABLE (uint32_t, periodic_safety_backup_interval, "periodic-safety-backup-interval", 120)
144 CONFIG_VARIABLE (string, possible_audio_file_regexp, "possible-audio-file-regexp", "\\.(wav|aiff|caf|w64|L|R)$")
145
146 /* Theme */
147
148 CONFIG_VARIABLE (string, ui_rc_file, "ui-rc-file", "ardour2_ui_dark.rc")
149
150 /* denormal management */
151
152 CONFIG_VARIABLE (bool, denormal_protection, "denormal-protection", false)
153 CONFIG_VARIABLE (DenormalModel, denormal_model, "denormal-model", DenormalNone)
154
155 /* BWAV */
156
157 CONFIG_VARIABLE (string, bwf_country_code, "bwf-country-code", "US")
158 CONFIG_VARIABLE (string, bwf_organization_code, "bwf-organization-code", "US")
159
160 /* these variables have custom set() methods (e.g. path globbing) */
161
162 CONFIG_VARIABLE_SPECIAL(Glib::ustring, raid_path, "raid-path", "", path_expand)