diff options
-rw-r--r-- | libs/ardour/ardour/rc_configuration_vars.h | 1 | ||||
-rw-r--r-- | libs/ardour/ardour/session.h | 1 | ||||
-rw-r--r-- | libs/ardour/session.cc | 1 | ||||
-rw-r--r-- | libs/ardour/session_click.cc | 4 | ||||
-rw-r--r-- | libs/ardour/session_state.cc | 4 |
5 files changed, 11 insertions, 0 deletions
diff --git a/libs/ardour/ardour/rc_configuration_vars.h b/libs/ardour/ardour/rc_configuration_vars.h index 413eb7fe33..66719e8d06 100644 --- a/libs/ardour/ardour/rc_configuration_vars.h +++ b/libs/ardour/ardour/rc_configuration_vars.h @@ -147,6 +147,7 @@ CONFIG_VARIABLE (std::string, midi_audition_synth_uri, "midi-audition-synth-uri" /* click */ CONFIG_VARIABLE (bool, clicking, "clicking", false) +CONFIG_VARIABLE (bool, click_record_only, "click-record-only", false) CONFIG_VARIABLE (std::string, click_sound, "click-sound", "") CONFIG_VARIABLE (std::string, click_emphasis_sound, "click-emphasis-sound", "") CONFIG_VARIABLE (gain_t, click_gain, "click-gain", 1.0) diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index 8088858917..02f6fdeb5b 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -1896,6 +1896,7 @@ class LIBARDOUR_API Session : public PBD::StatefulDestructible, public PBD::Scop typedef std::list<Click*> Clicks; Clicks clicks; bool _clicking; + bool _click_rec_only; boost::shared_ptr<IO> _click_io; boost::shared_ptr<Amp> _click_gain; Sample* click_data; diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index eb8e233993..d54dac7fd9 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -295,6 +295,7 @@ Session::Session (AudioEngine &eng, , _bundle_xml_node (0) , _current_trans (0) , _clicking (false) + , _click_rec_only (false) , click_data (0) , click_emphasis_data (0) , click_length (0) diff --git a/libs/ardour/session_click.cc b/libs/ardour/session_click.cc index 08aa0cc446..fc1f9c5e1d 100644 --- a/libs/ardour/session_click.cc +++ b/libs/ardour/session_click.cc @@ -75,6 +75,10 @@ Session::click (framepos_t start, framecnt_t nframes) return; } + if (_click_rec_only && !actively_recording()) { + return; + } + start -= _worst_track_latency; /* start could be negative at this point */ const framepos_t end = start + nframes; diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc index 72da3e6788..edca09ff14 100644 --- a/libs/ardour/session_state.cc +++ b/libs/ardour/session_state.cc @@ -4049,6 +4049,10 @@ Session::config_changed (std::string p, bool ours) _clicking = false; } + } else if (p == "click-record-only") { + + _click_rec_only = Config->get_click_record_only(); + } else if (p == "click-gain") { if (_click_gain) { |