Did more work on the bindings between the audio and view
This commit is contained in:
@@ -10,10 +10,10 @@ private:
|
||||
Node* next;
|
||||
};
|
||||
|
||||
Node* topNode = nullptr;
|
||||
Node* topNode;
|
||||
|
||||
public:
|
||||
SongHistory( ) { }
|
||||
SongHistory( ) : topNode(nullptr) { }
|
||||
~SongHistory( ) {
|
||||
while (!isEmpty( ))
|
||||
pop( );
|
||||
|
||||
@@ -22,7 +22,7 @@ Audio::~Audio( ) {
|
||||
void Audio::StartMusic( ) {
|
||||
if (Mix_PlayingMusic( ) == 0) {
|
||||
//TODO: Get the loop status from the FloatingControls widget and replace the 1
|
||||
Mix_PlayMusic(music, 1);
|
||||
Mix_PlayMusic(music, this->loop);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,6 +43,7 @@ void Audio::PlaySong(const std::string path) {
|
||||
SDL_Quit( );
|
||||
return;
|
||||
}
|
||||
Mix_PlayMusic(music, this->loop);
|
||||
}
|
||||
|
||||
void Audio::PauseMusic( ) {
|
||||
@@ -57,6 +58,17 @@ void Audio::ResumeMusic( ) {
|
||||
}
|
||||
}
|
||||
|
||||
void Audio::TogglePlayPause( ) {
|
||||
if (IsMusicPaused( ))
|
||||
ResumeMusic( );
|
||||
else
|
||||
PauseMusic( );
|
||||
}
|
||||
|
||||
bool Audio::IsMusicPaused( ) {
|
||||
return (Mix_PausedMusic( ) == 1);
|
||||
}
|
||||
|
||||
bool Audio::IsMusicPlaying( ) {
|
||||
return (Mix_PlayingMusic( ) != 0);
|
||||
}
|
||||
@@ -112,7 +124,7 @@ QPixmap Audio::GetAlbumCover( ) {
|
||||
}
|
||||
|
||||
int Audio::GetVolume( ) {
|
||||
return Mix_GetMusicVolume(music);
|
||||
return Mix_VolumeMusic(-1);
|
||||
}
|
||||
|
||||
void Audio::SetVolume(int vol) {
|
||||
|
||||
@@ -12,6 +12,12 @@ extern "C" {
|
||||
|
||||
#include <iostream>
|
||||
|
||||
enum Loop {
|
||||
None,
|
||||
All,
|
||||
Once
|
||||
};
|
||||
|
||||
class Audio {
|
||||
public:
|
||||
static Audio& getInstance( ) {
|
||||
@@ -24,6 +30,7 @@ private:
|
||||
std::string path;
|
||||
std::string artist;
|
||||
std::string album;
|
||||
Loop loop;
|
||||
|
||||
Mix_Music* music;
|
||||
|
||||
@@ -50,7 +57,8 @@ public:
|
||||
void PauseMusic( );
|
||||
void ResumeMusic( );
|
||||
bool IsMusicPlaying( );
|
||||
|
||||
void TogglePlayPause( );
|
||||
bool IsMusicPaused( );
|
||||
void SetVolume(int vol);
|
||||
int GetVolume( );
|
||||
};
|
||||
|
||||
@@ -51,4 +51,8 @@ public:
|
||||
|
||||
std::string GetPath( ) { return path; };
|
||||
|
||||
std::string GetTitle( ) { return title; }
|
||||
std::string GetAlbum( ) { return album; }
|
||||
std::string GetArtist( ) { return artist; }
|
||||
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user