Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
external_sync.hpp File Reference
#include <pulp/audio/rt_safety_contract.hpp>
#include <pulp/midi/buffer.hpp>
#include <pulp/timebase/rational_time.hpp>
#include <array>
#include <compare>
#include <cstddef>
#include <cstdint>
#include <span>

Go to the source code of this file.

Classes

struct  pulp::playback::MtcTimecode
struct  pulp::playback::MtcChaseUpdate
class  pulp::playback::MtcChaser
 Allocation-free MTC decoder. More...
struct  pulp::playback::ExternalSyncOutputConfig
struct  pulp::playback::ExternalSyncOutputResult
class  pulp::playback::ExternalSyncOutput
 Stateless block projection from the musical transport to MIDI sync. More...

Namespaces

namespace  pulp
namespace  pulp::playback

Enumerations

enum class  pulp::playback::MtcFrameRate : std::uint8_t { pulp::playback::Fps24 , pulp::playback::Fps25 , pulp::playback::Fps2997Drop , pulp::playback::Fps30 }
enum class  pulp::playback::MtcChaseCode : std::uint8_t {
  pulp::playback::Ignored , pulp::playback::Incomplete , pulp::playback::Locked , pulp::playback::Discontinuity ,
  pulp::playback::Invalid
}
enum class  pulp::playback::MtcDirection : std::int8_t { pulp::playback::Reverse = -1 , pulp::playback::Unknown = 0 , pulp::playback::Forward = 1 }
enum class  pulp::playback::ExternalSyncOutputCode : std::uint8_t {
  pulp::playback::Complete , pulp::playback::InvalidTransport , pulp::playback::InvalidSampleRate , pulp::playback::InvalidFrameRate ,
  pulp::playback::InvalidOutputLimit , pulp::playback::OutputOverflow
}

Functions

bool pulp::playback::valid_mtc_timecode (const MtcTimecode &timecode) noexcept
timebase::SamplePosition pulp::playback::mtc_timecode_to_samples (const MtcTimecode &timecode, timebase::RationalRate sample_rate) noexcept
 Convert between an MTC wall-clock label and a non-negative timeline sample.
MtcTimecode pulp::playback::samples_to_mtc_timecode (timebase::SamplePosition position, timebase::RationalRate sample_rate, MtcFrameRate frame_rate) noexcept