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. :)
This commit is contained in:
parent
d0668f7e75
commit
1f6f9b084b
|
@ -315,5 +315,74 @@ albumart_find(const char *file,
|
||||||
char *
|
char *
|
||||||
albumart_file_get(const char *file)
|
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);
|
return _thumbpath(file);
|
||||||
|
found:
|
||||||
|
free(dir);
|
||||||
|
free(fraw);
|
||||||
|
return strdup(tmp);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue