diff options
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r-- | libs/ardour/ardour/audioengine.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/rc_configuration_vars.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/session.h | 21 |
3 files changed, 25 insertions, 0 deletions
diff --git a/libs/ardour/ardour/audioengine.h b/libs/ardour/ardour/audioengine.h index 49e3c15457..a908cf0bc1 100644 --- a/libs/ardour/ardour/audioengine.h +++ b/libs/ardour/ardour/audioengine.h @@ -261,6 +261,7 @@ _ the regular process() call to session->process() is not made. int create_process_thread (boost::function<void()>, pthread_t*, size_t stacksize); boost::shared_ptr<Port> ltc_input_port() const { return _ltc_input; } + boost::shared_ptr<Port> ltc_output_port() const { return _ltc_output; } private: static AudioEngine* _instance; @@ -292,6 +293,7 @@ private: ProcessThread* _main_thread; boost::shared_ptr<Port> _ltc_input; + boost::shared_ptr<Port> _ltc_output; void reconnect_ltc (); SerializedRCUManager<Ports> ports; diff --git a/libs/ardour/ardour/rc_configuration_vars.h b/libs/ardour/ardour/rc_configuration_vars.h index 9432b7230f..b05b90fa14 100644 --- a/libs/ardour/ardour/rc_configuration_vars.h +++ b/libs/ardour/ardour/rc_configuration_vars.h @@ -52,6 +52,8 @@ CONFIG_VARIABLE (bool, timecode_sync_frame_rate, "timecode-sync-frame-rate", tru CONFIG_VARIABLE (bool, timecode_source_is_synced, "timecode-source-is-synced", true) CONFIG_VARIABLE (SyncSource, sync_source, "sync-source", JACK) CONFIG_VARIABLE (std::string, ltc_source_port, "ltc-source-port", "system:capture_1") +CONFIG_VARIABLE (bool, send_ltc, "send-ltc", false) +CONFIG_VARIABLE (std::string, ltc_output_port, "ltc-sink-port", "") /* control surfaces */ diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h index df04971e02..c9389f60b1 100644 --- a/libs/ardour/ardour/session.h +++ b/libs/ardour/ardour/session.h @@ -64,6 +64,10 @@ #include <jack/session.h> #endif +#ifdef HAVE_LTC +#include <ltc.h> +#endif + class XMLTree; class XMLNode; struct _AEffect; @@ -1178,6 +1182,23 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi int send_midi_time_code_for_cycle (framepos_t, framepos_t, pframes_t nframes); +#ifdef HAVE_LTC + LTCEncoder* ltc_encoder; + ltcsnd_sample_t* ltc_enc_buf; + + Timecode::TimecodeFormat ltc_enc_tcformat; + framepos_t ltc_enc_pos; + int32_t ltc_buf_off; + int32_t ltc_buf_len; + int32_t ltc_enc_byte; + double ltc_speed; + + void ltc_tx_initialize(); + void ltc_tx_cleanup(); + void ltc_tx_reset(); + int ltc_tx_send_time_code_for_cycle (framepos_t, framepos_t, double, double, pframes_t nframes); +#endif + void reset_record_status (); int no_roll (pframes_t nframes); |