]> ToastFreeware Gitweb - gregoa/zavai.git/blobdiff - src/zavai.vala
Merge branch 'master' into gregoa
[gregoa/zavai.git] / src / zavai.vala
index ae8c3aa5edcef495c2c35201034c7324b43dce51..408dfa5540659a208f6adeede6dba34ee834cf50 100644 (file)
@@ -44,7 +44,11 @@ static Posix.pid_t is_running()
 static void make_pidfile()
 {
        string pidfile = zavai.config.homedir + "/" + pidfilename + ".pid";
-       FileUtils.set_contents(pidfile, "%d".printf(Posix.getpid()));
+    try {
+        FileUtils.set_contents(pidfile, "%d".printf(Posix.getpid()));
+    } catch (FileError e) {
+        zavai.log.error("Cannot create pidfile " + pidfile + ": " + e.message);
+    }
 }
 
 static void on_kill(int sig)
@@ -75,7 +79,12 @@ static int main (string[] args) {
                        arg_description = null },
                OptionEntry()
        };
-    Gtk.init_with_args(ref args, "", entries, null);
+    try {
+        Gtk.init_with_args(ref args, "", entries, null);
+    } catch (Error e) {
+        zavai.log.error("Cannot init gtk: " + e.message);
+        return 1;
+    }
     Gst.init (ref args);
 
     pidfilename = "zavai";
@@ -196,6 +205,7 @@ static int main (string[] args) {
        zavai.clock.init();
        zavai.audio.init();
        zavai.log.init();
+       zavai.led.init();
        zavai.wifi.init();
        zavai.bluetooth.init();
 
@@ -209,17 +219,18 @@ static int main (string[] args) {
        // User interface
        zavai.ui.music.init();
        zavai.ui.main.init();
+       zavai.ui.notify.init();
        zavai.ui.gps.init();
        zavai.ui.gsm.init();
        zavai.config.find_and_run_script("display", "init");
        zavai.ui.power.init();
-       zavai.ui.aux.init();
        zavai.ui.kbd.init();
        zavai.ui.wm.init();
        zavai.ui.calendar.init();
        zavai.ui.alarm.init();
        zavai.ui.wifi.init();
        zavai.ui.bluetooth.init();
+       zavai.ui.logview.init();
        zavai.ui.debug.init();
 
        //zavai.app.show_applet("menu.main");
@@ -268,18 +279,44 @@ static int main (string[] args) {
         zavai.clock.alarm_trigger_queue.enqueue_trigger(alarm);
     }
 
+    if (args.length > 2 && args[1] == "showlog")
+    {
+        zavai.log.log.list_entries((d, f) => {
+            stderr.printf("FALSE %s %s\n", d, f);
+            return true;
+        }, false);
+        zavai.log.log.list_entries((d, f) => {
+            stderr.printf("TRUE %s %s\n", d, f);
+            return true;
+        }, true);
+        zavai.log.Log l = zavai.log.log.load(args[2]);
+        l.dump();
+        return 0;
+    }
+
        if (args.length > 2 && args[1] == "play")
     {
         zavai.audio.musicplayer.play("file://" + args[2]);
 
-        // Timeout.add(3 * 1000, () => {
-        //     zavai.audio.soundplayer.play("file:///backup/ciapino/src/openmoocow/data/moo.wav", true);
-        //     Timeout.add(4 * 1000, () => {
-        //         zavai.audio.soundplayer.stop();
-        //         return false;
-        //     });
-        //     return false;
-        // });
+        Timeout.add(2 * 1000, () => {
+            var ps = new zavai.audio.PlayerState("zavai", "file:///backup/ciapino/src/openmoocow/data/moo.wav", true);
+            zavai.audio.soundplayer.push_state(ps);
+            Timeout.add(8 * 1000, () => {
+                zavai.audio.soundplayer.pop_state("zavai");
+                return false;
+            });
+            return false;
+        });
+
+        Timeout.add(3 * 1000, () => {
+            var ps = new zavai.audio.PlayerState("zavai", zavai.config.ringtone_alarm, false);
+            zavai.audio.soundplayer.push_state(ps);
+            Timeout.add(4 * 1000, () => {
+                zavai.audio.soundplayer.pop_state("zavai");
+                return false;
+            });
+            return false;
+        });
     }
 
        Gtk.main();