diff options
author | chriszero <zerov83@gmail.com> | 2015-01-12 21:06:11 +0100 |
---|---|---|
committer | chriszero <zerov83@gmail.com> | 2015-01-12 21:06:11 +0100 |
commit | 243e2d5097351046aa07f3c0af6ab0bb7c91ed2e (patch) | |
tree | 4a84670cbd017bb50a33b811edd48cc8a9718eb6 | |
parent | e0ad2e8c384b0ffab2c4283ea26efede6383dddd (diff) | |
download | vdr-plugin-plex-243e2d5097351046aa07f3c0af6ab0bb7c91ed2e.tar.gz vdr-plugin-plex-243e2d5097351046aa07f3c0af6ab0bb7c91ed2e.tar.bz2 |
Cleanups
-rw-r--r-- | plex.cpp | 174 | ||||
-rw-r--r-- | plex.h | 7 |
2 files changed, 12 insertions, 169 deletions
@@ -2,127 +2,21 @@ #include "SubscriptionManager.h" #include "plex.h" -static const char *const PLUGINNAME = "plex"; -////////////////////////////////////////////////////////////////////////////// - - - /// vdr-plugin description. -static const char *const DESCRIPTION = trNOOP("Plex for VDR Plugin"); - - /// vdr-plugin text of main menu entry -static const char *MAINMENUENTRY = trNOOP("Plex for VDR"); - ////////////////////////////////////////////////////////////////////////////// static char ConfigHideMainMenuEntry; ///< hide main menu entry char ConfigDisableRemote; ///< disable remote during external play -static volatile int DoMakePrimary; ///< switch primary device to this - -////////////////////////////////////////////////////////////////////////////// -// C Callbacks -////////////////////////////////////////////////////////////////////////////// - - -/** -** Feed key press as remote input (called from C part). -** -** @param keymap target keymap "XKeymap" name -** @param key pressed/released key name -** @param repeat repeated key flag -** @param release released key flag -*/ -extern "C" void FeedKeyPress(const char *keymap, const char *key, int repeat, - int release) -{ - cRemote *remote; - cMyRemote *csoft; - - if (!keymap || !key) { - return; - } - // find remote - for (remote = Remotes.First(); remote; remote = Remotes.Next(remote)) { - if (!strcmp(remote->Name(), keymap)) { - break; - } - } - // if remote not already exists, create it - if (remote) { - csoft = static_cast<cMyRemote*>(remote); - } else { - dsyslog("[plex]%s: remote '%s' not found\n", __FUNCTION__, keymap); - csoft = new cMyRemote(keymap); - } - - //dsyslog("[plex]%s %s, %s\n", __FUNCTION__, keymap, key); - if (key[1]) { // no single character - csoft->Put(key, repeat, release); - } else if (!csoft->Put(key, repeat, release)) { - cRemote::Put(KBDKEY(key[0])); // feed it for edit mode - } -} - -/** -** Disable remotes. -*/ -void RemoteDisable(void) -{ - dsyslog("[plex]: remote disabled\n"); - cRemote::SetEnabled(false); -} - -/** -** Enable remotes. -*/ -void RemoteEnable(void) -{ - dsyslog("[plex]: remote enabled\n"); - cRemote::SetEnabled(false); - cRemote::SetEnabled(true); -} - -////////////////////////////////////////////////////////////////////////////// -// C Callbacks for diashow -////////////////////////////////////////////////////////////////////////////// - -#if 0 - -/** -** Draw rectangle. -*/ -extern "C" void DrawRectangle(int x1, int y1, int x2, int y2, uint32_t argb) -{ - //GlobalDiashow->Osd->DrawRectangle(x1, y1, x2, y2, argb); -} - -/** -** Draw text. -** -** @param FIXME: -*/ -extern "C" void DrawText(int x, int y, const char *s, uint32_t fg, uint32_t bg, - int w, int h, int align) -{ - const cFont *font; - - font = cFont::GetFont(fontOsd); - //GlobalDiashow->Osd->DrawText(x, y, s, fg, bg, font, w, h, align); -} - -#endif - - /** ** Play a file. ** ** @param filename path and file name */ -static void PlayFile(const char *filename) +static void PlayFile(std::string filename, plexclient::Video* pVid) { - dsyslog("[plex]: play file '%s'\n", filename); + dsyslog("[plex]: play file '%s'\n", filename.c_str()); //cControl::Launch(new cMyControl(filename)); - cControl::Launch(new cHlsPlayerControl(new cHlsPlayer(filename), "Test Title")); + cControl::Launch(new cHlsPlayerControl(new cHlsPlayer(filename), pVid->m_sTitle.c_str())); } ////////////////////////////////////////////////////////////////////////////// @@ -252,12 +146,10 @@ eOSState cPlexBrowser::ProcessSelected() { if(item->IsVideo()) { plexclient::Video* pVid = item->GetAttachedVideo(); - fullUri = pService->GetServer()->GetUri() + pVid->m_pMedia->m_sPartKey; - //PlayFile(fullUri.c_str()); - //std::cout << "TrancodeUri: " << pService->GetTranscodeUrl(pVid) << std::endl; + fullUri = pService->GetServer()->GetUri() + pVid->m_pMedia->m_sPartKey; std::cout << "TrancodeUri: " << pService->GetUniversalTranscodeUrl(pVid) << std::endl; - PlayFile(pService->GetUniversalTranscodeUrl(pVid).c_str()); + PlayFile(pService->GetUniversalTranscodeUrl(pVid).c_str(), pVid); return osEnd; } @@ -395,16 +287,7 @@ const char *cMyPlugin::Version(void) */ const char *cMyPlugin::Description(void) { - return tr(DESCRIPTION); -} - -/** -** Return a string that describes all known command line options. -** -** @returns command line help as constant string. -*/ -const char *cMyPlugin::CommandLineHelp(void) -{ + return DESCRIPTION; } /** @@ -412,6 +295,7 @@ const char *cMyPlugin::CommandLineHelp(void) */ bool cMyPlugin::ProcessArgs(int argc, char *argv[]) { + return true; } /** @@ -449,7 +333,7 @@ bool cMyPlugin::Initialize(void) */ const char *cMyPlugin::MainMenuEntry(void) { - return ConfigHideMainMenuEntry ? NULL : tr(MAINMENUENTRY); + return ConfigHideMainMenuEntry ? NULL : MAINMENUENTRY; } /** @@ -466,56 +350,16 @@ cOsdObject *cMyPlugin::MainMenuAction(void) } /** -** Receive requests or messages. -** -** @param id unique identification string that identifies the -** service protocol -** @param data custom data structure -*/ -bool cMyPlugin::Service(const char *id, void *data) -{ -} - -/** -** Return SVDRP commands help pages. -** -** return a pointer to a list of help strings for all of the plugin's -** SVDRP commands. -*/ -const char **cMyPlugin::SVDRPHelpPages(void) -{ - return NULL; -} - -/** -** Handle SVDRP commands. -** -** @param command SVDRP command -** @param option all command arguments -** @param reply_code reply code -*/ -cString cMyPlugin::SVDRPCommand(const char *command, const char *option, int &reply_code) -{ - return NULL; -} - -/** ** Called for every plugin once during every cycle of VDR's main program ** loop. */ void cMyPlugin::MainThreadHook(void) { // dsyslog("[plex]%s:\n", __FUNCTION__); - - if (DoMakePrimary) { - dsyslog("[plex]: switching primary device to %d\n", DoMakePrimary); - cDevice::SetPrimaryDevice(DoMakePrimary); - DoMakePrimary = 0; - } // Start Tasks, e.g. Play Video if(plexclient::ActionManager::GetInstance().IsAction()) { std::string file = plexclient::ActionManager::GetInstance().GetAction(); - PlayFile(file.c_str()); + PlayFile(file, NULL); } } @@ -24,6 +24,9 @@ #include <iterator> #include <algorithm> +static const char *DESCRIPTION = "Plex for VDR Plugin"; +static const char *MAINMENUENTRY = "Plex for VDR"; + /** ** Device plugin remote class. */ @@ -202,7 +205,6 @@ class cMyPlugin:public cPlugin virtual ~ cMyPlugin(void); virtual const char *Version(void); virtual const char *Description(void); - virtual const char *CommandLineHelp(void); virtual bool ProcessArgs(int, char *[]); virtual bool Initialize(void); virtual void MainThreadHook(void); @@ -210,9 +212,6 @@ class cMyPlugin:public cPlugin virtual cOsdObject *MainMenuAction(void); virtual cMenuSetupPage *SetupMenu(void); virtual bool SetupParse(const char *, const char *); - virtual bool Service(const char *, void * = NULL); - virtual const char **SVDRPHelpPages(void); - virtual cString SVDRPCommand(const char *, const char *, int &); }; |