audio: Move the get_driver() function into the audio namespace

It's already in the audio.cpp file, so just reshuffle things a little
bit.

Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
Anna Schumaker 2014-12-19 14:53:42 -05:00
parent f20898b79c
commit b9d4c6749d
5 changed files with 30 additions and 38 deletions

View File

@ -30,11 +30,6 @@ Driver :: ~Driver()
cur_driver = NULL; cur_driver = NULL;
} }
Driver *driver :: get_driver()
{
return cur_driver;
}
static void save_state() static void save_state()
{ {
@ -49,7 +44,7 @@ static void _load_track(Track *track, bool start_playback)
if (!track) if (!track)
return; return;
driver :: get_driver()->load(track->path()); cur_driver->load(track->path());
get_callbacks()->on_track_loaded(track); get_callbacks()->on_track_loaded(track);
if (start_playback) if (start_playback)
audio :: play(); audio :: play();
@ -60,7 +55,7 @@ static void _load_track(Track *track, bool start_playback)
static inline void _load_track_default(Track *track) static inline void _load_track_default(Track *track)
{ {
_load_track(track, driver :: get_driver()->is_playing()); _load_track(track, cur_driver->is_playing());
} }
static bool continue_playback() static bool continue_playback()
@ -93,7 +88,7 @@ void audio :: init(int *argc, char ***argv)
{ {
unsigned int id; unsigned int id;
driver :: get_driver()->init(argc, argv, on_eos, audio :: next); cur_driver->init(argc, argv, on_eos, audio :: next);
if (f_cur_track.exists()) { if (f_cur_track.exists()) {
f_cur_track.open(OPEN_READ); f_cur_track.open(OPEN_READ);
f_cur_track >> id; f_cur_track >> id;
@ -105,20 +100,20 @@ void audio :: init(int *argc, char ***argv)
void audio :: play() void audio :: play()
{ {
if (cur_track) if (cur_track)
driver :: get_driver()->play(); cur_driver->play();
} }
void audio :: pause() void audio :: pause()
{ {
if (cur_track) if (cur_track)
driver :: get_driver()->pause(); cur_driver->pause();
} }
void audio :: seek_to(long pos) void audio :: seek_to(long pos)
{ {
if (!cur_track) if (!cur_track)
return; return;
driver :: get_driver()->seek_to(pos); cur_driver->seek_to(pos);
} }
void audio :: stop() void audio :: stop()
@ -131,14 +126,14 @@ long audio :: position()
{ {
if (!cur_track) if (!cur_track)
return 0; return 0;
return driver :: get_driver()->position(); return cur_driver->position();
} }
long audio :: duration() long audio :: duration()
{ {
if (!cur_track) if (!cur_track)
return 0; return 0;
return driver :: get_driver()->duration(); return cur_driver->duration();
} }
std::string audio :: position_str() std::string audio :: position_str()
@ -170,7 +165,7 @@ void audio :: load_track(Track *track)
if (!track || track == cur_track) if (!track || track == cur_track)
return; return;
_load_track(track, driver :: get_driver()->is_playing()); _load_track(track, cur_driver->is_playing());
deck :: get_queue()->add(cur_track); deck :: get_queue()->add(cur_track);
} }
@ -198,3 +193,8 @@ unsigned int audio :: pause_count()
{ {
return _pause_count; return _pause_count;
} }
Driver *audio :: get_driver()
{
return cur_driver;
}

View File

@ -13,7 +13,7 @@ static Glib::RefPtr<Gtk::Adjustment> o_pos_bar;
static inline bool audio_playing() static inline bool audio_playing()
{ {
return driver :: get_driver()->is_playing(); return audio :: get_driver()->is_playing();
} }
void o_fix_buttons() void o_fix_buttons()

View File

@ -5,6 +5,7 @@
#ifndef OCARINA_CORE_AUDIO_H #ifndef OCARINA_CORE_AUDIO_H
#define OCARINA_CORE_AUDIO_H #define OCARINA_CORE_AUDIO_H
#include <core/driver.h>
#include <core/tags/track.h> #include <core/tags/track.h>
#include <string> #include <string>
@ -88,6 +89,13 @@ namespace audio
* @return The number of tracks before pausing. * @return The number of tracks before pausing.
*/ */
unsigned int pause_count(); unsigned int pause_count();
/**
* Called to access an audio driver.
*
* @return The current driver used by the application.
*/
Driver *get_driver();
}; };
#endif /* OCARINA_CORE_AUDIO_H */ #endif /* OCARINA_CORE_AUDIO_H */

View File

@ -114,20 +114,4 @@ public:
}; };
#endif /* CONFIG_TEST */ #endif /* CONFIG_TEST */
/**
* Namespace for audio driver access.
*/
namespace driver
{
/**
* Called to access an audio driver.
*
* @return The current driver used by the application.
*/
Driver *get_driver();
}
#endif /* OCARINA_CORE_DRIVER_H */ #endif /* OCARINA_CORE_DRIVER_H */

View File

@ -42,13 +42,13 @@ void on_error()
void test_driver() void test_driver()
{ {
test_equal(driver :: get_driver(), (Driver *)NULL); test_equal(audio :: get_driver(), (Driver *)NULL);
TestDriver driver; TestDriver driver;
const std::string file = "/home/Zelda/Music/Wind Waker/1 - Outset Isle.ogg"; const std::string file = "/home/Zelda/Music/Wind Waker/1 - Outset Isle.ogg";
test_not_equal(driver :: get_driver(), (Driver *)NULL); test_not_equal(audio :: get_driver(), (Driver *)NULL);
test_equal((Driver *)&driver, driver :: get_driver()); test_equal((Driver *)&driver, audio :: get_driver());
driver.init(0, NULL, on_eos, on_error); driver.init(0, NULL, on_eos, on_error);
@ -85,7 +85,7 @@ void test_driver()
void test_pre_init() void test_pre_init()
{ {
TestDriver *driver = (TestDriver *)driver :: get_driver(); TestDriver *driver = (TestDriver *)audio :: get_driver();
test_equal(audio :: current_track(), TRACK_NULL); test_equal(audio :: current_track(), TRACK_NULL);
@ -137,7 +137,7 @@ void test_init(int argc, char **argv)
void test_playback_controls() void test_playback_controls()
{ {
TestDriver *driver = (TestDriver *)driver :: get_driver(); TestDriver *driver = (TestDriver *)audio :: get_driver();
audio :: play(); audio :: play();
test_equal(driver->playing, true); test_equal(driver->playing, true);
@ -167,7 +167,7 @@ void test_track_controls()
{ {
Track *track = NULL; Track *track = NULL;
TestDriver *driver = (TestDriver *)driver :: get_driver(); TestDriver *driver = (TestDriver *)audio :: get_driver();
library :: get_queue()->unset_flag(Q_RANDOM); library :: get_queue()->unset_flag(Q_RANDOM);
audio :: pause(); audio :: pause();
@ -203,7 +203,7 @@ void test_track_controls()
void test_autopause() void test_autopause()
{ {
TestDriver *driver = (TestDriver *)driver :: get_driver(); TestDriver *driver = (TestDriver *)audio :: get_driver();
audio :: play(); audio :: play();
test_equal(audio :: pause_enabled(), false); test_equal(audio :: pause_enabled(), false);