MuteMaster should (a) use a Muteable's own ::muted_by_others_soloing() (b) not try...
[ardour.git] / libs / ardour / ardour / session_configuration_vars.h
1 /*
2     Copyright (C) 2009 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 /*****************************************************
21     DO NOT USE uint8_t or any other type that resolves
22     to a single char, because the value will be
23     stored incorrectly when serialized. Use int32_t
24     instead and ensure that code correctly limits
25     the value of the variable.
26 *****************************************************/
27
28 CONFIG_VARIABLE (uint32_t, destructive_xfade_msecs,  "destructive-xfade-msecs", 2)
29 CONFIG_VARIABLE (bool, use_region_fades, "use-region-fades", true)
30 CONFIG_VARIABLE (bool, use_transport_fades, "use-transport-fades", true)
31 CONFIG_VARIABLE (bool, use_monitor_fades, "use-monitor-fades", true)
32 CONFIG_VARIABLE (SampleFormat, native_file_data_format,  "native-file-data-format", ARDOUR::FormatFloat)
33 CONFIG_VARIABLE (HeaderFormat, native_file_header_format,  "native-file-header-format", ARDOUR::WAVE)
34 CONFIG_VARIABLE (bool, auto_play, "auto-play", false)
35 CONFIG_VARIABLE (bool, auto_return, "auto-return", false)
36 CONFIG_VARIABLE (bool, auto_input, "auto-input", true)
37 CONFIG_VARIABLE (bool, punch_in, "punch-in", false)
38 CONFIG_VARIABLE (bool, punch_out, "punch-out", false)
39 CONFIG_VARIABLE (uint32_t, subframes_per_frame, "subframes-per-frame", 100)
40 CONFIG_VARIABLE (Timecode::TimecodeFormat, timecode_format, "timecode-format", Timecode::timecode_30)
41 CONFIG_VARIABLE_SPECIAL(std::string, raid_path, "raid-path", "", PBD::path_expand)
42 CONFIG_VARIABLE_SPECIAL(std::string, audio_search_path, "audio-search-path", "", PBD::search_path_expand)
43 CONFIG_VARIABLE_SPECIAL(std::string, midi_search_path, "midi-search-path", "", PBD::search_path_expand)
44 CONFIG_VARIABLE (bool, track_name_number, "track-name-number", false)
45 CONFIG_VARIABLE (bool, track_name_take, "track-name-take", false)
46 CONFIG_VARIABLE (std::string, take_name, "take-name", "Take1")
47 CONFIG_VARIABLE (bool, jack_time_master, "jack-time-master", true)
48 CONFIG_VARIABLE (bool, use_video_sync, "use-video-sync", false)
49 CONFIG_VARIABLE (float, video_pullup, "video-pullup", 0.0f)
50 CONFIG_VARIABLE (bool, external_sync, "external-sync", false)
51 CONFIG_VARIABLE (InsertMergePolicy, insert_merge_policy, "insert-merge-policy", InsertMergeRelax)
52 CONFIG_VARIABLE (framecnt_t, timecode_offset, "timecode-offset", 0)
53 CONFIG_VARIABLE (bool, timecode_offset_negative, "timecode-offset-negative", true)
54 CONFIG_VARIABLE (std::string, slave_timecode_offset, "slave-timecode-offset", " 00:00:00:00")
55 CONFIG_VARIABLE (std::string, timecode_generator_offset, "timecode-generator-offset", " 00:00:00:00")
56 CONFIG_VARIABLE (bool, glue_new_markers_to_bars_and_beats, "glue-new-markers-to-bars-and-beats", false)
57 CONFIG_VARIABLE (bool, midi_copy_is_fork, "midi-copy-is-fork", false)
58 CONFIG_VARIABLE (bool, glue_new_regions_to_bars_and_beats, "glue-new-regions-to-bars-and-beats", false)
59 CONFIG_VARIABLE (bool, realtime_export, "realtime-export", false)
60
61 /* Video-settings are saved with the session and belong to the session.
62  * headless ardour could remote control xjadeo for example.
63  */
64 CONFIG_VARIABLE (bool, use_video_file_fps, "use-video-file-fps", false)
65 CONFIG_VARIABLE (bool, videotimeline_pullup, "videotimeline-pullup", true)
66
67 /* These are GUI-only properties and should not be present in this
68  * context. There needs to be a new GUI-level session-scoped configuration
69  * variable header.
70  */
71 CONFIG_VARIABLE (double, wave_amplitude_zoom, "wave-amplitude-zoom", 0.0)
72 CONFIG_VARIABLE (uint16_t, wave_zoom_factor, "wave-zoom-factor", 2)
73 CONFIG_VARIABLE (bool, show_summary, "show-summary", true)
74 CONFIG_VARIABLE (bool, show_group_tabs, "show-group-tabs", true)
75 CONFIG_VARIABLE (bool, show_region_fades, "show-region-fades", true)
76 CONFIG_VARIABLE (bool, show_busses_on_meterbridge, "show-busses-on-meterbridge", false)
77 CONFIG_VARIABLE (bool, show_master_on_meterbridge, "show-master-on-meterbridge", true)
78 CONFIG_VARIABLE (bool, show_midi_on_meterbridge, "show-midi-on-meterbridge", true)
79 CONFIG_VARIABLE (bool, show_rec_on_meterbridge, "show-rec-on-meterbridge", true)
80 CONFIG_VARIABLE (bool, show_mute_on_meterbridge, "show-mute-on-meterbridge", false)
81 CONFIG_VARIABLE (bool, show_solo_on_meterbridge, "show-solo-on-meterbridge", false)
82 CONFIG_VARIABLE (bool, show_monitor_on_meterbridge, "show-monitor-on-meterbridge", false)
83 CONFIG_VARIABLE (bool, show_name_on_meterbridge, "show-name-on-meterbridge", true)
84 CONFIG_VARIABLE (uint32_t, meterbridge_label_height,  "meterbridge-label-height", 0)
85
86 #ifdef USE_TRACKS_CODE_FEATURES
87 /* This variable was not discussed with Ardour developers and is considered
88    weakly conceived. It is also poorly named, since we have "groups" already
89    present in libardour but this variable has nothing to do with it. There
90    should have been more discussion about what was required and the best
91    way to accomplish it.
92 */
93 CONFIG_VARIABLE (bool, enable_group_edit, "enable-group-edit", false)
94 /* These are GUI-only properties and should not be present in this context */
95 #endif