static void set_title_from_url(prop_t *metadata, const char *url) { char tmp[1024]; fa_url_get_last_component(tmp, sizeof(tmp), url); prop_set_string(prop_create(metadata, "title"), tmp); }
static rstr_t * title_from_url(const char *url) { char tmp[1024]; fa_url_get_last_component(tmp, sizeof(tmp), url); rstr_t *r = rstr_alloc(tmp); return r; }
static int es_file_basename(duk_context *ctx) { es_context_t *ec = es_get(ctx); char tmp[URL_MAX]; fa_url_get_last_component(tmp, sizeof(tmp), get_filename(ctx, 0, ec, 0)); duk_push_string(ctx, tmp); return 1; }
static void add_item(bmdb_t *b, const char *url, const char *parent, rstr_t *contenttype, const char *title, int track, const char *artist, int duration) { prop_t *c = prop_create_r(b->b_nodes, url); prop_unmark(c); prop_set(c, "type", PROP_SET_RSTRING, contenttype); prop_set(c, "url", PROP_SET_STRING, url); prop_t *metadata = prop_create_r(c, "metadata"); if(track) prop_set(metadata, "track", PROP_SET_INT, track); if(artist) prop_set(metadata, "artist", PROP_SET_STRING, artist); if(duration > 0) prop_set(metadata, "duration", PROP_SET_INT, duration / 1000); if(title == NULL) { char fname[512]; fa_url_get_last_component(fname, sizeof(fname), url); rstr_t *ft = metadata_remove_postfix(fname); prop_set(metadata, "title", PROP_SET_RSTRING, ft); rstr_release(ft); } else { prop_set(metadata, "title", PROP_SET_STRING, title); } #if 0 prop_t *options = prop_create(bi->bi_prop, "options"); metadata_bind_video_info(metadata, bi->bi_url, title, NULL, 0, options, bi->bi_prop, NULL, 0, 1); #endif prop_ref_dec(metadata); prop_ref_dec(c); }