1 #ifndef _FOOBAR2000_SDK_FILE_INFO_IMPL_H_
2 #define _FOOBAR2000_SDK_FILE_INFO_IMPL_H_
7 void init(
const char * p_name,
t_size p_name_len,
const char * p_value,
t_size p_value_len) {
8 m_name.set_string(p_name,p_name_len);
9 m_value.set_string(p_value,p_value_len);
const char * info_enum_name(t_size p_index) const
Retrieves the name of specified technical info entry. Return value is a null-terminated UTF-8 encoded...
const char * get_value(t_size p_index) const
meta_value_array m_values
replaygain_info get_replaygain() const
Retrieves ReplayGain information.
void set_replaygain(const replaygain_info &p_info)
Sets ReplayGain information.
t_size info_get_count() const
Retrieves number of technical info entries.
file_info_impl_utils::meta_storage m_meta
double get_length() const
Retrieves audio duration, in seconds. Note that the reported duration should not be assumed to be th...
void remove_values(const bit_array &p_mask)
void insert_value(t_size p_value_index, const char *p_value, t_size p_value_length)
void meta_reorder(const t_size *p_order)
Reorders metadata entries according to specified permutation.
const file_info_impl & operator=(const file_info_impl &p_source)
pfc::array_hybrid_t< pfc::string_simple, 1, pfc::alloc_fast > meta_value_array
Bit array interface class, constant version (you can only retrieve values). Range of valid indexes d...
const char * get_name() const
const char * get_name() const
void copy_meta(const file_info &p_source)
Copies metadata from specified file_info object.
t_size meta_get_count() const
Retrieves count of metadata entries.
const char * meta_enum_name(t_size p_index) const
Retrieves the name of metadata entry of specified index. Return value is a null-terminated UTF-8 enco...
void meta_remove_mask(const bit_array &p_mask)
Removes metadata entries according to specified bit mask.
void copy_from(const file_info &p_info)
const char * info_enum_value(t_size p_index) const
Retrieves the value of specified technical info entry. Return value is a null-terminated UTF-8 encode...
Structure containing ReplayGain scan results from some playable object, also providing various helper...
pfc::string_simple m_name
t_size get_value_count() const
file_info_impl_utils::info_storage m_info
pfc::string_simple m_value
Main interface class for information about some playable object.
string_simple_t< char > string_simple
void init(const char *p_name, t_size p_name_len, const char *p_value, t_size p_value_len)
pfc::array_t< info_entry, pfc::alloc_fast > info_entry_array
const char * get_value(t_size p_index) const
const char * get_value() const
t_size meta_set_nocheck_ex(const char *p_name, t_size p_name_length, const char *p_value, t_size p_value_length)
t_size info_set_nocheck_ex(const char *p_name, t_size p_name_length, const char *p_value, t_size p_value_length)
const char * get_name(t_size p_index) const
t_size meta_enum_value_count(t_size p_index) const
Retrieves count of values in metadata entry of specified index. The value is always equal to or great...
void meta_insert_value_ex(t_size p_index, t_size p_value_index, const char *p_value, t_size p_value_length)
Inserts a new value into specified metadata entry.
void copy_info(const file_info &p_source)
Copies technical info from specified file_info object.
t_size info_set_ex(const char *p_name, t_size p_name_length, const char *p_value, t_size p_value_length)
Creates a new technical info entry with specified name and specified value. If an entry of the same n...
t_size add_item(const char *p_name, t_size p_name_length, const char *p_value, t_size p_value_length)
replaygain_info m_replaygain
void remove_mask(const bit_array &p_mask)
void set_length(double p_length)
Sets audio duration, in seconds. Note that the reported duration should not be assumed to be the exa...
const char * meta_enum_value(t_size p_index, t_size p_value_number) const
Retrieves specified value from specified metadata entry. Return value is a null-terminated UTF-8 enco...
t_size meta_set_ex(const char *p_name, t_size p_name_length, const char *p_value, t_size p_value_length)
Creates a new metadata entry of specified name with specified value. If an entry of same name already...
void meta_modify_value_ex(t_size p_index, t_size p_value_index, const char *p_value, t_size p_value_length)
Alters specified value in specified metadata entry.
pfc::string_simple m_name
pfc::array_hybrid_t< meta_entry, 10, pfc::alloc_fast > meta_entry_array
void info_remove_mask(const bit_array &p_mask)
Removes technical info entries indicated by specified bit mask.
void meta_remove_values(t_size p_index, const bit_array &p_mask)
Removes values according to specified bit mask from specified metadata entry. If all values are remov...
void modify_value(t_size p_value_index, const char *p_value, t_size p_value_length)