cgv
|
the image writer chooses a specific writer automatically based on the extension of the given file name More...
#include <video_writer.h>
Public Member Functions | |
video_writer (const std::string &file_extension) | |
construct a video writer from a file extension and choose an implementation based on the extension | |
const std::string & | get_last_error () const |
return a reference to the last error message | |
std::string | get_type_name () const |
returns the type name of the chosen video writer implementation | |
bool | scan_codecs (std::vector< std::string > &codec_names) const |
return a list of supported codecs in text format | |
bool | set_codec (const std::string &codec_name) |
select a specific codec. This will chance the properties available with the property interface. | |
std::string | get_codec () const |
return the currently selected codec | |
std::string | get_property_declarations () |
return a semicolon separated list of property declarations supported by the selected codec. | |
bool | open (const std::string &file_name, const cgv::data::data_format &image_format, float fps=25, bool interactive=false) |
open a video file for writing images in the given format with the given fps. | |
bool | write_frame (const cgv::data::const_data_view &image_data) |
write the image data stored in the data view as next video frame to the previously opened video file. | |
bool | close () |
close the video file | |
![]() | |
virtual std::string | get_default_options () const |
overload to provide default options for registration | |
std::string | get_name_or_type_name () const |
determine name of instance by checking cgv::base::named interface and in failure fallback to get_type_name() | |
virtual void | on_register () |
overload to handle register events that is sent after the instance has been registered | |
virtual void | unregister () |
overload to handle unregistration of instances | |
virtual bool | on_exit_request () |
overload to handle the appication exit request, return true if exiting is allowed and false otherwise | |
virtual void | stream_stats (std::ostream &) |
overload to show the content of this object | |
virtual data::ref_ptr< named, true > | get_named () |
perform downcast to named | |
virtual data::ref_ptr< node, true > | get_node () |
perform downcast to node | |
virtual data::ref_ptr< group, true > | get_group () |
perform downcast to group | |
virtual data::ref_ptr< const named, true > | get_named_const () const |
perform downcast to const named | |
virtual data::ref_ptr< const node, true > | get_node_const () const |
perform downcast to const node | |
virtual data::ref_ptr< const group, true > | get_group_const () const |
perform downcast to const group | |
template<class T > | |
data::ref_ptr< T, true > | cast () |
cast to arbitrary class, but use the casts to named, node and group from the interface | |
template<class T > | |
data::ref_ptr< const T, true > | cast_const () |
const cast to arbitrary class, but use the casts to named, node and group from the interface | |
template<class T > | |
T * | get_interface () |
use dynamic type cast to check for the given interface | |
template<class T > | |
const T * | get_const_interface () const |
use dynamic type cast to check for the given interface | |
virtual void | update () |
this virtual update allows for example to ask a view to update the viewed value. The default implementation is empty. | |
virtual void * | get_user_data () const |
this virtual method allows to pass application specific data for internal purposes | |
virtual bool | self_reflect (cgv::reflect::reflection_handler &) |
used for simple self reflection | |
virtual void | on_set (void *member_ptr) |
this callback is called when the set_void method has changed a member and can be overloaded in derived class | |
virtual bool | call_void (const std::string &method, const std::vector< std::string > ¶m_value_types, const std::vector< const void * > ¶m_value_ptrs, const std::string &result_type="", void *result_value_ptr=0) |
abstract interface to call an action | |
void | set (const std::string &property, const char *value) |
specialization of set method to support const char* as strings | |
template<typename T > | |
void | set (const std::string &property, const T &value) |
set a property of the element to the given value and perform standard conversions if necessary. | |
template<typename T > | |
T | get (const std::string &property) |
query a property of the element and perform standard conversions if necessary. | |
void | multi_set (const std::string &property_assignments, bool report_error=true) |
set several properties | |
bool | is_property (const std::string &property_name, std::string *type_name=0) |
check if the given name specifies a property. | |
void * | find_member_ptr (const std::string &property_name, std::string *type_name=0) |
find a member pointer by name. | |
![]() | |
int | get_ref_count () const |
read access to current count | |
Static Public Member Functions | |
static const std::string & | get_supported_extensions (char sep=';') |
return a string with a list of supported extensions, where the list entries are separated with the passed character that defaults to a semicolon | |
static std::string | construct_filter_string () |
use this to generate a file_open_dialog or file_save_dialog | |
Protected Member Functions | |
bool | set_void (const std::string &property, const std::string &type, const void *value) |
abstract interface for the setter, uses the interface of the selected writer implementation | |
bool | get_void (const std::string &property, const std::string &type, void *value) |
abstract interface for the getter, uses the interface of the selected writer implementation | |
![]() | |
virtual | ~base () |
make destructor virtual and not accessible from outside | |
![]() | |
ref_counted () | |
constructor initializes the count to 0 | |
void | set_ref_count (int c) const |
write access is also const to allow ref counted pointers to const instances | |
Protected Attributes | |
abst_video_writer * | wr |
store a pointer to the chosen reader | |
std::string | last_error |
store the last error not resulting from video writer implementations | |
Additional Inherited Members | |
![]() | |
template<class T > | |
static data::ref_ptr< T, true > | cast_dynamic (base *b) |
use dynamic cast for upcast to given class | |
the image writer chooses a specific writer automatically based on the extension of the given file name
Definition at line 40 of file video_writer.h.
cgv::media::video::video_writer::video_writer | ( | const std::string & | file_extension | ) |
construct a video writer from a file extension and choose an implementation based on the extension
Definition at line 93 of file video_writer.cxx.
References get_supported_extensions(), cgv::utils::is_element(), last_error, cgv::utils::to_lower(), and wr.
bool cgv::media::video::video_writer::close | ( | ) |
close the video file
Definition at line 191 of file video_writer.cxx.
References cgv::media::video::abst_video_writer::close(), last_error, and wr.
|
static |
use this to generate a file_open_dialog or file_save_dialog
Definition at line 79 of file video_writer.cxx.
References get_supported_extensions(), and cgv::utils::replace().
std::string cgv::media::video::video_writer::get_codec | ( | ) | const |
return the currently selected codec
Definition at line 141 of file video_writer.cxx.
References cgv::media::video::abst_video_writer::get_codec(), and wr.
const std::string & cgv::media::video::video_writer::get_last_error | ( | ) | const |
return a reference to the last error message
Definition at line 109 of file video_writer.cxx.
References cgv::media::video::abst_video_writer::get_last_error(), last_error, and wr.
|
virtual |
return a semicolon separated list of property declarations supported by the selected codec.
return a semicolon separated list of property declarations of the form "name:type", by default an empty list is returned
Each property declaration is of the form "name:type", where type is in correcpondence with the cgv::type::info::type_name.
Reimplemented from cgv::base::base.
Definition at line 149 of file video_writer.cxx.
References cgv::base::base::get_property_declarations(), and wr.
|
static |
return a string with a list of supported extensions, where the list entries are separated with the passed character that defaults to a semicolon
Definition at line 64 of file video_writer.cxx.
References cgv::utils::replace().
Referenced by construct_filter_string(), and video_writer().
|
virtual |
returns the type name of the chosen video writer implementation
Reimplemented from cgv::base::base.
Definition at line 117 of file video_writer.cxx.
References cgv::base::base::get_type_name(), and wr.
|
protectedvirtual |
abstract interface for the getter, uses the interface of the selected writer implementation
abstract interface for the getter, by default it simply returns false
Reimplemented from cgv::base::base.
Definition at line 164 of file video_writer.cxx.
References cgv::base::base::get_void(), and wr.
bool cgv::media::video::video_writer::open | ( | const std::string & | file_name, |
const cgv::data::data_format & | image_format, | ||
float | fps = 25 , |
||
bool | interactive = false |
||
) |
open a video file for writing images in the given format with the given fps.
Use the currently selected codec and codec properties as set with the property interface.
Definition at line 173 of file video_writer.cxx.
References last_error, cgv::media::video::abst_video_writer::open(), and wr.
bool cgv::media::video::video_writer::scan_codecs | ( | std::vector< std::string > & | codec_names | ) | const |
return a list of supported codecs in text format
Definition at line 125 of file video_writer.cxx.
References cgv::media::video::abst_video_writer::scan_codecs(), and wr.
select a specific codec. This will chance the properties available with the property interface.
Definition at line 133 of file video_writer.cxx.
References cgv::media::video::abst_video_writer::set_codec(), and wr.
|
protectedvirtual |
abstract interface for the setter, uses the interface of the selected writer implementation
abstract interface for the setter, by default it simply returns false
Reimplemented from cgv::base::base.
Definition at line 157 of file video_writer.cxx.
References cgv::base::base::set_void(), and wr.
bool cgv::media::video::video_writer::write_frame | ( | const cgv::data::const_data_view & | image_data | ) |
write the image data stored in the data view as next video frame to the previously opened video file.
Return whether this was successful.
Definition at line 182 of file video_writer.cxx.
References last_error, wr, and cgv::media::video::abst_video_writer::write_frame().
|
protected |
store the last error not resulting from video writer implementations
Definition at line 46 of file video_writer.h.
Referenced by close(), get_last_error(), open(), video_writer(), and write_frame().
|
protected |
store a pointer to the chosen reader
Definition at line 44 of file video_writer.h.
Referenced by close(), get_codec(), get_last_error(), get_property_declarations(), get_type_name(), get_void(), open(), scan_codecs(), set_codec(), set_void(), video_writer(), and write_frame().