lib: Initialize core libraries from a new middle layer

My hope is that putting lib/ between core/ and gui/ will help clean up
gui code, since everything will no longer be in a single place.

Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
Anna Schumaker 2014-06-14 20:05:24 -04:00
parent 64354cec26
commit 5b3f8b13e0
5 changed files with 38 additions and 10 deletions

View File

@ -42,7 +42,8 @@ Export("env", "test_env")
include = SConscript("include/Sconscript")
core = SConscript("core/Sconscript")
gui = SConscript("gui/Sconscript")
lib = SConscript("lib/Sconscript")
gui = SConscript("gui/Sconscript")
tests = SConscript("tests/Sconscript")
Clean(tests, Glob("*.gcov"))
@ -50,7 +51,7 @@ Clean(tests, Glob("tests/*.gcda"))
Clean(tests, Glob("tests/*.gcno"))
ocarina = env.Program("bin/ocarina", core + gui)
ocarina = env.Program("bin/ocarina", core + lib + gui)
Default(ocarina)
Clean(ocarina, "bin/")

View File

@ -1,10 +1,8 @@
/*
* Copyright 2014 (c) Anna Schumaker.
*/
#include <core/audio.h>
#include <core/deck.h>
#include <core/library.h>
#include <core/playlist.h>
#include <lib/lib.h>
#include <gui/ocarina.h>
#include <gui/tabs.h>
@ -28,11 +26,8 @@ const std::string share_file(const std::string &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);
lib :: init(argc, argv);
playlist :: select("Favorites");
share_file("ocarina6.glade");

10
include/lib/lib.h Normal file
View File

@ -0,0 +1,10 @@
/*
* Copyright 2014 (c) Anna Schumaker.
*/
namespace lib
{
void init(int *, char ***);
}

3
lib/Sconscript Normal file
View File

@ -0,0 +1,3 @@
#!/usr/bin/python
res = Glob("*.cpp")
Return("res")

19
lib/lib.cpp Normal file
View File

@ -0,0 +1,19 @@
/*
* Copyright 2014 (c) Anna Schumaker.
*/
#include <core/audio.h>
#include <core/deck.h>
#include <core/library.h>
#include <core/playlist.h>
#include <core/tags.h>
#include <lib/lib.h>
void lib :: init(int *argc, char ***argv)
{
tagdb :: init();
library :: init();
playlist :: init();
deck :: init();
audio :: init(argc, argv);
}