libsaria: Remove libsaria class
I replaced the class functions with simple functions that exist in multiple files. I think things will be easier to work with now.
This commit is contained in:
parent
dbce5c244a
commit
d3b8020bbe
|
@ -1,36 +1,9 @@
|
|||
#ifndef LIBSARIA_H
|
||||
#define LIBSARIA_H
|
||||
|
||||
#include <libsaria/audio.h>
|
||||
#include <libsaria/print.h>
|
||||
|
||||
class Libsaria
|
||||
{
|
||||
private:
|
||||
Audio audio;
|
||||
|
||||
public:
|
||||
Libsaria(int, char**);
|
||||
~Libsaria();
|
||||
|
||||
/* Other functions */
|
||||
void load(string);
|
||||
void set_volume(double);
|
||||
double get_volume();
|
||||
|
||||
/* Control functions */
|
||||
void play();
|
||||
void pause();
|
||||
void stop();
|
||||
|
||||
/* Functions related to position in the song */
|
||||
void seek(int);
|
||||
void seek_to(double);
|
||||
};
|
||||
|
||||
class Libsaria *libsaria_get();
|
||||
void libsaria_init(int, char**);
|
||||
void libsaria_init(int, char **);
|
||||
void libsaria_quit();
|
||||
void libsaria_idle_task();
|
||||
void audio_init(int, char **);
|
||||
|
||||
#endif /* LIBSARIA_H */
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
|
||||
#include <libsaria/libsaria.h>
|
||||
#include <libsaria/callback.h>
|
||||
#include <libsaria/audio.h>
|
||||
|
||||
static Audio audio;
|
||||
|
||||
void audio_init(int argc, char **argv)
|
||||
{
|
||||
audio.init(argc, argv);
|
||||
}
|
||||
|
||||
void libsaria_seek_to(double prcnt)
|
||||
{
|
||||
audio.seek_to(prcnt);
|
||||
}
|
||||
|
||||
void libsaria_seek(int dt)
|
||||
{
|
||||
audio.seek(dt);
|
||||
}
|
||||
|
||||
void libsaria_play()
|
||||
{
|
||||
if(audio.play())
|
||||
trigger_callback(PLAY);
|
||||
}
|
||||
|
||||
void libsaria_pause()
|
||||
{
|
||||
if(audio.pause())
|
||||
trigger_callback(PAUSE);
|
||||
}
|
||||
|
||||
void libsaria_stop()
|
||||
{
|
||||
libsaria_pause();
|
||||
libsaria_seek_to(0);
|
||||
}
|
||||
|
||||
void libsaria_load(string filepath)
|
||||
{
|
||||
audio.load(filepath);
|
||||
libsaria_play();
|
||||
}
|
||||
|
||||
void libsaria_set_volume(double volume)
|
||||
{
|
||||
audio.set_volume(volume);
|
||||
trigger_callback(VOLUME);
|
||||
}
|
||||
|
||||
double libsaria_get_volume()
|
||||
{
|
||||
return audio.get_volume();
|
||||
}
|
|
@ -1,45 +0,0 @@
|
|||
|
||||
#include <libsaria/libsaria.h>
|
||||
#include <libsaria/callback.h>
|
||||
#include <libsaria/audio.h>
|
||||
|
||||
/*
|
||||
* Implementations of functions defined in the libsaria class
|
||||
*/
|
||||
|
||||
void Libsaria::play()
|
||||
{
|
||||
if(audio.play())
|
||||
trigger_callback(PLAY);
|
||||
}
|
||||
|
||||
void Libsaria::pause()
|
||||
{
|
||||
if(audio.pause())
|
||||
trigger_callback(PAUSE);
|
||||
}
|
||||
|
||||
void Libsaria::stop()
|
||||
{
|
||||
pause();
|
||||
seek_to(0);
|
||||
}
|
||||
|
||||
/*
|
||||
* Convenience functions for accessing libsaria class functions
|
||||
*/
|
||||
|
||||
void libsaria_play()
|
||||
{
|
||||
libsaria_get()->play();
|
||||
}
|
||||
|
||||
void libsaria_pause()
|
||||
{
|
||||
libsaria_get()->pause();
|
||||
}
|
||||
|
||||
void libsaria_stop()
|
||||
{
|
||||
libsaria_get()->stop();
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
|
||||
#include <libsaria/libsaria.h>
|
||||
|
||||
static class Libsaria *libsaria;
|
||||
|
||||
class Libsaria *libsaria_get()
|
||||
{
|
||||
return libsaria;
|
||||
}
|
||||
|
||||
void libsaria_init(int argc, char **argv)
|
||||
{
|
||||
print("Initializing libsaria");
|
||||
libsaria = new Libsaria(argc, argv);
|
||||
}
|
||||
|
||||
void libsaria_quit()
|
||||
{
|
||||
print("Quitting libsaria");
|
||||
delete libsaria;
|
||||
}
|
|
@ -1,52 +1,14 @@
|
|||
|
||||
#include <libsaria/libsaria.h>
|
||||
#include <libsaria/callback.h>
|
||||
#include <libsaria/print.h>
|
||||
|
||||
/*
|
||||
* Implementations of functions defined in the libsaria class
|
||||
*/
|
||||
|
||||
Libsaria::Libsaria(int argc, char **argv)
|
||||
void libsaria_init(int argc, char **argv)
|
||||
{
|
||||
audio.init(argc, argv);
|
||||
print("Initializing libsaria");
|
||||
audio_init(argc, argv);
|
||||
}
|
||||
|
||||
Libsaria::~Libsaria()
|
||||
void libsaria_quit()
|
||||
{
|
||||
}
|
||||
|
||||
void Libsaria::load(string filepath)
|
||||
{
|
||||
audio.load(filepath);
|
||||
play();
|
||||
}
|
||||
|
||||
void Libsaria::set_volume(double volume)
|
||||
{
|
||||
audio.set_volume(volume);
|
||||
trigger_callback(VOLUME);
|
||||
}
|
||||
|
||||
double Libsaria::get_volume()
|
||||
{
|
||||
return audio.get_volume();
|
||||
}
|
||||
|
||||
/*
|
||||
* Convenience functions for accessing libsaria class functions
|
||||
*/
|
||||
|
||||
void libsaria_load(string filepath)
|
||||
{
|
||||
libsaria_get()->load(filepath);
|
||||
}
|
||||
|
||||
void libsaria_set_volume(double volume)
|
||||
{
|
||||
libsaria_get()->set_volume(volume);
|
||||
}
|
||||
|
||||
double libsaria_get_volume()
|
||||
{
|
||||
return libsaria_get()->get_volume();
|
||||
print("Quitting libsaria");
|
||||
}
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
|
||||
#include <libsaria/libsaria.h>
|
||||
|
||||
/*
|
||||
* Implementations of functions defined in the libsaria class
|
||||
*/
|
||||
|
||||
void Libsaria::seek_to(double prcnt)
|
||||
{
|
||||
audio.seek_to(prcnt);
|
||||
}
|
||||
|
||||
void Libsaria::seek(int dt)
|
||||
{
|
||||
audio.seek(dt);
|
||||
}
|
||||
|
||||
/*
|
||||
* Convenience functions for accessing libsaria class functions
|
||||
*/
|
||||
|
||||
void libsaria_seek(int dt)
|
||||
{
|
||||
libsaria_get()->seek(dt);
|
||||
}
|
||||
|
|
@ -6,7 +6,10 @@
|
|||
#include <ocarina/settings.h>
|
||||
#include <ocarina/footer.h>
|
||||
#include <ocarina/window.h>
|
||||
|
||||
#include <libsaria/libsaria.h>
|
||||
#include <libsaria/controls.h>
|
||||
#include <libsaria/print.h>
|
||||
|
||||
static gboolean ocarina_idle(gpointer data)
|
||||
{
|
||||
|
@ -46,7 +49,7 @@ int main(int argc, char **argv)
|
|||
ocarina_init(argc, argv);
|
||||
|
||||
if (argc > 1)
|
||||
libsaria_get()->load(argv[1]);
|
||||
libsaria_load(argv[1]);
|
||||
|
||||
gtk_main();
|
||||
libsaria_quit();
|
||||
|
|
Loading…
Reference in New Issue