merge 3.0 from 2.0-ongoing@3243
[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", true)
37 CONFIG_VARIABLE (bool, mmc_control, "mmc-control", true)
38 CONFIG_VARIABLE (bool, midi_feedback, "midi-feedback", false)
39 CONFIG_VARIABLE (uint8_t, mmc_receive_device_id, "mmc-receive-device-id", 0)
40 CONFIG_VARIABLE (uint8_t, mmc_send_device_id, "mmc-send-device-id", 0)
41
42 /* control surfaces */
43
44 CONFIG_VARIABLE (uint32_t, feedback_interval_ms,  "feedback-interval-ms", 100)
45 CONFIG_VARIABLE (bool, use_tranzport,  "use-tranzport", false)
46 CONFIG_VARIABLE (std::string, mackie_emulation, "mackie-emulation", "mcu")
47 CONFIG_VARIABLE (RemoteModel, remote_model, "remote-model", MixerOrdered)
48
49 /* disk operations */
50
51 CONFIG_VARIABLE (uint32_t, minimum_disk_io_bytes,  "minimum-disk-io-bytes", 1024 * 256)
52 CONFIG_VARIABLE (float, track_buffer_seconds, "track-buffer-seconds", 5.0)
53 CONFIG_VARIABLE (uint32_t, disk_choice_space_threshold,  "disk-choice-space-threshold", 57600000)
54 CONFIG_VARIABLE (SampleFormat, native_file_data_format,  "native-file-data-format", ARDOUR::FormatFloat)
55 CONFIG_VARIABLE (HeaderFormat, native_file_header_format,  "native-file-header-format", ARDOUR::WAVE)
56 CONFIG_VARIABLE (bool, auto_analyse_audio, "auto-analyse-audio", false)
57
58 /* OSC */
59
60 CONFIG_VARIABLE (uint32_t, osc_port, "osc-port", 3819)
61 CONFIG_VARIABLE (bool, use_osc, "use-osc", false)
62
63 /* crossfades */
64
65 CONFIG_VARIABLE (CrossfadeModel, xfade_model, "xfade-model", FullCrossfade)
66 CONFIG_VARIABLE (bool, auto_xfade, "auto-xfade", true)
67 CONFIG_VARIABLE (float, short_xfade_seconds, "short-xfade-seconds", 0.015)
68 CONFIG_VARIABLE (bool, xfades_active, "xfades-active", true)
69 CONFIG_VARIABLE (bool, xfades_visible, "xfades-visible", true)
70 CONFIG_VARIABLE (uint32_t, destructive_xfade_msecs,  "destructive-xfade-msecs", 2)
71
72 /* editing related */
73
74 CONFIG_VARIABLE (EditMode, edit_mode, "edit-mode", Slide)
75 CONFIG_VARIABLE (LayerModel, layer_model, "layer-model", MoveAddHigher)
76 CONFIG_VARIABLE (bool, link_region_and_track_selection, "link-region-and-track-selection", false)
77 CONFIG_VARIABLE (std::string, keyboard_layout_name, "keyboard-layout-name", "ansi")
78
79 /* monitoring, mute, solo etc */
80
81 CONFIG_VARIABLE (bool, mute_affects_pre_fader, "mute-affects-pre-fader", true)
82 CONFIG_VARIABLE (bool, mute_affects_post_fader, "mute-affects-post-fader", true)
83 CONFIG_VARIABLE (bool, mute_affects_control_outs, "mute-affects-control-outs", true)
84 CONFIG_VARIABLE (bool, mute_affects_main_outs, "mute-affects-main-outs", true)
85 CONFIG_VARIABLE (MonitorModel, monitoring_model, "monitoring-model", ExternalMonitoring)
86 CONFIG_VARIABLE (SoloModel, solo_model, "solo-model", InverseMute)
87 CONFIG_VARIABLE (bool, solo_latched, "solo-latched", true)
88 CONFIG_VARIABLE (bool, latched_record_enable, "latched-record-enable", false)
89 CONFIG_VARIABLE (bool, all_safe, "all-safe", false)
90 CONFIG_VARIABLE (bool, show_solo_mutes, "show-solo-mutes", false)
91 CONFIG_VARIABLE (bool, tape_machine_mode, "tape-machine-mode", false)
92
93 /* click */
94
95 CONFIG_VARIABLE (bool, clicking, "clicking", false)
96 CONFIG_VARIABLE (std::string, click_sound, "click-sound", "")
97 CONFIG_VARIABLE (std::string, click_emphasis_sound, "click-emphasis-sound", "")
98
99 /* transport control and related */
100
101 CONFIG_VARIABLE (bool, auto_play, "auto-play", false)
102 CONFIG_VARIABLE (bool, auto_return, "auto-return", false)
103 CONFIG_VARIABLE (bool, auto_input, "auto-input", true)
104 CONFIG_VARIABLE (bool, punch_in, "punch-in", false)
105 CONFIG_VARIABLE (bool, punch_out, "punch-out", false)
106 CONFIG_VARIABLE (bool, plugins_stop_with_transport, "plugins-stop-with-transport", false)
107 CONFIG_VARIABLE (bool, do_not_record_plugins, "do-not-record-plugins", false)
108 CONFIG_VARIABLE (bool, stop_recording_on_xrun, "stop-recording-on-xrun", false)
109 CONFIG_VARIABLE (bool, create_xrun_marker, "create-xrun-marker", true)
110 CONFIG_VARIABLE (bool, stop_at_session_end, "stop-at-session-end", true)
111 CONFIG_VARIABLE (bool, seamless_loop, "seamless-loop", false)
112 CONFIG_VARIABLE (nframes_t, preroll, "preroll", 0)
113 CONFIG_VARIABLE (nframes_t, postroll, "postroll", 0)
114 CONFIG_VARIABLE (float, rf_speed, "rf-speed", 2.0f)
115 CONFIG_VARIABLE (float, shuttle_speed_factor, "shuttle-speed-factor", 1.0f)
116 CONFIG_VARIABLE (float, shuttle_speed_threshold, "shuttle-speed-threshold", 5.0f)
117 CONFIG_VARIABLE (SlaveSource, slave_source, "slave-source", None)
118 CONFIG_VARIABLE (ShuttleBehaviour, shuttle_behaviour, "shuttle-behaviour", Sprung)
119 CONFIG_VARIABLE (ShuttleUnits, shuttle_units, "shuttle-units", Percentage)
120 CONFIG_VARIABLE (bool, quieten_at_speed, "quieten-at-speed", true)
121 CONFIG_VARIABLE (bool, primary_clock_delta_edit_cursor, "primary-clock-delta-edit-cursor", false)
122 CONFIG_VARIABLE (bool, secondary_clock_delta_edit_cursor, "secondary-clock-delta-edit-cursor", false)
123 CONFIG_VARIABLE (bool, show_track_meters, "show-track-meters", true)
124
125 /* timecode and sync */
126
127 CONFIG_VARIABLE (bool, jack_time_master, "jack-time-master", true)
128 CONFIG_VARIABLE (SmpteFormat, smpte_format, "smpte-format", smpte_30)
129 CONFIG_VARIABLE (bool, use_video_sync, "use-video-sync", false)
130 CONFIG_VARIABLE (bool, timecode_source_is_synced, "timecode-source-is-synced", true)
131 CONFIG_VARIABLE (float, video_pullup, "video-pullup", 0.0f)
132
133 /* metering */
134
135 CONFIG_VARIABLE (float, meter_hold, "meter-hold", 100.0f)
136 CONFIG_VARIABLE (float, meter_falloff, "meter-falloff", 27.0f)
137 CONFIG_VARIABLE (nframes_t, over_length_short, "over-length-short", 2)
138 CONFIG_VARIABLE (nframes_t, over_length_long, "over-length-long", 10)
139
140 /* miscellany */
141         
142 CONFIG_VARIABLE (bool, hiding_groups_deactivates_groups, "hiding-groups-deactivates-groups", true)
143 CONFIG_VARIABLE (bool, verify_remove_last_capture, "verify-remove-last-capture", true)
144 CONFIG_VARIABLE (bool, no_new_session_dialog, "no-new-session-dialog", false)
145 CONFIG_VARIABLE (bool, use_vst, "use-vst", true)
146 CONFIG_VARIABLE (uint32_t, subframes_per_frame, "subframes-per-frame", 100)
147 CONFIG_VARIABLE (bool, save_history, "save-history", true)
148 CONFIG_VARIABLE (int32_t, saved_history_depth, "save-history-depth", 20)
149 CONFIG_VARIABLE (int32_t, history_depth, "history-depth", 20)
150 CONFIG_VARIABLE (bool, use_overlap_equivalency, "use-overlap-equivalency", false)
151 CONFIG_VARIABLE (bool, periodic_safety_backups, "periodic-safety-backups", true)
152 CONFIG_VARIABLE (uint32_t, periodic_safety_backup_interval, "periodic-safety-backup-interval", 120)
153 CONFIG_VARIABLE (float, automation_interval, "automation-interval", 50)
154 CONFIG_VARIABLE (bool, sync_all_route_ordering, "sync-all-route-ordering", true)
155 CONFIG_VARIABLE (bool, only_copy_imported_files, "only-copy-imported-files", true)
156 CONFIG_VARIABLE (std::string, keyboard_layout, "keyboard-layout", "ansi")
157 CONFIG_VARIABLE (std::string, default_bindings, "default-bindings", "ardour")
158 CONFIG_VARIABLE (bool, default_narrow_ms, "default-narrow_ms", false)
159 CONFIG_VARIABLE (bool, rubberbanding_snaps_to_grid, "rubberbanding-snaps-to-grid", false)
160 CONFIG_VARIABLE (long, font_scale, "font-scale", 102400)
161
162 /* denormal management */
163
164 CONFIG_VARIABLE (bool, denormal_protection, "denormal-protection", false)
165 CONFIG_VARIABLE (DenormalModel, denormal_model, "denormal-model", DenormalNone)
166
167 /* BWAV */
168
169 CONFIG_VARIABLE (string, bwf_country_code, "bwf-country-code", "US")
170 CONFIG_VARIABLE (string, bwf_organization_code, "bwf-organization-code", "US")
171
172 /* these variables have custom set() methods (e.g. path globbing) */
173
174 CONFIG_VARIABLE_SPECIAL(Glib::ustring, raid_path, "raid-path", "", path_expand)
175