/* * Copyright 2014 (c) Anna Schumaker. */ #include #include #include #include #include #include const std::string share_file(const std::string &file) { char buf[1024]; std::string res; ssize_t len = readlink("/proc/self/exe", buf, sizeof(buf) - 1); if (len == -1) return ""; buf[len] = '\0'; res = std::string(buf); // len("bin/ocarina") == 11 res = res.substr(0, res.size() - 11); return res + "share/ocarina/" + file; } Gtk::Window *ocarina_init(int *argc, char ***argv) { Gtk::Window *window = setup_gui(); tagdb :: init(); library::init(); playlist::init(); deck::init(); audio::init(argc, argv); playlist :: select("Favorites"); share_file("ocarina6.glade"); post_init_tabs(); return window; } #ifndef CONFIG_TEST int main(int argc, char **argv) { Gtk::Main ocarina(&argc, &argv); Gtk::Window *window = ocarina_init(&argc, &argv); Gtk::Main::run(*window); cleanup_tabs(); return 0; } #endif /* CONFIG_TEST */