ACMX 2.136.0
Dual-Backend Real-Time GPU Video Synthesis
Loading...
Searching...
No Matches
acmxvk::audio::FileAudioSource::Impl Class Reference

Public Member Functions

void close ()
const std::string & current_track_path () const
bool decode_track (const std::string &requested_path)
double duration_seconds () const
bool enable_output (int device, float gain)
bool has_output_clock () const
bool mux_into_video (const std::string &requested_video_path, double video_duration)
bool open (const std::string &requested_path)
double playback_time () const
bool process_at_time (double seconds, double frames_per_second, AudioEngine &engine)
bool process_frame (double frames_per_second, AudioEngine &engine)
bool process_output_frame (double frames_per_second, AudioEngine &engine)
void report_current_track () const
void set_repeat (bool enabled)
void stop_output ()
void update_current_track (double position)
 ~Impl ()

Public Attributes

bool active = false
std::size_t current_track_index = 0
bool live_recording_source = false
std::uint64_t observed_output_loops = 0
std::unique_ptr< FileAudioOutput > output
double playback_position = 0.0
bool playlist_source = false
bool repeat = false
bool restart_pending = false
std::vector< float > samples
std::string source_path
std::vector< std::size_t > track_end_positions
std::vector< std::string > track_paths

Detailed Description

Definition at line 483 of file ACMXVK/file_audio.cpp.

Constructor & Destructor Documentation

◆ ~Impl()

acmxvk::audio::FileAudioSource::Impl::~Impl ( )
inline

Definition at line 485 of file ACMXVK/file_audio.cpp.

References close().

Member Function Documentation

◆ close()

void acmxvk::audio::FileAudioSource::Impl::close ( )
inline

◆ current_track_path()

const std::string & acmxvk::audio::FileAudioSource::Impl::current_track_path ( ) const
inlinenodiscard

Definition at line 1161 of file ACMXVK/file_audio.cpp.

References active, current_track_index, and track_paths.

Referenced by report_current_track().

◆ decode_track()

bool acmxvk::audio::FileAudioSource::Impl::decode_track ( const std::string & requested_path)
inline

◆ duration_seconds()

double acmxvk::audio::FileAudioSource::Impl::duration_seconds ( ) const
inlinenodiscard

Definition at line 1156 of file ACMXVK/file_audio.cpp.

References samples.

Referenced by mux_into_video(), and open().

◆ enable_output()

bool acmxvk::audio::FileAudioSource::Impl::enable_output ( int device,
float gain )
inline

Definition at line 767 of file ACMXVK/file_audio.cpp.

References observed_output_loops, output, repeat, and samples.

◆ has_output_clock()

bool acmxvk::audio::FileAudioSource::Impl::has_output_clock ( ) const
inlinenodiscard

Definition at line 786 of file ACMXVK/file_audio.cpp.

References active, and output.

Referenced by playback_time(), and process_frame().

◆ mux_into_video()

bool acmxvk::audio::FileAudioSource::Impl::mux_into_video ( const std::string & requested_video_path,
double video_duration )
inline

◆ open()

◆ playback_time()

double acmxvk::audio::FileAudioSource::Impl::playback_time ( ) const
inlinenodiscard

Definition at line 790 of file ACMXVK/file_audio.cpp.

References has_output_clock(), and output.

◆ process_at_time()

bool acmxvk::audio::FileAudioSource::Impl::process_at_time ( double seconds,
double frames_per_second,
AudioEngine & engine )
inline

◆ process_frame()

◆ process_output_frame()

bool acmxvk::audio::FileAudioSource::Impl::process_output_frame ( double frames_per_second,
AudioEngine & engine )
inline

◆ report_current_track()

void acmxvk::audio::FileAudioSource::Impl::report_current_track ( ) const
inline

◆ set_repeat()

void acmxvk::audio::FileAudioSource::Impl::set_repeat ( bool enabled)
inline

Definition at line 760 of file ACMXVK/file_audio.cpp.

References output, and repeat.

◆ stop_output()

void acmxvk::audio::FileAudioSource::Impl::stop_output ( )
inline

Definition at line 782 of file ACMXVK/file_audio.cpp.

References output.

◆ update_current_track()

void acmxvk::audio::FileAudioSource::Impl::update_current_track ( double position)
inline

Member Data Documentation

◆ active

bool acmxvk::audio::FileAudioSource::Impl::active = false

◆ current_track_index

std::size_t acmxvk::audio::FileAudioSource::Impl::current_track_index = 0

◆ live_recording_source

bool acmxvk::audio::FileAudioSource::Impl::live_recording_source = false

Definition at line 1345 of file ACMXVK/file_audio.cpp.

Referenced by mux_into_video().

◆ observed_output_loops

std::uint64_t acmxvk::audio::FileAudioSource::Impl::observed_output_loops = 0

Definition at line 1340 of file ACMXVK/file_audio.cpp.

Referenced by close(), enable_output(), and process_output_frame().

◆ output

std::unique_ptr<FileAudioOutput> acmxvk::audio::FileAudioSource::Impl::output

◆ playback_position

double acmxvk::audio::FileAudioSource::Impl::playback_position = 0.0

◆ playlist_source

bool acmxvk::audio::FileAudioSource::Impl::playlist_source = false

◆ repeat

bool acmxvk::audio::FileAudioSource::Impl::repeat = false

◆ restart_pending

bool acmxvk::audio::FileAudioSource::Impl::restart_pending = false

Definition at line 1343 of file ACMXVK/file_audio.cpp.

Referenced by close(), open(), and process_frame().

◆ samples

std::vector<float> acmxvk::audio::FileAudioSource::Impl::samples

◆ source_path

std::string acmxvk::audio::FileAudioSource::Impl::source_path

Definition at line 1334 of file ACMXVK/file_audio.cpp.

Referenced by close(), and open().

◆ track_end_positions

std::vector<std::size_t> acmxvk::audio::FileAudioSource::Impl::track_end_positions

Definition at line 1336 of file ACMXVK/file_audio.cpp.

Referenced by close(), open(), and update_current_track().

◆ track_paths

std::vector<std::string> acmxvk::audio::FileAudioSource::Impl::track_paths

The documentation for this class was generated from the following file: