libsaria: Take idle callback func during libsaria init
This allows me to enable the idle queue if the function pointer is not NULL. Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
This commit is contained in:
parent
ca35bfd46f
commit
c0df8f2e2b
|
@ -5,7 +5,7 @@
|
|||
|
||||
namespace libsaria
|
||||
{
|
||||
void init(string, int, char **);
|
||||
void init(string, void (*)(int), int, char **);
|
||||
void quit();
|
||||
|
||||
libsaria::Track *current_track();
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
#include <libsaria/libsaria.h>
|
||||
#include <libsaria/prefs.h>
|
||||
#include <libsaria/idle.h>
|
||||
#include <libsaria/fs.h>
|
||||
/*#include <libsaria/audio.h>
|
||||
#include <libsaria/path.h>
|
||||
|
@ -17,7 +18,7 @@
|
|||
namespace libsaria
|
||||
{
|
||||
|
||||
void init(string name, int argc, char **argv)
|
||||
void init(string name, void (*idle_func)(int), int argc, char **argv)
|
||||
{
|
||||
srand( time(NULL) );
|
||||
println("Initializing libsaria");
|
||||
|
@ -25,8 +26,10 @@ namespace libsaria
|
|||
app::init(name);
|
||||
prefs::init();
|
||||
|
||||
/*libsaria::prefs::load();
|
||||
audio::init(argc, argv);
|
||||
if (idle_func)
|
||||
idle::enable(idle_func);
|
||||
|
||||
/*audio::init(argc, argv);
|
||||
|
||||
println("saria dir: %s", get_saria_dir().c_str());
|
||||
make_saria_dir();
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
// Copyright (c) 2011 Bryan Schumaker
|
||||
#include <version.h>
|
||||
#include <libsaria/libsaria.h>
|
||||
#include <libsaria/idle.h>
|
||||
|
||||
#include <ocarina/ocarina.h>
|
||||
#include <ocarina/window.h>
|
||||
|
@ -30,20 +31,21 @@ void set_path_prefix(string prefix)
|
|||
println("Path prefix: " + path_prefix);
|
||||
}
|
||||
|
||||
static gboolean idle(gpointer data)
|
||||
{
|
||||
libsaria::idle::run_task();
|
||||
return libsaria::idle::size() != 0;
|
||||
}
|
||||
|
||||
static void idle_add(int size)
|
||||
{
|
||||
println("Adding idle callback");
|
||||
if (size == 1)
|
||||
g_idle_add(idle, NULL);
|
||||
}
|
||||
|
||||
namespace ocarina
|
||||
{
|
||||
/*
|
||||
static gboolean idle(gpointer data)
|
||||
{
|
||||
if (libsaria::idle::run_task() == 0)
|
||||
return FALSE; *//* There are no idle events left */
|
||||
/*return TRUE; *//* Process remaining idle events */
|
||||
/*}
|
||||
|
||||
void idle_add()
|
||||
{
|
||||
g_idle_add(idle, NULL);
|
||||
}*/
|
||||
|
||||
string full_path(string path)
|
||||
{
|
||||
|
@ -51,8 +53,8 @@ namespace ocarina
|
|||
println("Expanding to path: " + res);
|
||||
return res;
|
||||
}
|
||||
/*
|
||||
void init(int argc, char **argv)
|
||||
|
||||
/*void init(int argc, char **argv)
|
||||
{
|
||||
window::init("Ocarina " + vers_str(), full_path("images/ocarina.png"));
|
||||
window_add(get_tabs());
|
||||
|
@ -82,10 +84,11 @@ int main(int argc, char **argv)
|
|||
println("Ocarina " + vers_str());
|
||||
set_path_prefix(argv[0]);
|
||||
|
||||
libsaria::init("ocarina", argc, argv);
|
||||
libsaria::init("ocarina", idle_add, argc, argv);
|
||||
init(argc, argv);
|
||||
|
||||
gtk_main();
|
||||
libsaria::quit();
|
||||
|
||||
/* setup_callbacks();
|
||||
|
||||
|
|
Loading…
Reference in New Issue