From e908f46c21f4daa7e8644dcab2170a6c1e605214 Mon Sep 17 00:00:00 2001 From: Bryan Schumaker Date: Sun, 6 Nov 2011 19:17:15 -0500 Subject: [PATCH] libsaria: Implement a next() function This will pick the next song from the library to play. --- include/libsaria/controls.h | 9 +++++++++ include/libsaria/library.h | 1 + libsaria/controls.cpp | 13 +++++++++++++ libsaria/library/list.cpp | 8 ++++++++ 4 files changed, 31 insertions(+) create mode 100644 include/libsaria/controls.h create mode 100644 libsaria/controls.cpp diff --git a/include/libsaria/controls.h b/include/libsaria/controls.h new file mode 100644 index 00000000..8b094192 --- /dev/null +++ b/include/libsaria/controls.h @@ -0,0 +1,9 @@ +#ifndef LIBSARIA_CONTROLS_H +#define LIBSARIA_CONTROLS_H + +namespace libsaria +{ + void next(); +}; + +#endif /* LIBSARIA_CONTROLS_H */ diff --git a/include/libsaria/library.h b/include/libsaria/library.h index 04c382ed..bef4e55c 100644 --- a/include/libsaria/library.h +++ b/include/libsaria/library.h @@ -23,6 +23,7 @@ namespace libsaria void update_path(string); void refresh(); + void next(); void add_path(string); void remove_path(string); void play_id(ino_t &); diff --git a/libsaria/controls.cpp b/libsaria/controls.cpp new file mode 100644 index 00000000..0f1129b8 --- /dev/null +++ b/libsaria/controls.cpp @@ -0,0 +1,13 @@ + +#include +#include + +namespace libsaria +{ + + void next() + { + library::next(); + } + +}; /* Namespace: libsaria */ diff --git a/libsaria/library/list.cpp b/libsaria/library/list.cpp index ce6b4fde..e5e943e8 100644 --- a/libsaria/library/list.cpp +++ b/libsaria/library/list.cpp @@ -119,6 +119,14 @@ namespace libsaria return false; } + void library::next() + { + cur_track++; + if (cur_track == play_list.end()) + cur_track = play_list.begin(); + libsaria::audio::load((*cur_track)->get_filepath()); + } + unsigned int library::size() { return play_list.size();