⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fileinfo.c

📁 xmms-1.2.10.tar.gz学习使用的就下吧
💻 C
📖 第 1 页 / 共 2 页
字号:
				label = gtk_label_new(_("Filename:"));		gtk_box_pack_start(GTK_BOX(filename_hbox), label, FALSE,				   TRUE, 0);		filename_entry = gtk_entry_new();		gtk_editable_set_editable(GTK_EDITABLE(filename_entry), FALSE);		gtk_box_pack_start(GTK_BOX(filename_hbox), filename_entry,				   TRUE, TRUE, 0);		hbox = gtk_hbox_new(FALSE, 10);		gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);				left_vbox = gtk_vbox_new(FALSE, 10);		gtk_box_pack_start(GTK_BOX(hbox), left_vbox, FALSE, FALSE, 0);		tag_frame = gtk_frame_new(_("Ogg Vorbis Tag:"));		gtk_box_pack_start(GTK_BOX(left_vbox), tag_frame, FALSE,				   FALSE, 0);		table = gtk_table_new(5, 5, FALSE);		gtk_container_set_border_width(GTK_CONTAINER(table), 5);		gtk_container_add(GTK_CONTAINER(tag_frame), table);				label = gtk_label_new(_("Title:"));		gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5);		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1,				 GTK_FILL, GTK_FILL, 5, 5);				title_entry = gtk_entry_new();		gtk_table_attach(GTK_TABLE(table), title_entry, 1, 4, 0, 1,				 GTK_FILL | GTK_EXPAND | GTK_SHRINK,				 GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5);		label = gtk_label_new(_("Artist:"));		gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5);		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 1, 2,				 GTK_FILL, GTK_FILL, 5, 5);				performer_entry = gtk_entry_new();		gtk_table_attach(GTK_TABLE(table), performer_entry, 1, 4, 1, 2,				 GTK_FILL | GTK_EXPAND | GTK_SHRINK,				 GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5);		label = gtk_label_new(_("Album:"));		gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5);		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 2, 3,				 GTK_FILL, GTK_FILL, 5, 5);				album_entry = gtk_entry_new();		gtk_table_attach(GTK_TABLE(table), album_entry, 1, 4, 2, 3,				 GTK_FILL | GTK_EXPAND | GTK_SHRINK,				 GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5);		label = gtk_label_new(_("Comment:"));		gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5);		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 3, 4,				 GTK_FILL, GTK_FILL, 5, 5);		user_comment_entry = gtk_entry_new();		gtk_table_attach(GTK_TABLE(table), user_comment_entry, 1, 4, 3,				 4, GTK_FILL | GTK_EXPAND | GTK_SHRINK,				 GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5);		label = gtk_label_new(_("Date:"));		gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5);		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 4, 5,				 GTK_FILL, GTK_FILL, 5, 5);		date_entry = gtk_entry_new();		gtk_widget_set_usize(date_entry, 60, -1);		gtk_table_attach(GTK_TABLE(table), date_entry, 1, 2, 4, 5,				 GTK_FILL | GTK_EXPAND | GTK_SHRINK,				 GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5);				label = gtk_label_new(_("Track number:"));		gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5);		gtk_table_attach(GTK_TABLE(table), label, 2, 3, 4, 5,				 GTK_FILL, GTK_FILL, 5, 5);				tracknumber_entry = gtk_entry_new_with_max_length(4);		gtk_widget_set_usize(tracknumber_entry, 20, -1);		gtk_table_attach(GTK_TABLE(table), tracknumber_entry, 3, 4, 4,				 5, GTK_FILL | GTK_EXPAND | GTK_SHRINK,				 GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5);		label = gtk_label_new(_("Genre:"));		gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5);		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 5, 6,				 GTK_FILL, GTK_FILL, 5, 5);				genre_combo = gtk_combo_new();		if (!genre_list)		{			for (i = 0; i < sizeof(vorbis_genres)/sizeof(*vorbis_genres) ; i++)				genre_list = g_list_prepend(genre_list, _(vorbis_genres[i]));			genre_list = g_list_sort(genre_list, (GCompareFunc)g_strcasecmp);		}		gtk_combo_set_popdown_strings(GTK_COMBO(genre_combo),					      genre_list);		gtk_table_attach(GTK_TABLE(table), genre_combo, 1, 4, 5, 6,				 GTK_FILL | GTK_EXPAND | GTK_SHRINK,				 GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5);#ifdef ALL_VORBIS_TAGS		label = gtk_label_new(_("Description:"));		gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5);		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 6, 7,				 GTK_FILL, GTK_FILL, 5, 5);		description_entry = gtk_entry_new();		gtk_table_attach(GTK_TABLE(table), description_entry, 1, 4, 6,				 7, GTK_FILL | GTK_EXPAND | GTK_SHRINK,				 GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5);		label = gtk_label_new(_("Location:"));		gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5);		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 7, 8,				 GTK_FILL, GTK_FILL, 5, 5);		location_entry = gtk_entry_new();		gtk_table_attach(GTK_TABLE(table), location_entry, 1, 4, 7, 8,				 GTK_FILL | GTK_EXPAND | GTK_SHRINK,				 GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5);		label = gtk_label_new(_("Version:"));		gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5);		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 8, 9,				 GTK_FILL, GTK_FILL, 5, 5);		version_entry = gtk_entry_new();		gtk_widget_set_usize(version_entry, 60, -1);		gtk_table_attach(GTK_TABLE(table), version_entry, 1, 2, 8, 9,				 GTK_FILL | GTK_EXPAND | GTK_SHRINK,				 GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5);		label = gtk_label_new(_("ISRC number:"));		gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5);		gtk_table_attach(GTK_TABLE(table), label, 2, 3, 8, 9,				 GTK_FILL, GTK_FILL, 5, 5);		isrc_entry = gtk_entry_new();		gtk_widget_set_usize(isrc_entry, 20, -1);		gtk_table_attach(GTK_TABLE(table), isrc_entry, 3, 4, 8, 9,				 GTK_FILL | GTK_EXPAND | GTK_SHRINK,				 GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5);		label = gtk_label_new(_("Organization:"));		gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5);		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 9, 10,				 GTK_FILL, GTK_FILL, 5, 5);		organization_entry = gtk_entry_new();		gtk_table_attach(GTK_TABLE(table), organization_entry, 1, 4, 9,				 10, GTK_FILL | GTK_EXPAND | GTK_SHRINK,				 GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5);		label = gtk_label_new(_("Copyright:"));		gtk_misc_set_alignment(GTK_MISC(label), 1, 0.5);		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 10, 11,				 GTK_FILL, GTK_FILL, 5, 5);		copyright_entry = gtk_entry_new();		gtk_table_attach(GTK_TABLE(table), copyright_entry, 1, 4, 10,				 11, GTK_FILL |	GTK_EXPAND | GTK_SHRINK,				 GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5);#endif		rg_show_button = gtk_check_button_new_with_label(_("ReplayGain Settings:"));		gtk_signal_connect(GTK_OBJECT(rg_show_button), "toggled",				   GTK_SIGNAL_FUNC(rg_show_cb), NULL);		gtk_table_attach(GTK_TABLE(table), rg_show_button, 0, 2, 11, 12,				 GTK_FILL, GTK_FILL, 5, 5);		rg_track_label = gtk_label_new(_("Track gain:"));		gtk_misc_set_alignment(GTK_MISC(rg_track_label), 1, 0.5);		gtk_table_attach(GTK_TABLE(table), rg_track_label, 2, 3, 11, 12,				 GTK_FILL, GTK_FILL, 5, 5);		rg_track_entry = gtk_entry_new();		gtk_table_attach(GTK_TABLE(table), rg_track_entry, 3, 4, 11,				 12, GTK_FILL |	GTK_EXPAND | GTK_SHRINK,				 GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5);		rg_track_peak_label = gtk_label_new(_("Track peak:"));		gtk_misc_set_alignment(GTK_MISC(rg_track_peak_label), 1, 0.5);		gtk_table_attach(GTK_TABLE(table), rg_track_peak_label, 2, 3, 12, 13,				 GTK_FILL, GTK_FILL, 5, 5);		rg_track_peak_entry = gtk_entry_new();		gtk_table_attach(GTK_TABLE(table), rg_track_peak_entry, 3, 4, 12,				 13, GTK_FILL |	GTK_EXPAND | GTK_SHRINK,				 GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5);		rg_album_label = gtk_label_new(_("Album gain:"));		gtk_misc_set_alignment(GTK_MISC(rg_album_label), 1, 0.5);		gtk_table_attach(GTK_TABLE(table), rg_album_label, 2, 3, 13, 14,				 GTK_FILL, GTK_FILL, 5, 5);		rg_album_entry = gtk_entry_new();		gtk_table_attach(GTK_TABLE(table), rg_album_entry, 3, 4, 13,				 14, GTK_FILL |	GTK_EXPAND | GTK_SHRINK,				 GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5);		rg_album_peak_label = gtk_label_new(_("Album peak:"));		gtk_misc_set_alignment(GTK_MISC(rg_album_peak_label), 1, 0.5);		gtk_table_attach(GTK_TABLE(table), rg_album_peak_label, 2, 3, 14, 15,				 GTK_FILL, GTK_FILL, 5, 5);		rg_album_peak_entry = gtk_entry_new();		gtk_table_attach(GTK_TABLE(table), rg_album_peak_entry, 3, 4, 14,				 15, GTK_FILL |	GTK_EXPAND | GTK_SHRINK,				 GTK_FILL | GTK_EXPAND | GTK_SHRINK, 0, 5);		bbox = gtk_hbutton_box_new(); 		gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox),					  GTK_BUTTONBOX_END);		gtk_button_box_set_spacing(GTK_BUTTON_BOX(bbox), 5);		gtk_box_pack_start(GTK_BOX(left_vbox), bbox, FALSE, FALSE, 0);				save_button = gtk_button_new_with_label(_("Save"));		gtk_signal_connect(GTK_OBJECT(save_button), "clicked", 				   GTK_SIGNAL_FUNC(save_cb), NULL);		GTK_WIDGET_SET_FLAGS(save_button, GTK_CAN_DEFAULT);		gtk_box_pack_start(GTK_BOX(bbox), save_button, TRUE, TRUE, 0);		gtk_widget_grab_default(save_button);		remove_button = gtk_button_new_with_label(_("Remove Tag"));		gtk_signal_connect_object(GTK_OBJECT(remove_button),					  "clicked", 					  GTK_SIGNAL_FUNC(remove_cb), NULL);		GTK_WIDGET_SET_FLAGS(remove_button, GTK_CAN_DEFAULT);		gtk_box_pack_start(GTK_BOX(bbox),remove_button, TRUE, TRUE, 0);		cancel_button = gtk_button_new_with_label(_("Cancel"));		gtk_signal_connect_object(GTK_OBJECT(cancel_button),					  "clicked", 					  GTK_SIGNAL_FUNC(gtk_widget_destroy),					  GTK_OBJECT(window));		GTK_WIDGET_SET_FLAGS(cancel_button, GTK_CAN_DEFAULT);		gtk_box_pack_start(GTK_BOX(bbox),cancel_button, TRUE, TRUE, 0);		info_frame = gtk_frame_new(_("Ogg Vorbis Info:"));		gtk_box_pack_start(GTK_BOX(hbox), info_frame, FALSE, FALSE, 0);		info_box = gtk_vbox_new(FALSE, 5);		gtk_container_add(GTK_CONTAINER(info_frame), info_box);		gtk_container_set_border_width(GTK_CONTAINER(info_box), 10);		gtk_box_set_spacing(GTK_BOX(info_box), 0);		bitrate_label = gtk_label_new("");		gtk_misc_set_alignment(GTK_MISC(bitrate_label), 0, 0);		gtk_label_set_justify(GTK_LABEL(bitrate_label),				      GTK_JUSTIFY_LEFT);		gtk_box_pack_start(GTK_BOX(info_box), bitrate_label, FALSE,				   FALSE, 0);				rate_label = gtk_label_new("");		gtk_misc_set_alignment(GTK_MISC(rate_label), 0, 0);		gtk_label_set_justify(GTK_LABEL(rate_label), GTK_JUSTIFY_LEFT);		gtk_box_pack_start(GTK_BOX(info_box), rate_label, FALSE,				   FALSE, 0);		channel_label = gtk_label_new("");		gtk_misc_set_alignment(GTK_MISC(channel_label), 0, 0);		gtk_label_set_justify(GTK_LABEL(channel_label),				      GTK_JUSTIFY_LEFT);		gtk_box_pack_start(GTK_BOX(info_box), channel_label, FALSE,				   FALSE, 0);		length_label = gtk_label_new("");		gtk_misc_set_alignment(GTK_MISC(length_label), 0, 0);		gtk_label_set_justify(GTK_LABEL(length_label),				      GTK_JUSTIFY_LEFT);		gtk_box_pack_start(GTK_BOX(info_box), length_label, FALSE,				   FALSE, 0);		filesize_label = gtk_label_new("");		gtk_misc_set_alignment(GTK_MISC(filesize_label), 0, 0);		gtk_label_set_justify(GTK_LABEL(filesize_label),				      GTK_JUSTIFY_LEFT);		gtk_box_pack_start(GTK_BOX(info_box), filesize_label, FALSE,				   FALSE, 0);		replaygain_label = gtk_label_new("");		gtk_misc_set_alignment(GTK_MISC(replaygain_label), 0, 0);		gtk_label_set_justify(GTK_LABEL(replaygain_label),				      GTK_JUSTIFY_LEFT);		gtk_box_pack_start(GTK_BOX(info_box), replaygain_label, FALSE,				   FALSE, 0);		audiophilegain_label = gtk_label_new("");		gtk_misc_set_alignment(GTK_MISC(audiophilegain_label), 0, 0);		gtk_label_set_justify(GTK_LABEL(audiophilegain_label),				      GTK_JUSTIFY_LEFT);		gtk_box_pack_start(GTK_BOX(info_box), audiophilegain_label, FALSE,				   FALSE, 0);		peak_label = gtk_label_new("");		gtk_misc_set_alignment(GTK_MISC(peak_label), 0, 0);		gtk_label_set_justify(GTK_LABEL(peak_label),				      GTK_JUSTIFY_LEFT);		gtk_box_pack_start(GTK_BOX(info_box), peak_label, FALSE,				   FALSE, 0);				gtk_widget_show_all(window);	} else		gdk_window_raise(window->window);	if (!g_strncasecmp(vte.filename, "http://", 7))		gtk_widget_set_sensitive(tag_frame, FALSE);	else		gtk_widget_set_sensitive(tag_frame, TRUE);			gtk_label_set_text(GTK_LABEL(bitrate_label), "");	gtk_label_set_text(GTK_LABEL(rate_label), "");	gtk_label_set_text(GTK_LABEL(channel_label), "");	gtk_label_set_text(GTK_LABEL(length_label), "");	gtk_label_set_text(GTK_LABEL(filesize_label), "");	if ((fh = fopen(vte.filename, "r")) != NULL)	{		pthread_mutex_lock(&vf_mutex);		if (ov_open(fh, &vf, NULL, 0) == 0)		{			comment = ov_comment(&vf, -1);			if ((vi = ov_info(&vf, 0)) != NULL)			{				bitrate = vi->bitrate_nominal/1000;				rate = vi->rate;				channels = vi->channels;				g_message("version: %d", vi->version);				clear_vf = TRUE;			}			else			{				bitrate = 0;				rate = 0;				channels = 0;			}				time = ov_time_total(&vf, -1);			minutes = time / 60;			seconds = time % 60;			fseek(fh, 0, SEEK_END);			filesize = ftell(fh);			label_set_text(bitrate_label, _("Nominal bitrate: %d kbps"), bitrate);			label_set_text(rate_label, _("Samplerate: %d Hz"), rate);			label_set_text(channel_label, _("Channels: %d"), channels);			label_set_text(length_label, _("Length: %d:%.2d"), minutes, seconds);			label_set_text(filesize_label, _("File size: %d B"), filesize);		}		else			fclose(fh);	}	track_name = get_comment(comment, "title");	performer = get_comment(comment, "artist");	album_name = get_comment(comment, "album");	track_number = get_comment(comment, "tracknumber");	genre = get_comment(comment, "genre");	date = get_comment(comment, "date");	user_comment = get_comment(comment, "comment");	location = get_comment(comment, "location");	description = get_comment(comment, "description");	version = get_comment(comment, "version");	isrc = get_comment(comment, "isrc");	organization = get_comment(comment, "organization");	copyright = get_comment(comment, "copyright");	rg_track_gain = get_comment(comment, "replaygain_track_gain");	if (*rg_track_gain == '\0')	{		g_free(rg_track_gain);		rg_track_gain = get_comment(comment, "rg_radio"); /* Old */	}	rg_album_gain = get_comment(comment, "replaygain_album_gain");	if (*rg_album_gain == '\0')	{		g_free(rg_album_gain);		rg_album_gain = get_comment(comment, "rg_audiophile"); /* Old */	}	rg_track_peak = get_comment(comment, "replaygain_track_peak");	if (*rg_track_peak == '\0')	{		g_free(rg_track_peak);		rg_track_peak = get_comment(comment, "rg_peak"); /* Old */	}	rg_album_peak = get_comment(comment, "replaygain_album_peak"); /* Old had no album peak */	/* ov_clear closes the file */	if (clear_vf)		ov_clear(&vf);	pthread_mutex_unlock(&vf_mutex);	/* Fill it all in .. */	gtk_entry_set_text(GTK_ENTRY(title_entry), track_name);	gtk_entry_set_text(GTK_ENTRY(performer_entry), performer);	gtk_entry_set_text(GTK_ENTRY(album_entry), album_name);	gtk_entry_set_text(GTK_ENTRY(user_comment_entry), user_comment);	gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(genre_combo)->entry), genre);	gtk_entry_set_text(GTK_ENTRY(tracknumber_entry), track_number);	gtk_entry_set_text(GTK_ENTRY(date_entry), date);#ifdef ALL_VORBIS_TAGS	gtk_entry_set_text(GTK_ENTRY(version_entry), version);	gtk_entry_set_text(GTK_ENTRY(description_entry), description);	gtk_entry_set_text(GTK_ENTRY(organization_entry), organization);	gtk_entry_set_text(GTK_ENTRY(copyright_entry), copyright);	gtk_entry_set_text(GTK_ENTRY(isrc_entry), isrc);	gtk_entry_set_text(GTK_ENTRY(location_entry), location);#endif	gtk_entry_set_text(GTK_ENTRY(filename_entry), vte.filename);	gtk_editable_set_position(GTK_EDITABLE(filename_entry), -1);	gtk_entry_set_text(GTK_ENTRY(rg_track_entry), rg_track_gain);	gtk_entry_set_text(GTK_ENTRY(rg_album_entry), rg_album_gain);	gtk_entry_set_text(GTK_ENTRY(rg_track_peak_entry), rg_track_peak);	gtk_editable_set_position(GTK_EDITABLE(rg_track_peak_entry), -1);	gtk_entry_set_text(GTK_ENTRY(rg_album_peak_entry), rg_album_peak);	gtk_editable_set_position(GTK_EDITABLE(rg_album_peak_entry), -1);	if (*rg_track_gain == '\0' && *rg_album_gain == '\0' && *rg_track_peak == '\0' && *rg_album_peak == '\0')	{		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(rg_show_button), FALSE);		rg_show_cb(rg_show_button, NULL);	}	else		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(rg_show_button), TRUE);	tmp = g_strdup_printf(_("File Info - %s"), g_basename(vte.filename));	gtk_window_set_title(GTK_WINDOW(window), tmp);	g_free(tmp);	/* Cleanup .. */	g_free(track_name);	g_free(performer);	g_free(album_name);	g_free(track_number);	g_free(genre);	g_free(date);	g_free(user_comment);	g_free(location);	g_free(description);	g_free(version);	g_free(isrc);	g_free(organization);	g_free(copyright);	g_free(rg_track_gain);	g_free(rg_album_gain);	g_free(rg_track_peak);	g_free(rg_album_peak);}static void vorbis_advanced_tag_edit(){}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -