From de9d9c0e5d20ef26ab8b6ed6b6d04b8b31dc25e0 Mon Sep 17 00:00:00 2001 From: vanhofen Date: Sun, 2 Mar 2014 00:43:59 +0100 Subject: [PATCH] plugins: cleanup * drop PLUGINDIR_USB * drop unused 'param' from startPlugin Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/4b5242c254310677514346830192b88af563fa9c Author: vanhofen Date: 2014-03-02 (Sun, 02 Mar 2014) Origin message was: ------------------ - plugins: cleanup * drop PLUGINDIR_USB * drop unused 'param' from startPlugin ------------------ This commit was generated by Migit --- src/gui/movieplayer.cpp | 2 +- src/gui/pluginlist.cpp | 2 +- src/gui/plugins.cpp | 252 ++------------------------------- src/gui/plugins.h | 6 +- src/neutrino.cpp | 2 +- src/system/setting_helpers.cpp | 2 +- 6 files changed, 20 insertions(+), 246 deletions(-) diff --git a/src/gui/movieplayer.cpp b/src/gui/movieplayer.cpp index 4d5b45a6b..25e4b052f 100644 --- a/src/gui/movieplayer.cpp +++ b/src/gui/movieplayer.cpp @@ -629,7 +629,7 @@ void CMoviePlayerGui::PlayFile(void) showSubtitle(0); if (msg == (neutrino_msg_t) g_settings.mpkey_plugin) { - g_PluginList->start_plugin_by_name (g_settings.movieplayer_plugin.c_str (), 0 /*param is unused*/); + g_PluginList->startPlugin_by_name(g_settings.movieplayer_plugin.c_str ()); } else if (msg == (neutrino_msg_t) g_settings.mpkey_stop) { playstate = CMoviePlayerGui::STOPPED; } else if (msg == (neutrino_msg_t) g_settings.mpkey_play) { diff --git a/src/gui/pluginlist.cpp b/src/gui/pluginlist.cpp index d2ee3cdc4..353f7efcc 100644 --- a/src/gui/pluginlist.cpp +++ b/src/gui/pluginlist.cpp @@ -366,7 +366,7 @@ void CPluginList::paintItems() CPluginList::result_ CPluginList::pluginSelected() { hide(); - g_PluginList->startPlugin(pluginlist[selected]->number,0); + g_PluginList->startPlugin(pluginlist[selected]->number); if (!g_PluginList->getScriptOutput().empty()) { ShowMsg(LOCALE_PLUGINS_RESULT, g_PluginList->getScriptOutput(), CMessageBox::mbrBack,CMessageBox::mbBack,NEUTRINO_ICON_SHELL); diff --git a/src/gui/plugins.cpp b/src/gui/plugins.cpp index 439a5f7c5..f5088e0d6 100644 --- a/src/gui/plugins.cpp +++ b/src/gui/plugins.cpp @@ -59,14 +59,6 @@ #include #include "plugins.h" -/* for alexW images with old drivers: - * #define USE_VBI_INTERFACE 1 - */ - -#ifdef USE_VBI_INTERFACE -#define AVIA_VBI_START_VTXT 1 -#define AVIA_VBI_STOP_VTXT 2 -#endif #include #if ENABLE_LUA @@ -77,7 +69,6 @@ extern CPlugins * g_PluginList; /* neutrino.cpp */ extern CRemoteControl * g_RemoteControl; /* neutrino.cpp */ #define PLUGINDIR_VAR "/var/tuxbox/plugins" -#define PLUGINDIR_USB "/mnt/usb/tuxbox/plugins" CPlugins::CPlugins() { @@ -85,6 +76,11 @@ CPlugins::CPlugins() number_of_plugins = 0; } +CPlugins::~CPlugins() +{ + plugin_list.clear(); +} + bool CPlugins::plugin_exists(const std::string & filename) { return (find_plugin(filename) >= 0); @@ -163,22 +159,14 @@ void CPlugins::loadPlugins() plugin_list.clear(); sindex = 100; scanDir(g_settings.plugin_hdd_dir.c_str()); - scanDir(PLUGINDIR_USB); scanDir(PLUGINDIR_VAR); scanDir(PLUGINDIR); sort (plugin_list.begin(), plugin_list.end()); } -CPlugins::~CPlugins() -{ - plugin_list.clear(); -} - bool CPlugins::parseCfg(plugin *plugin_data) { -// FILE *fd; - std::ifstream inFile; std::string line[20]; int linecount = 0; @@ -292,13 +280,13 @@ PluginParam * CPlugins::makeParam(const char * const id, const int value, Plugin return makeParam(id, aval, next); } -void CPlugins::start_plugin_by_name(const std::string & filename,int param) +void CPlugins::startPlugin_by_name(const std::string & name) { for (int i = 0; i < (int) plugin_list.size(); i++) { - if (filename.compare(g_PluginList->getName(i))==0) + if (name.compare(g_PluginList->getName(i))==0) { - startPlugin(i,param); + startPlugin(i); return; } } @@ -308,7 +296,7 @@ void CPlugins::startPlugin(const char * const name) { int pluginnr = find_plugin(name); if (pluginnr > -1) - startPlugin(pluginnr,0); + startPlugin(pluginnr); else printf("[CPlugins] could not find %s\n", name); @@ -365,7 +353,7 @@ void CPlugins::startLuaPlugin(int number) } #endif -void CPlugins::startPlugin(int number,int /*param*/) +void CPlugins::startPlugin(int number) { // always delete old output delScriptOutput(); @@ -380,9 +368,8 @@ void CPlugins::startPlugin(int number,int /*param*/) sprintf(tmp, "%d", g_settings.screen_EndY); setenv("SCREEN_END_Y", tmp, 1); - //bool ispip = strncmp(plugin_list[number].pluginfile.c_str(), "pip", 3) ? false : true; bool ispip = strstr(plugin_list[number].pluginfile.c_str(), "pip") != 0; -//printf("exec: %s pip: %d\n", plugin_list[number].pluginfile.c_str(), ispip); + //printf("exec: %s pip: %d\n", plugin_list[number].pluginfile.c_str(), ispip); if (ispip && !g_RemoteControl->is_video_started) return; if (plugin_list[number].type == CPlugins::P_TYPE_SCRIPT) @@ -404,226 +391,15 @@ void CPlugins::startPlugin(int number,int /*param*/) return; } -#if 0 - PluginExec execPlugin; - char depstring[129]; - char *argv[20]; - void *libhandle[20]; - int argc = 0, i = 0, lcd_fd=-1; - char *p; - char *np; - void *handle; - char * error; - int vtpid = 0; - PluginParam * startparam = 0; -#endif - g_RCInput->clearRCMsg(); -#if 0 - if (plugin_list[number].fb) - { - startparam = makeParam(P_ID_FBUFFER , frameBuffer->getFileHandle() , startparam); - } - if (plugin_list[number].rc) - { - startparam = makeParam(P_ID_RCINPUT , g_RCInput->getFileHandle() , startparam); - startparam = makeParam(P_ID_RCBLK_ANF, g_settings.repeat_genericblocker, startparam); - startparam = makeParam(P_ID_RCBLK_REP, g_settings.repeat_blocker , startparam); - } - else - { - g_RCInput->stopInput(); - } - if (plugin_list[number].lcd) - { - CLCD::getInstance()->pause(); - - lcd_fd = open("/dev/dbox/lcd0", O_RDWR); - - startparam = makeParam(P_ID_LCD , lcd_fd , startparam); - } - if (plugin_list[number].vtxtpid) - { - vtpid = g_RemoteControl->current_PIDs.PIDs.vtxtpid; -#ifdef USE_VBI_INTERFACE - int fd = open("/dev/dbox/vbi0", O_RDWR); - if (fd > 0) - { - ioctl(fd, AVIA_VBI_STOP_VTXT, 0); - close(fd); - } -#endif - if (param>0) - vtpid=param; - startparam = makeParam(P_ID_VTXTPID, vtpid, startparam); - } - if (plugin_list[number].needoffset) - { - startparam = makeParam(P_ID_VFORMAT , g_settings.video_Format , startparam); - startparam = makeParam(P_ID_OFF_X , g_settings.screen_StartX , startparam); - startparam = makeParam(P_ID_OFF_Y , g_settings.screen_StartY , startparam); - startparam = makeParam(P_ID_END_X , g_settings.screen_EndX , startparam); - startparam = makeParam(P_ID_END_Y , g_settings.screen_EndY , startparam); - } - - PluginParam *par = startparam; - for ( ; par; par=par->next ) - { - printf("[CPlugins] (id,val):(%s,%s)\n", par->id, par->val); - } - std::string pluginname = plugin_list[number].filename; - - strcpy(depstring, plugin_list[number].depend.c_str()); - - argc=0; - if ( depstring[0] ) - { - p=depstring; - while ( 1 ) - { - argv[ argc ] = p; - argc++; - np = strchr(p,','); - if ( !np ) - break; - - *np=0; - p=np+1; - if ( argc == 20 ) // mehr nicht ! - break; - } - } - for ( i=0; isetPauseScanning (true); - g_Zapit->setEventMode(false); - if (g_Zapit->isPlayBackActive()) { - if (!CNeutrinoApp::getInstance()->recordingstatus) - g_Zapit->setRecordMode(true); - } else { - /* no playback, we playing file ? zap to channel */ - t_channel_id current_channel = g_Zapit->getCurrentServiceID(); - g_Zapit->zapTo_serviceID(current_channel); - } - } - g_RCInput->close_click(); -#ifndef FB_USE_PALETTE - if (plugin_list[number].fb) { - frameBuffer->setMode(720, 576, 8); - frameBuffer->paletteSet(); - } -#endif - execPlugin(startparam); - dlclose(handle); - printf("[CPlugins] exec done...\n"); - g_RCInput->open_click(); - } - } - //restore framebuffer... -//#if 0 -// g_RCInput->open_click(); -//#endif - - //if (!plugin_list[number].rc) - g_RCInput->restartInput(); - g_RCInput->clearRCMsg(); - - if (plugin_list[number].lcd) - { - if (lcd_fd != -1) - close(lcd_fd); - CLCD::getInstance()->resume(); - } - - if (plugin_list[number].fb) - { -#ifdef FB_USE_PALETTE - frameBuffer->paletteSet(); -#else - frameBuffer->setMode(720, 576, 8 * sizeof(fb_pixel_t)); -#endif - } - frameBuffer->paintBackgroundBox(0,0,720,576); - if (ispip) { - if (!CNeutrinoApp::getInstance()->recordingstatus) { - g_Zapit->setRecordMode(false); - } - g_Zapit->setEventMode(true); - g_Sectionsd->setPauseScanning (false); - } - -#ifdef USE_VBI_INTERFACE - if (plugin_list[number].vtxtpid) - { - if (vtpid != 0) - { - // versuche, den gtx/enx_vbi wieder zu starten - int fd = open("/dev/dbox/vbi0", O_RDWR); - if (fd > 0) - { - ioctl(fd, AVIA_VBI_START_VTXT, vtpid); - close(fd); - } - } - } -#endif - } - - /* unload shared libs */ - for ( i=0; iid, since it is the original */ - free(par->val); - PluginParam * tmp = par; - par = par->next; - delete tmp; - } - g_RCInput->clearRCMsg(); -#else g_RCInput->clearRCMsg(); g_RCInput->stopInput(); - //frameBuffer->setMode(720, 576, 8 * sizeof(fb_pixel_t)); + printf("Starting %s\n", plugin_list[number].pluginfile.c_str()); my_system(2, plugin_list[number].pluginfile.c_str(), NULL); - //frameBuffer->setMode(720, 576, 8 * sizeof(fb_pixel_t)); + frameBuffer->paintBackground(); g_RCInput->restartInput(); g_RCInput->clearRCMsg(); -#endif } bool CPlugins::hasPlugin(CPlugins::p_type_t type) @@ -671,5 +447,3 @@ CPlugins::p_type_t CPlugins::getPluginType(int type) return P_TYPE_DISABLED; } } - - diff --git a/src/gui/plugins.h b/src/gui/plugins.h index ac7f15089..ede5aa4a3 100644 --- a/src/gui/plugins.h +++ b/src/gui/plugins.h @@ -123,13 +123,13 @@ class CPlugins inline int getIndex (const int number) const { return plugin_list[number].index ; } inline neutrino_msg_t getKey (const int number) const { return (neutrino_msg_t)plugin_list[number].key; } - void startPlugin(int number,int param); - void start_plugin_by_name(const std::string & filename,int param);// start plugins by "name=" in .cfg + void startPlugin(int number); // start plugins by number + void startPlugin(const char * const filename); // start plugins by filename + void startPlugin_by_name(const std::string & name); // start plugins by "name=" in .cfg void startScriptPlugin(int number); #if ENABLE_LUA void startLuaPlugin(int number); #endif - void startPlugin(const char * const filename); // start plugins also by name bool hasPlugin(CPlugins::p_type_t type); const std::string& getScriptOutput() const; diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 0bf273f58..5b1f7ee42 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -2210,7 +2210,7 @@ void CNeutrinoApp::RealRun(CMenuWidget &mainMenu) numericZap( msg ); } else if( msg == (neutrino_msg_t) g_settings.key_plugin ) { - g_PluginList->start_plugin_by_name(g_settings.onekey_plugin.c_str(), 0); + g_PluginList->startPlugin_by_name(g_settings.onekey_plugin.c_str()); } else if(msg == (neutrino_msg_t) g_settings.key_timeshift) { CRecordManager::getInstance()->StartTimeshift(); diff --git a/src/system/setting_helpers.cpp b/src/system/setting_helpers.cpp index e94306ecd..2ec232eb6 100644 --- a/src/system/setting_helpers.cpp +++ b/src/system/setting_helpers.cpp @@ -385,7 +385,7 @@ int CStreamFeaturesChangeExec::exec(CMenuTarget* parent, const std::string & act } else if (sel>=0) { - g_PluginList->startPlugin(sel,0); + g_PluginList->startPlugin(sel); } return menu_return::RETURN_EXIT;