1 #ifndef _videodumper2__hpp__included__
2 #define _videodumper2__hpp__included__
11 #include "videodumper.hpp"
16 * Forcibly ends dumping. Mainly useful for quitting.
18 * \throws std::bad_alloc Not enough memory.
19 * \throws std::runtime_error Failed to end dump.
21 void end_vid_dump() throw(std::bad_alloc
, std::runtime_error
);
24 * \brief Dump a frame.
26 * Dumps a frame. Does nothing if dumping is not in progress.
28 * \param ls Screen to dump.
29 * \param rq Render queue to run.
30 * \param left Left border.
31 * \param right Right border.
32 * \param top Top border.
33 * \param bottom Bottom border.
34 * \param region True if PAL, false if NTSC.
35 * \param win Graphics system handle.
36 * \throws std::bad_alloc Not enough memory.
37 * \throws std::runtime_error Failed to dump frame.
39 void dump_frame(lcscreen
& ls
, render_queue
* rq
, uint32_t left
, uint32_t right
, uint32_t top
, uint32_t bottom
,
40 bool region
, window
* win
) throw(std::bad_alloc
, std::runtime_error
);
43 * \brief Dump sample of audio.
45 * Dumps one sample of audio. Does nothing if dumping is not in progress.
47 * \param l_sample Left channel sample (-32768-32767)
48 * \param r_sample Right channel sample (-32768-32767)
49 * \param win Graphics System handle.
50 * \throws std::bad_alloc Not enough memory.
51 * \throws std::runtime_error Failed to dump sample.
53 void dump_audio_sample(int16_t l_sample
, int16_t r_sample
, window
* win
) throw(std::bad_alloc
, std::runtime_error
);
56 * \brief Is the dump in progress?
58 bool dump_in_progress() throw();
61 * \brief Fill rendering shifts.
63 void video_fill_shifts(uint32_t& r
, uint32_t& g
, uint32_t& b
);