rage albumart - use image files in saame dir as media file if there

if you have

file.mp4

then this will use

file.mp4.png
file.mp4.jpg
file.mp3.jpeg

in that order (first found wins) in the same dir instead of googling
for an image. it will also try after the abover, in order:

file.png
file.jpg
file.jpeg
.file.mp4.png
.file.mp4.jpg
.file.mp4.jpeg
.file.png
.file.jpg
.file.jpeg
.thumb/file.mp4.png
.thumb/file.mp4.jpg
.thumb/file.mp3.jpeg
.thumb/file.png
.thumb/file.jpg
.thumb/file.jpeg

first one found wins. if none of these exist, then google shall be
consulted. :)
v-0.4.0
Carsten Haitzler 7 years ago
parent d0668f7e75
commit 1f6f9b084b
  1. 69
      src/bin/albumart.c

@ -315,5 +315,74 @@ albumart_find(const char *file,
char *
albumart_file_get(const char *file)
{
char *tmp = alloca(strlen(file) + 1 + 100);
char *dir, *fraw, *s;
const char *fname;
sprintf(tmp, "%s.png", file);
if (ecore_file_exists(tmp)) return strdup(tmp);
sprintf(tmp, "%s.jpg", file);
if (ecore_file_exists(tmp)) return strdup(tmp);
sprintf(tmp, "%s.jpeg", file);
if (ecore_file_exists(tmp)) return strdup(tmp);
dir = ecore_file_dir_get(file);
if (!dir) dir = strdup(".");
fname = ecore_file_file_get(file);
if (!fname)
{
free(dir);
return NULL;
}
fraw = strdup(fname);
if (!fraw)
{
free(dir);
return NULL;
}
s = strrchr(fraw, '.');
if (s) *s = 0;
sprintf(tmp, "%s/%s.png", dir, fraw);
if (ecore_file_exists(tmp)) goto found;
sprintf(tmp, "%s/%s.jpg", dir, fraw);
if (ecore_file_exists(tmp)) goto found;
sprintf(tmp, "%s/%s.jpeg", dir, fraw);
if (ecore_file_exists(tmp)) goto found;
sprintf(tmp, "%s/.%s.png", dir, fname);
if (ecore_file_exists(tmp)) goto found;
sprintf(tmp, "%s/.%s.jpg", dir, fname);
if (ecore_file_exists(tmp)) goto found;
sprintf(tmp, "%s/.%s.jpeg", dir, fname);
if (ecore_file_exists(tmp)) goto found;
sprintf(tmp, "%s/.%s.png", dir, fraw);
if (ecore_file_exists(tmp)) goto found;
sprintf(tmp, "%s/.%s.jpg", dir, fraw);
if (ecore_file_exists(tmp)) goto found;
sprintf(tmp, "%s/.%s.jpeg", dir, fraw);
if (ecore_file_exists(tmp)) goto found;
sprintf(tmp, "%s/.thumb/%s.png", dir, fname);
if (ecore_file_exists(tmp)) goto found;
sprintf(tmp, "%s/.thumb/%s.jpg", dir, fname);
if (ecore_file_exists(tmp)) goto found;
sprintf(tmp, "%s/.thumb/%s.jpeg", dir, fname);
if (ecore_file_exists(tmp)) goto found;
sprintf(tmp, "%s/.thumb/%s.png", dir, fraw);
if (ecore_file_exists(tmp)) goto found;
sprintf(tmp, "%s/.thumb/%s.jpg", dir, fraw);
if (ecore_file_exists(tmp)) goto found;
sprintf(tmp, "%s/.thumb/%s.jpeg", dir, fraw);
if (ecore_file_exists(tmp)) goto found;
free(dir);
free(fraw);
return _thumbpath(file);
found:
free(dir);
free(fraw);
return strdup(tmp);
}

Loading…
Cancel
Save