diff options
| author | Louis Burda <quent.burda@gmail.com> | 2021-12-29 01:46:08 +0100 |
|---|---|---|
| committer | Louis Burda <quent.burda@gmail.com> | 2021-12-29 01:46:08 +0100 |
| commit | 7902429e5d69bb6aa57c6f1411b163d3e037e0e1 (patch) | |
| tree | 4e09953714eacf615da8cacb65bdc34d26ed7262 /src/track.c | |
| parent | fb0a1cabe8d61d3305d9d14acc4754a1b6151b8c (diff) | |
| download | tmus-7902429e5d69bb6aa57c6f1411b163d3e037e0e1.tar.gz tmus-7902429e5d69bb6aa57c6f1411b163d3e037e0e1.zip | |
More refactoring, moved track manipulation into player
Planning on creating a modular player_backend component
Diffstat (limited to 'src/track.c')
| -rw-r--r-- | src/track.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/track.c b/src/track.c index f7aa2a9..31d70b4 100644 --- a/src/track.c +++ b/src/track.c @@ -2,24 +2,32 @@ #include <wchar.h> #include <string.h> +#include <sys/stat.h> struct track * -track_init(const char *dir, const char *file) +track_init(const char *dir, const char *fname) { struct track *track; + struct stat info; track = malloc(sizeof(struct track)); ASSERT(track != NULL); - track->fname = strdup(file); + track->fname = strdup(fname); ASSERT(track->fname != NULL); - track->fpath = aprintf("%s/%s", dir, file); + track->fpath = aprintf("%s/%s", dir, fname); ASSERT(track->fpath != NULL); track->name = calloc(strlen(track->fname) + 1, sizeof(wchar_t)); + ASSERT(track->name != NULL); mbstowcs(track->name, track->fname, strlen(track->fname) + 1); - track->link = LINK_EMPTY; + if (!stat(track->fpath, &info)) { + track->fid = info.st_ino; + } else { + track->fid = -1; + } + track->tags = LIST_HEAD; return track; |
