You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
2.0 KiB
85 lines
2.0 KiB
//--------------------------------------------------------- |
|
//--------------------------------------------------------- |
|
//- --- |
|
//- musicgstreamer.h --- |
|
//- --- |
|
//--------------------------------------------------------- |
|
//--------------------------------------------------------- |
|
//- by Roy, based on the code by JujU ----------- |
|
//--------------------------------------------------------- |
|
//- tee file |
|
//--------------------------------------------------------- |
|
//- --- |
|
//- compatible with version 1.0 of Gstreamer --- |
|
//- http://www.gstreamer.freedesktop.org/ --- |
|
//- --- |
|
//--------------------------------------------------------- |
|
|
|
|
|
|
|
#ifndef MUSIC_H |
|
#define MUSIC_H |
|
|
|
#include <gst/gst.h> |
|
|
|
|
|
//--------------------------------------------------------- |
|
// defines |
|
|
|
#define MUSIC_AUDIO_FILE 1 |
|
#define MUSIC_LIST_FILE 0 |
|
|
|
//--------------------------------------------------------- |
|
// audio file structure |
|
|
|
struct audiofile_t |
|
{ |
|
char name [128]; |
|
int repeat; |
|
audiofile_t *next; |
|
}; |
|
|
|
//--------------------------------------------------------- |
|
// reader class |
|
|
|
|
|
class CMusic |
|
{ |
|
public: |
|
|
|
// reading functions |
|
|
|
void OpenFile ( const char *filename, int repeat ); // open a single file |
|
void OpenList ( const char *filename ); // opening a text file containing the files |
|
|
|
void Init ( void ); // initialization |
|
|
|
void Play ( void ); // playback |
|
void Stop ( void ); // stop |
|
void Reset ( void ); // closing, but not really |
|
void Terminate ( void ); // actually closing |
|
|
|
// variables |
|
|
|
BOOL m_IsPlaying; // t |
|
BOOL m_bInit; // t |
|
|
|
audiofile_t *m_pTrack; // parts |
|
|
|
// constructor / destructor |
|
|
|
CMusic () { m_bInit = FALSE; m_IsPlaying = FALSE; m_pTrack = NULL; Reset(); }; |
|
~CMusic () { Terminate(); }; |
|
|
|
// import functions |
|
|
|
GstElement *gstPipeline; |
|
GstBus *gstBus; |
|
GstMessage *gstMsg; |
|
|
|
void updateBus(); |
|
void songEnd(); |
|
}; |
|
|
|
extern CMusic g_MusicPlayer; |
|
#endif // MUSIC_H
|
|
|