static GdkPixbuf* get_icon( const tr_torrent * tor, GtkIconSize icon_size, GtkWidget * for_widget ) { const char * mime_type; const tr_info * info = tr_torrentInfo( tor ); if( info->fileCount == 0 ) mime_type = UNKNOWN_MIME_TYPE; else if( info->fileCount > 1 ) mime_type = DIRECTORY_MIME_TYPE; else if( strchr( info->files[0].name, '/' ) != NULL ) mime_type = DIRECTORY_MIME_TYPE; else mime_type = get_mime_type_from_filename( info->files[0].name ); return get_mime_type_icon( mime_type, icon_size, for_widget ); }
void tag_set_album_cover(const char* filename, ID3v2_tag* tag) { FILE* album_cover = fopen(filename, "rb"); fseek(album_cover, 0, SEEK_END); int image_size = (int) ftell(album_cover); fseek(album_cover, 0, SEEK_SET); char* album_cover_bytes = (char*) malloc(image_size * sizeof(char)); fread(album_cover_bytes, 1, image_size, album_cover); fclose(album_cover); char* mimetype = get_mime_type_from_filename(filename); tag_set_album_cover_from_bytes(album_cover_bytes, mimetype, image_size, tag); free(album_cover_bytes); }