static GrlMedia * build_media_track_from_stmt(sqlite3_stmt *sql_stmt) { GrlMedia *media = NULL; gint track_id; gint duration; gint track_number; const gchar *artist_name; const gchar *album_name; const gchar *track_name; const gchar *raw_url; gchar *encoded_url; gchar *url_to_mp3; track_id = (guint) sqlite3_column_int(sql_stmt, MAGNATUNE_TRACK_ID); artist_name = (gchar *) sqlite3_column_text(sql_stmt, MAGNATUNE_ARTIST_NAME); album_name = (gchar *) sqlite3_column_text(sql_stmt, MAGNATUNE_ALBUM_NAME); duration = (guint) sqlite3_column_int(sql_stmt, MAGNATUNE_TRACK_DURATION); track_number = (guint) sqlite3_column_int(sql_stmt, MAGNATUNE_TRACK_NUMBER); track_name = (gchar *) sqlite3_column_text(sql_stmt, MAGNATUNE_TRACK_NAME); raw_url = (gchar *) sqlite3_column_text(sql_stmt, MAGNATUNE_TRACK_URL_TO_MP3); encoded_url = g_uri_escape_string(raw_url, "", FALSE); url_to_mp3 = g_strdup_printf("%s/%s", URL_SONG_PLAY, encoded_url); media = build_media(track_id, artist_name, album_name, track_name, track_number, duration, url_to_mp3); g_free(encoded_url); g_free(url_to_mp3); return media; }
static GrlMedia * build_media_track_from_stmt(sqlite3_stmt *sql_stmt) { GrlMedia *media = NULL; gint i; gint track_id; gint duration; gint track_number; const gchar *artist_name; const gchar *album_name; const gchar *track_name; const gchar *raw_url; gchar *encoded_url; gchar *url_to_mp3; gchar *encoded_artist; gchar *encoded_album; GPtrArray *url_to_covers; track_id = (guint) sqlite3_column_int(sql_stmt, MAGNATUNE_TRACK_ID); artist_name = (gchar *) sqlite3_column_text(sql_stmt, MAGNATUNE_ARTIST_NAME); album_name = (gchar *) sqlite3_column_text(sql_stmt, MAGNATUNE_ALBUM_NAME); duration = (guint) sqlite3_column_int(sql_stmt, MAGNATUNE_TRACK_DURATION); track_number = (guint) sqlite3_column_int(sql_stmt, MAGNATUNE_TRACK_NUMBER); track_name = (gchar *) sqlite3_column_text(sql_stmt, MAGNATUNE_TRACK_NAME); raw_url = (gchar *) sqlite3_column_text(sql_stmt, MAGNATUNE_TRACK_URL_TO_MP3); encoded_url = g_uri_escape_string(raw_url, "", FALSE); url_to_mp3 = g_strdup_printf("%s/%s", URL_SONG_PLAY, encoded_url); encoded_artist = g_uri_escape_string(artist_name, "", FALSE); encoded_album = g_uri_escape_string(album_name, "", FALSE); url_to_covers = g_ptr_array_new(); for (i = 0; i < G_N_ELEMENTS(cover_art_sizes); i++) { gchar *cover = g_strdup_printf(URL_SONG_COVER_FORMAT, encoded_artist, encoded_album, cover_art_sizes[i]); g_ptr_array_add(url_to_covers, cover); } media = build_media(track_id, artist_name, album_name, track_name, track_number, duration, url_to_mp3, url_to_covers); g_free(encoded_url); g_free(url_to_mp3); g_free(encoded_artist); g_free(encoded_album); g_ptr_array_free(url_to_covers, TRUE); return media; }