static void update_callback(void *user_data, channel_action action, channel_info *channel_info, enclosure *enclosure, const gchar *filename) { struct channel_configuration *c = (struct channel_configuration *)user_data; switch (action) { case CCA_RSS_DOWNLOAD_START: if (!quiet) g_printf("Updating channel %s...\n", c->identifier); break; case CCA_RSS_DOWNLOAD_END: break; case CCA_ENCLOSURE_DOWNLOAD_START: g_assert(channel_info); g_assert(enclosure); if (verbose) _print_item_update(enclosure, filename); break; case CCA_ENCLOSURE_DOWNLOAD_END: g_assert(channel_info); g_assert(enclosure); g_assert(filename); /* Set media tags. */ if (enclosure->type && !strcmp(enclosure->type, "audio/mpeg")) { #ifdef ENABLE_ID3LIB if (_id3_check_and_set(filename, c)) fprintf(stderr, "Error setting ID3 tag for file %s.\n", filename); #endif /* ENABLE_ID3LIB */ } /* Update playlist. */ if (c->playlist) { playlist_add(c->playlist, filename); if (verbose) printf(" * Added downloaded enclosure %s to playlist %s.\n", filename, c->playlist); } break; } }
static void update_callback(void *user_data, channel_action action, channel_info *channel_info, enclosure *enclosure, const gchar *filename) { struct channel_configuration *c = (struct channel_configuration *)user_data; switch (action) { case CCA_RSS_DOWNLOAD_START: if (!quiet) g_printf("Updating channel %s...\n", c->identifier); break; case CCA_RSS_DOWNLOAD_END: break; case CCA_ENCLOSURE_DOWNLOAD_START: g_assert(channel_info); g_assert(enclosure); if (verbose) { if (enclosure->length > 1024*1024*1024) { g_printf(" * Downloading %s (%.1f GB) from %s\n", enclosure->filename, (float)enclosure->length / (1024.0*1024.0*1024.0), channel_info->title); } else if (enclosure->length > 1024*1024) { g_printf(" * Downloading %s (%.1f MB) from %s\n", enclosure->filename, (float)enclosure->length / (1024.0*1024.0), channel_info->title); } else if (enclosure->length > 1024) { g_printf(" * Downloading %s (%.1f kB) from %s\n", enclosure->filename, (float)enclosure->length / 1024.0, channel_info->title); } else if (enclosure->length > 0) { g_printf(" * Downloading %s (%ld bytes) from %s\n", enclosure->filename, enclosure->length, channel_info->title); } else { g_printf(" * Downloading %s from %s\n", enclosure->filename, channel_info->title); } } break; case CCA_ENCLOSURE_DOWNLOAD_END: g_assert(channel_info); g_assert(enclosure); g_assert(filename); /* Set media tags. */ if (enclosure->type && !strcmp(enclosure->type, "audio/mpeg")) { #ifdef ENABLE_ID3LIB if (_id3_check_and_set(filename, c)) fprintf(stderr, "Error setting ID3 tag for file %s.\n", filename); #endif /* ENABLE_ID3LIB */ } /* Update playlist. */ if (c->playlist) { playlist_add(c->playlist, filename); if (verbose) printf(" * Added downloaded enclosure %s to playlist %s.\n", filename, c->playlist); } break; } }