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