• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C++ file_info类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中file_info的典型用法代码示例。如果您正苦于以下问题:C++ file_info类的具体用法?C++ file_info怎么用?C++ file_info使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了file_info类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: retag_set_info

	void retag_set_info(t_uint32 p_subsong, const file_info &p_info, abort_callback &p_abort)
	{
		ASAPInfo *info = const_cast<ASAPInfo *>(ASAP_GetInfo(asap));
		ASAPInfo_SetAuthor(info, empty_if_null(p_info.meta_get("composer", 0)));
		ASAPInfo_SetTitle(info, empty_if_null(p_info.meta_get("title", 0)));
		ASAPInfo_SetDate(info, empty_if_null(p_info.meta_get("date", 0)));
	}
开发者ID:hudokkow,项目名称:audiodecoder.asap,代码行数:7,代码来源:foo_asap.cpp


示例2: update_metadata

void stream_encoders::update_metadata(const file_info&p_info){
	metadata.remove_all();

	pfc::string artist,title;
    for (unsigned i=0;i<p_info.meta_get_count();i++) {
		pfc::string name = p_info.meta_enum_name(i);
		for (unsigned j=0;j<p_info.meta_enum_value_count(i);j++){
			pfc::string value = p_info.meta_enum_value(i,j);
			pfc::string buffer=name+"="+value;
			metadata.add_item(buffer);

			if(pfc::string::g_equalsCaseInsensitive(name,"artist"))
				artist=value;
			if(pfc::string::g_equalsCaseInsensitive(name,"title"))
				title=value;
		}
    }

	pfc::string meta=artist+" - "+title;
	for(unsigned i=0;i<enc_list.get_count();++i){
		strcpy(enc_list[i]->config->gSongTitle,(char*)meta.ptr());
		enc_list[i]->config->ice2songChange=true;
		updateSongTitle(enc_list[i]->config,0);
	}
}
开发者ID:danny8376,项目名称:foo_vorbisstreamer,代码行数:25,代码来源:Encoders.cpp


示例3: merge_tags_calc_rating_by_index

static t_size merge_tags_calc_rating_by_index(const file_info & p_info,t_size p_index) {
	t_size n,m = p_info.meta_enum_value_count(p_index);
	t_size ret = 0;
	for(n=0;n<m;n++)
		ret += strlen(p_info.meta_enum_value(p_index,n)) + 10;//yes, strlen on utf8 data, plus a slight bump to prefer multivalue over singlevalue w/ separator
	return ret;
}
开发者ID:Irwin1138,项目名称:foo_bestversion,代码行数:7,代码来源:file_info_merge.cpp


示例4: copy

void file_info::copy(const file_info & p_source)
{
    if (&p_source != this) {
        copy_meta(p_source);
        copy_info(p_source);
        set_length(p_source.get_length());
        set_replaygain(p_source.get_replaygain());
    }
}
开发者ID:kazukioishi,项目名称:foo_nowplayingtunes,代码行数:9,代码来源:file_info.cpp


示例5: info_meta_add

static void info_meta_add(file_info & info, const char * tag, pfc::ptr_list_t< const char > const& values)
{
	t_size count = info.meta_get_count_by_name( tag );
	if ( count )
	{
		// append as another line
		pfc::string8 final = info.meta_get(tag, count - 1);
		final += "\r\n";
		final += values[0];
开发者ID:soneek,项目名称:foo_input_ncsf,代码行数:9,代码来源:psf.cpp


示例6: copy_meta_single_rename_ex

void file_info::copy_meta_single_rename_ex(const file_info & p_source,t_size p_index,const char * p_new_name,t_size p_new_name_length)
{
    t_size n, m = p_source.meta_enum_value_count(p_index);
    t_size new_index = pfc_infinite;
    for(n=0; n<m; n++)
    {
        const char * value = p_source.meta_enum_value(p_index,n);
        if (n == 0) new_index = meta_set_ex(p_new_name,p_new_name_length,value,pfc_infinite);
        else meta_add_value(new_index,value);
    }
}
开发者ID:kazukioishi,项目名称:foo_nowplayingtunes,代码行数:11,代码来源:file_info.cpp


示例7: g_print_field

void selection_properties_t::g_print_field(const char * field, const file_info & p_info, pfc::string_base & p_out)
{
	t_size meta_index = p_info.meta_find(field);
	if (meta_index != pfc_infinite)
	{
		t_size i, count = p_info.meta_enum_value_count(meta_index);
		for (i = 0; i < count; i++)
			p_out << p_info.meta_enum_value(meta_index, i) << (i + 1 < count ? "; " : "");

	}
}
开发者ID:9060,项目名称:columns_ui,代码行数:11,代码来源:item_properties.cpp


示例8: copy_meta_single_nocheck

void file_info::copy_meta_single_nocheck(const file_info & p_source,t_size p_index)
{
    const char * name = p_source.meta_enum_name(p_index);
    t_size n, m = p_source.meta_enum_value_count(p_index);
    t_size new_index = pfc_infinite;
    for(n=0; n<m; n++)
    {
        const char * value = p_source.meta_enum_value(p_index,n);
        if (n == 0) new_index = meta_set_nocheck(name,value);
        else meta_add_value(new_index,value);
    }
}
开发者ID:kazukioishi,项目名称:foo_nowplayingtunes,代码行数:12,代码来源:file_info.cpp


示例9: get_info

	void get_info(t_uint32 p_subsong, file_info &p_info, abort_callback &p_abort)
	{
		int duration = get_song_duration(p_subsong, false);
		if (duration >= 0)
			p_info.set_length(duration / 1000.0);
		const ASAPInfo *info = ASAP_GetInfo(asap);
		p_info.info_set_int("channels", ASAPInfo_GetChannels(info));
		p_info.info_set_int("subsongs", ASAPInfo_GetSongs(info));
		meta_set(p_info, "composer", ASAPInfo_GetAuthor(info));
		meta_set(p_info, "title", ASAPInfo_GetTitle(info));
		meta_set(p_info, "date", ASAPInfo_GetDate(info));
	}
开发者ID:hudokkow,项目名称:audiodecoder.asap,代码行数:12,代码来源:foo_asap.cpp


示例10: get_info

	void get_info( file_info & p_info, abort_callback & p_abort )
	{
		ModPlugFile* m_info = ModPlug_Load(file_buffer.get_ptr(), file_buffer.get_size());
		p_info.info_set( "encoding", "synthesized" );
		int type_module = ModPlug_GetModuleType(m_info);
		p_info.info_set( "codec", "Module file" );
		p_info.info_set_int( "channels", 2 );
		p_info.meta_set( "title", pfc::stringcvt::string_utf8_from_ansi(  ModPlug_GetName(m_info)  ));
		int len = ModPlug_GetLength(m_info);
		len /= 1000;
		p_info.set_length( len );
		if(m_info)ModPlug_Unload(m_info);
	}
开发者ID:FauxFaux,项目名称:foo_mudlord,代码行数:13,代码来源:input_modplug.cpp


示例11: get_info

	void get_info(file_info & p_info,abort_callback & p_abort) {
		p_info.set_length( mod->get_duration_seconds() );
		p_info.info_set_int( "samplerate", settings.samplerate );
		p_info.info_set_int( "channels", settings.channels );
		p_info.info_set_int( "bitspersample", 32 );
		std::vector<std::string> keys = mod->get_metadata_keys();
		for ( std::vector<std::string>::iterator key = keys.begin(); key != keys.end(); ++key ) {
			if ( *key == "message_raw" ) {
				continue;
			}
			p_info.meta_set( (*key).c_str(), mod->get_metadata( *key ).c_str() );
		}
	}
开发者ID:kode54,项目名称:Cog,代码行数:13,代码来源:foo_openmpt.cpp


示例12: g_is_meta_equal

bool file_info::g_is_meta_equal(const file_info & p_item1,const file_info & p_item2) {
    const t_size count = p_item1.meta_get_count();
    if (count != p_item2.meta_get_count()) {
        //uDebugLog() << "meta count mismatch";
        return false;
    }
    pfc::map_t<const char*,t_size,field_name_comparator> item2_meta_map;
    for(t_size n=0; n<count; n++) {
        item2_meta_map.set(p_item2.meta_enum_name(n),n);
    }
    for(t_size n1=0; n1<count; n1++) {
        t_size n2;
        if (!item2_meta_map.query(p_item1.meta_enum_name(n1),n2)) {
            //uDebugLog() << "item2 doesn't have " << p_item1.meta_enum_name(n1);
            return false;
        }
        t_size value_count = p_item1.meta_enum_value_count(n1);
        if (value_count != p_item2.meta_enum_value_count(n2)) {
            //uDebugLog() << "meta value count mismatch: " << p_item1.meta_enum_name(n1) << " : " << value_count << " vs " << p_item2.meta_enum_value_count(n2);
            return false;
        }
        for(t_size v = 0; v < value_count; v++) {
            if (strcmp(p_item1.meta_enum_value(n1,v),p_item2.meta_enum_value(n2,v)) != 0) {
                //uDebugLog() << "meta mismatch: " << p_item1.meta_enum_name(n1) << " : " << p_item1.meta_enum_value(n1,v) << " vs " << p_item2.meta_enum_value(n2,v);
                return false;
            }
        }
    }
    return true;
}
开发者ID:kazukioishi,项目名称:foo_nowplayingtunes,代码行数:30,代码来源:file_info.cpp


示例13:

void IMA4Decoder::get_info(file_info &info)
{
    info.info_set("codec",    "IMA 4:1");
    info.info_set("encoding", "lossy");
    info.info_set_int("samplerate", m_format.asbd.mSampleRate);
    uint32_t channel_mask = m_format.channel_mask;
    std::string channels;
    if (channel_mask) {
        channels = Helpers::describe_channels(channel_mask);
        info.info_set("channels", channels.c_str());
    } else {
        info.info_set_int("channels", m_format.asbd.mChannelsPerFrame);
    }
}
开发者ID:nu774,项目名称:foo_input_caf,代码行数:14,代码来源:IMA4Decoder.cpp


示例14: _add_tag

void file_info::_add_tag(const file_info & otherTag) {
	this->set_replaygain( replaygain_info::g_merge( this->get_replaygain(), otherTag.get_replaygain() ) );

	const char * tt1 = this->info_get(_tagtype);
	const char * tt2 = otherTag.info_get(_tagtype);
	if (tt2) {
		if (tt1) {
			this->info_set(_tagtype, PFC_string_formatter() << tt1 << "|" << tt2);
		} else {
			this->info_set(_tagtype, tt2);
		}
	}

}
开发者ID:Irwin1138,项目名称:foo_bestversion,代码行数:14,代码来源:file_info_merge.cpp


示例15: merge_tags_calc_rating

static t_size merge_tags_calc_rating(const file_info & p_info,const char * p_field) {
	t_size field_index = p_info.meta_find(p_field);
	if (field_index != ~0) {
		return merge_tags_calc_rating_by_index(p_info,field_index);
	} else {
		return 0;
	}
}
开发者ID:Irwin1138,项目名称:foo_bestversion,代码行数:8,代码来源:file_info_merge.cpp


示例16: copy_info

void file_info::copy_info(const file_info & p_source)
{
    if (&p_source != this) {
        info_remove_all();
        t_size n, m = p_source.info_get_count();
        for(n=0; n<m; n++)
            copy_info_single_nocheck(p_source,n);
    }
}
开发者ID:kazukioishi,项目名称:foo_nowplayingtunes,代码行数:9,代码来源:file_info.cpp


示例17: instantiate

	virtual bool instantiate( const file_info & info, decode_postprocessor_instance::ptr & out )
	{
		if (info.info_get_int("samplerate") != 44100) return false;

		const char* enabled = info.meta_get("pre_emphasis", 0);
		if (enabled == NULL) enabled = info.meta_get("pre-emphasis", 0);
		if (enabled == NULL)
		{
			return false;
		}

		if (pfc::stricmp_ascii(enabled, "1") == 0 || pfc::stricmp_ascii(enabled, "on") == 0 || pfc::stricmp_ascii(enabled, "yes") == 0)
		{
			console::print("Pre-emphasis detected and enabled in track. Running filter");
			out = new service_impl_t<deemph_postprocessor_instance>;
			return true;
		}
	}
开发者ID:Crazybond,项目名称:foobar2000,代码行数:18,代码来源:postprocess_deemph.cpp


示例18: apply_filter

bool file_info_filter_scale_bpm::apply_filter(metadb_handle_ptr p_track, t_filestats p_stats, file_info & p_info)
{
	const char * str = p_info.meta_get(m_bpm_tag, 0);

	float bpm = 0.0f;
	if ((str != NULL) && (sscanf_s(str, "%f", &bpm) == 1))
	{
		bpm = static_cast<float>(bpm * m_scale);

		p_info.meta_set(m_bpm_tag, format_bpm(bpm));

		return true;
	}
	else
	{
		return false;
	}
}
开发者ID:stengerh,项目名称:foo_bpm,代码行数:18,代码来源:file_info_filter_scale_bpm.cpp


示例19: apply_filter

bool TagWriter::apply_filter(metadb_handle_ptr p_location, t_filestats p_stats, file_info & p_info) {
	try {
		auto tags = files[p_location];
		for (auto tag = tags.first(); tag.is_valid(); tag++) {
			// TODO: return false if all info is identical
			p_info.meta_remove_field(tag->m_key);
			// TODO: text multivalues
			tag->m_value.for_each([&](pfc::string8 &value) {
				if (!value.is_empty()) {
					p_info.meta_add(tag->m_key, value);
				}
			});
		}
		return true;
	} catch (pfc::exception_map_entry_not_found) {
		return false;
	}
}
开发者ID:Dremora,项目名称:foo_musicbrainz,代码行数:18,代码来源:TagWriter.cpp


示例20: decode_get_dynamic_info

	bool decode_get_dynamic_info( file_info & p_out, double & p_timestamp_delta )
	{
		if ( first_block )
		{
			first_block = false;
			p_out.info_set_int( "samplerate", 44100 );
			return true;
		}
		return false;
	}
开发者ID:Crazybond,项目名称:foobar2000,代码行数:10,代码来源:input_ym.cpp



注:本文中的file_info类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ file_status类代码示例发布时间:2022-05-31
下一篇:
C++ fileName类代码示例发布时间:2022-05-31
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap