summaryrefslogtreecommitdiffstats
path: root/track.c
diff options
context:
space:
mode:
authorLouis Burda <quent.burda@gmail.com>2021-12-04 13:48:01 +0100
committerLouis Burda <quent.burda@gmail.com>2021-12-20 15:31:16 +0100
commit9fe644f0d99375ffd3011d8828f7dbd0fb103af0 (patch)
tree71ed89f1c7316dba818bc921d772aaa1fc957dab /track.c
parentd68d0f39ab7675745e7d177f6774736f7ec58783 (diff)
downloadtmus-9fe644f0d99375ffd3011d8828f7dbd0fb103af0.tar.gz
tmus-9fe644f0d99375ffd3011d8828f7dbd0fb103af0.zip
Added more gui interaction
Diffstat (limited to 'track.c')
-rw-r--r--track.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/track.c b/track.c
new file mode 100644
index 0000000..3312daf
--- /dev/null
+++ b/track.c
@@ -0,0 +1,37 @@
+#include "track.h"
+
+#include <string.h>
+
+
+struct track *
+track_init(const char *dir, const char *file)
+{
+ struct track *track;
+
+ track = malloc(sizeof(struct track));
+
+ ASSERT(track != NULL);
+ track->fname = strdup(file);
+ ASSERT(track->fname != NULL);
+ track->fpath = aprintf("%s/%s", dir, file);
+ ASSERT(track->fpath != NULL);
+ track->name = sanitized(track->fname);
+ ASSERT(track->name != NULL);
+
+ // TODO track_load_info(track)
+ track->artist = NULL;
+ track->duration = 0;
+ track->link = LINK_EMPTY;
+
+ track->tags = LIST_HEAD;
+
+ return track;
+}
+
+void
+track_free(struct track *t)
+{
+ free(t->fname);
+ free(t->fpath);
+ free(t->name);
+}