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);
31 t_size add_item(
const char * p_name,
t_size p_name_length,
const char * p_value,
t_size p_value_length);
32 void remove_mask(
const bit_array & p_mask);
34 inline const char *
get_name(
t_size p_index)
const {
return m_info[p_index].get_name();}
35 inline const char *
get_value(
t_size p_index)
const {
return m_info[p_index].get_value();}
49 void remove_values(
const bit_array & p_mask);
50 void insert_value(
t_size p_value_index,
const char * p_value,
t_size p_value_length);
51 void modify_value(
t_size p_value_index,
const char * p_value,
t_size p_value_length);
72 t_size add_entry(
const char * p_name,
t_size p_name_length,
const char * p_value,
t_size p_value_length);
73 void insert_value(
t_size p_index,
t_size p_value_index,
const char * p_value,
t_size p_value_length);
74 void modify_value(
t_size p_index,
t_size p_value_index,
const char * p_value,
t_size p_value_length);
76 void remove_mask(
const bit_array & p_mask);
83 inline const char *
get_name(
t_size p_index)
const {PFC_ASSERT(p_index < m_data.get_size());
return m_data[p_index].get_name();}
84 inline const char *
get_value(
t_size p_index,
t_size p_value_index)
const {PFC_ASSERT(p_index < m_data.get_size());
return m_data[p_index].get_value(p_value_index);}
101 double get_length()
const;
102 void set_length(
double p_length);
104 void copy_meta(
const file_info & p_source);
105 void copy_info(
const file_info & p_source);
107 t_size meta_get_count()
const;
108 const char* meta_enum_name(
t_size p_index)
const;
110 const char* meta_enum_value(
t_size p_index,
t_size p_value_number)
const;
111 t_size meta_set_ex(
const char * p_name,
t_size p_name_length,
const char * p_value,
t_size p_value_length);
112 void meta_insert_value_ex(
t_size p_index,
t_size p_value_index,
const char * p_value,
t_size p_value_length);
113 void meta_remove_mask(
const bit_array & p_mask);
114 void meta_reorder(
const t_size * p_order);
116 void meta_modify_value_ex(
t_size p_index,
t_size p_value_index,
const char * p_value,
t_size p_value_length);
118 t_size info_get_count()
const;
119 const char* info_enum_name(
t_size p_index)
const;
120 const char* info_enum_value(
t_size p_index)
const;
121 t_size info_set_ex(
const char * p_name,
t_size p_name_length,
const char * p_value,
t_size p_value_length);
122 void info_remove_mask(
const bit_array & p_mask);
130 t_size meta_set_nocheck_ex(
const char * p_name,
t_size p_name_length,
const char * p_value,
t_size p_value_length);
131 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_value(t_size p_index) const
meta_value_array m_values
void reorder(reorder_callback &p_callback, const t_size *p_order, t_size p_count)
file_info_impl_utils::meta_storage m_meta
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
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
const char * get_name(t_size p_index) const
replaygain_info m_replaygain
pfc::string_simple m_name
pfc::array_hybrid_t< meta_entry, 10, pfc::alloc_fast > meta_entry_array