summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2009-08-09 22:09:05 +0200
committerGravatar waker <wakeroid@gmail.com>2009-08-09 22:09:05 +0200
commitcdaa84065ba42c730991c22893ddc8c0d9ce7107 (patch)
treef3ab367fe33080661de87f31c2bf56ad57d112a2 /main.c
parent53f8dec0b5a74ac8e2bec719cf34bc9ddaf21e75 (diff)
playlist save/load (+autosave/autoload of default playlist)
Diffstat (limited to 'main.c')
-rw-r--r--main.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/main.c b/main.c
index e982a2ab..45a5ab03 100644
--- a/main.c
+++ b/main.c
@@ -19,6 +19,9 @@
#include <stdio.h>
#include <stdint.h>
#include <string.h>
+#include <stdlib.h>
+#include <sys/stat.h>
+#include <sys/types.h>
#include "interface.h"
#include "support.h"
#include "playlist.h"
@@ -203,6 +206,20 @@ psdl_thread (uintptr_t ctx) {
int
main (int argc, char *argv[]) {
+ char *homedir = getenv ("HOME");
+ if (!homedir) {
+ fprintf (stderr, "unable to find home directory. stopping.\n");
+ return -1;
+ }
+ char defpl[1024];
+ snprintf (defpl, 1024, "%s/.config/deadbeef/default.dbpl", homedir);
+ char confdir[1024];
+ snprintf (confdir, 1024, "%s/.config", homedir);
+ mkdir (confdir, 0755);
+ char dbconfdir[1024];
+ snprintf (dbconfdir, 1024, "%s/.config/deadbeef", homedir);
+ mkdir (dbconfdir, 0755);
+
messagepump_init ();
codec_init_locking ();
streamer_init ();
@@ -215,6 +232,7 @@ main (int argc, char *argv[]) {
gtk_set_locale ();
gtk_init (&argc, &argv);
+ pl_load (defpl);
mainwin = create_mainwin ();
gtk_widget_show (mainwin);
gtk_main ();
@@ -224,6 +242,8 @@ main (int argc, char *argv[]) {
p_free ();
streamer_free ();
codec_free_locking ();
+
+ pl_save (defpl);
pl_free ();
return 0;
}