ACMX 2.136.0
Dual-Backend Real-Time GPU Video Synthesis
Loading...
Searching...
No Matches
ACMXVK/file_audio.hpp
Go to the documentation of this file.
1#ifndef ACMXVK_FILE_AUDIO_HPP
2#define ACMXVK_FILE_AUDIO_HPP
3
4#include <cstddef>
5#include <memory>
6#include <string>
7#include <vector>
8
9namespace acmxvk::audio {
10
11 class AudioEngine;
12
14 public:
17
20
21 bool open(const std::string &path);
22 void close();
23 void set_repeat(bool enabled);
24 bool enable_output(int device = -1, float gain = 1.0F);
25 void stop_output();
26 [[nodiscard]] bool has_output_clock() const;
27 [[nodiscard]] double playback_time() const;
28 bool mux_into_video(const std::string &video_path, double video_duration);
29 static bool mux_recording_into_video(std::vector<float> samples,
30 unsigned int sample_rate,
31 const std::string &video_path,
32 double video_duration);
33 [[nodiscard]] bool is_open() const;
34 [[nodiscard]] bool is_active() const;
35 [[nodiscard]] double duration_seconds() const;
36 [[nodiscard]] const std::string &path() const;
37 [[nodiscard]] std::size_t track_count() const;
38 [[nodiscard]] const std::string &current_track_path() const;
39
40 bool process_frame(double frames_per_second, AudioEngine &engine);
41 bool process_at_time(double seconds, double frames_per_second,
42 AudioEngine &engine);
43
44 private:
45 class Impl;
46 std::unique_ptr<Impl> impl;
47 };
48
49} // namespace acmxvk::audio
50
51#endif
bool process_frame(double frames_per_second, AudioEngine &engine)
bool process_at_time(double seconds, double frames_per_second, AudioEngine &engine)
FileAudioSource & operator=(const FileAudioSource &)=delete
FileAudioSource(const FileAudioSource &)=delete
const std::string & current_track_path() const
bool enable_output(int device=-1, float gain=1.0F)
bool mux_into_video(const std::string &video_path, double video_duration)
bool open(const std::string &path)
static bool mux_recording_into_video(std::vector< float > samples, unsigned int sample_rate, const std::string &video_path, double video_duration)
const std::string & path() const