28 static constexpr std::string_view
VIDEO_DIR =
"videos";
29 static constexpr std::string_view
AUDIO_DIR =
"soundlogs";
37 void addWave(std::span<const StereoFloat> data);
44 void start(
bool recordAudio,
bool recordVideo,
bool recordMono,
45 bool recordStereo,
const Filename& filename);
46 void status(std::span<const TclObject> tokens,
TclObject& result)
const;
49 void processStop (std::span<const TclObject> tokens);
57 void execute(std::span<const TclObject> tokens,
TclObject& result)
override;
58 [[nodiscard]] std::string help(std::span<const TclObject> tokens)
const override;
59 void tabCompletion(std::vector<std::string>& tokens)
const override;
62 std::vector<int16_t> audioBuf;
63 std::unique_ptr<AviWriter> aviWriter;
64 std::unique_ptr<Wav16Writer> wavWriter;
65 std::vector<PostProcessor*> postProcessors;
68 EmuTime prevTime = EmuTime::infinity();
71 unsigned frameHeight = 0;
73 bool warnedSampleRate;