X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Futils.c;h=0c35c9e8e14089efb7483fe1c36374f0ad01221d;hb=HEAD;hp=3f327f4b0b80914025e6e925452114ed56ef1417;hpb=8a4cbdf7b257d0cefb5af6ad5a964736f08ef17f;p=ncmpc.git diff --git a/src/utils.c b/src/utils.c index 3f327f4..0c35c9e 100644 --- a/src/utils.c +++ b/src/utils.c @@ -18,12 +18,7 @@ */ #include "utils.h" -#include "options.h" -#include "charset.h" -#include "i18n.h" -#include "mpdclient.h" -#include #include #include @@ -62,104 +57,3 @@ string_list_remove(GList *string_list, const gchar *str) } return list; } - -/* create a list suitable for GCompletion from path */ -GList * -gcmp_list_from_path(struct mpdclient *c, const gchar *path, - GList *list, gint types) -{ - struct mpd_connection *connection = mpdclient_get_connection(c); - if (connection == NULL) - return list; - - mpd_send_list_meta(connection, path); - - struct mpd_entity *entity; - while ((entity = mpd_recv_entity(connection)) != NULL) { - char *name; - - if (mpd_entity_get_type(entity) == MPD_ENTITY_TYPE_DIRECTORY && - types & GCMP_TYPE_DIR) { - const struct mpd_directory *dir = - mpd_entity_get_directory(entity); - gchar *tmp = utf8_to_locale(mpd_directory_get_path(dir)); - gsize size = strlen(tmp)+2; - - name = g_malloc(size); - g_strlcpy(name, tmp, size); - g_strlcat(name, "/", size); - g_free(tmp); - } else if (mpd_entity_get_type(entity) == MPD_ENTITY_TYPE_SONG && - types & GCMP_TYPE_FILE) { - const struct mpd_song *song = - mpd_entity_get_song(entity); - name = utf8_to_locale(mpd_song_get_uri(song)); - } else if (mpd_entity_get_type(entity) == MPD_ENTITY_TYPE_PLAYLIST && - types & GCMP_TYPE_PLAYLIST) { - const struct mpd_playlist *playlist = - mpd_entity_get_playlist(entity); - name = utf8_to_locale(mpd_playlist_get_path(playlist)); - } else { - mpd_entity_free(entity); - continue; - } - - list = g_list_append(list, name); - mpd_entity_free(entity); - } - - return list; -} - -void -format_duration_short(char *buffer, size_t length, unsigned duration) -{ - if (duration < 3600) - g_snprintf(buffer, length, - "%i:%02i", duration / 60, duration % 60); - else - g_snprintf(buffer, length, - "%i:%02i:%02i", duration / 3600, - (duration % 3600) / 60, duration % 60); -} - -void -format_duration_long(char *p, size_t length, unsigned long duration) -{ - unsigned bytes_written = 0; - - if (duration / 31536000 > 0) { - if (duration / 31536000 == 1) - bytes_written = g_snprintf(p, length, "%d %s, ", 1, _("year")); - else - bytes_written = g_snprintf(p, length, "%lu %s, ", duration / 31536000, _("years")); - duration %= 31536000; - length -= bytes_written; - p += bytes_written; - } - if (duration / 604800 > 0) { - if (duration / 604800 == 1) - bytes_written = g_snprintf(p, length, "%d %s, ", - 1, _("week")); - else - bytes_written = g_snprintf(p, length, "%lu %s, ", - duration / 604800, _("weeks")); - duration %= 604800; - length -= bytes_written; - p += bytes_written; - } - if (duration / 86400 > 0) { - if (duration / 86400 == 1) - bytes_written = g_snprintf(p, length, "%d %s, ", - 1, _("day")); - else - bytes_written = g_snprintf(p, length, "%lu %s, ", - duration / 86400, _("days")); - duration %= 86400; - length -= bytes_written; - p += bytes_written; - } - - g_snprintf(p, length, "%02lu:%02lu:%02lu", duration / 3600, - duration % 3600 / 60, duration % 3600 % 60); -}