Skip to content

Commit

Permalink
Added missing methods to the player.
Browse files Browse the repository at this point in the history
  • Loading branch information
Jim Carroll committed Sep 17, 2012
1 parent 864b833 commit b83c029
Show file tree
Hide file tree
Showing 3 changed files with 104 additions and 7 deletions.
28 changes: 28 additions & 0 deletions xbmc/interfaces/legacy/CallbackFunction.h
Expand Up @@ -126,6 +126,34 @@ namespace XBMCAddon

virtual void executeCallback() { TRACE; ((*obj).*(meth))(param); }
};


/**
* This is the template to carry a callback to a member function
* that returns 'void' (has no return) and takes two parameters.
*/
template<class M, typename P1, typename P2> class CallbackFunction<M,P1,P2, cb_null_type, cb_null_type, cb_null_type> : public Callback
{
public:
typedef void (M::*MemberFunction)(P1,P2);

protected:
MemberFunction meth;
M* obj;
P1 param1;
P2 param2;

public:
CallbackFunction(M* object, MemberFunction method, P1 parameter, P2 parameter2) :
Callback(object, "CallbackFunction<M,P1,P2>"), meth(method), obj(object),
param1(parameter), param2(parameter2) {}

virtual ~CallbackFunction() { deallocating(); }

virtual void executeCallback() { TRACE; ((*obj).*(meth))(param1,param2); }
};


}


33 changes: 33 additions & 0 deletions xbmc/interfaces/legacy/Player.cpp
Expand Up @@ -207,6 +207,24 @@ namespace XBMCAddon
invokeCallback(new CallbackFunction<Player>(this,&Player::onQueueNextItem));
}

void Player::OnPlayBackSpeedChanged(int speed)
{
TRACE;
invokeCallback(new CallbackFunction<Player,int>(this,&Player::onPlayBackSpeedChanged,speed));
}

void Player::OnPlayBackSeek(int time, int seekOffset)
{
TRACE;
invokeCallback(new CallbackFunction<Player,int,int>(this,&Player::onPlayBackSeek,time,seekOffset));
}

void Player::OnPlayBackSeekChapter(int chapter)
{
TRACE;
invokeCallback(new CallbackFunction<Player,int>(this,&Player::onPlayBackSeekChapter,chapter));
}

void Player::onPlayBackStarted()
{
TRACE;
Expand Down Expand Up @@ -237,6 +255,21 @@ namespace XBMCAddon
TRACE;
}

void Player::onPlayBackSpeedChanged(int speed)
{
TRACE;
}

void Player::onPlayBackSeek(int time, int seekOffset)
{
TRACE;
}

void Player::onPlayBackSeekChapter(int chapter)
{
TRACE;
}

bool Player::isPlaying()
{
TRACE;
Expand Down
50 changes: 43 additions & 7 deletions xbmc/interfaces/legacy/Player.h
Expand Up @@ -142,13 +142,6 @@ namespace XBMCAddon
*/
void playselected(int selected);

SWIGHIDDENVIRTUAL void OnPlayBackStarted();
SWIGHIDDENVIRTUAL void OnPlayBackEnded();
SWIGHIDDENVIRTUAL void OnPlayBackStopped();
SWIGHIDDENVIRTUAL void OnPlayBackPaused();
SWIGHIDDENVIRTUAL void OnPlayBackResumed();
SWIGHIDDENVIRTUAL void OnQueueNextItem();

/**
* onPlayBackStarted() -- onPlayBackStarted method.
*
Expand Down Expand Up @@ -197,6 +190,36 @@ namespace XBMCAddon
*/
virtual void onQueueNextItem();

/**
* onPlayBackSpeedChanged(speed) -- onPlayBackSpeedChanged method.
*
* speed : integer - current speed of player.
*
* *Note, negative speed means player is rewinding, 1 is normal playback speed.
*
* Will be called when players speed changes. (eg. user FF/RW)
*/
virtual void onPlayBackSpeedChanged(int speed);

/**
* onPlayBackSeek(time, seekOffset) -- onPlayBackSeek method.
*
* time : integer - time to seek to.
* seekOffset : integer - ?.
*
* Will be called when user seeks to a time
*/
virtual void onPlayBackSeek(int time, int seekOffset);

/**
* onPlayBackSeekChapter(chapter) -- onPlayBackSeekChapter method.
*
* chapter : integer - chapter to seek to.
*
* Will be called when user performs a chapter seek
*/
virtual void onPlayBackSeekChapter(int chapter);

/**
* isPlaying() -- returns True is xbmc is playing a file.
*/
Expand Down Expand Up @@ -320,6 +343,19 @@ namespace XBMCAddon
* - setAudioStream(1)
*/
void setAudioStream(int iStream);

#ifndef SWIG
SWIGHIDDENVIRTUAL void OnPlayBackStarted();
SWIGHIDDENVIRTUAL void OnPlayBackEnded();
SWIGHIDDENVIRTUAL void OnPlayBackStopped();
SWIGHIDDENVIRTUAL void OnPlayBackPaused();
SWIGHIDDENVIRTUAL void OnPlayBackResumed();
SWIGHIDDENVIRTUAL void OnQueueNextItem();
SWIGHIDDENVIRTUAL void OnPlayBackSpeedChanged(int iSpeed);
SWIGHIDDENVIRTUAL void OnPlayBackSeek(int iTime, int seekOffset);
SWIGHIDDENVIRTUAL void OnPlayBackSeekChapter(int iChapter);
#endif

protected:
};
}
Expand Down

0 comments on commit b83c029

Please sign in to comment.