mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-08-28 16:01:10 +02:00
neutrino multimedia-menu: add singelton,
use singelton for creating or destroying for movieplayer instance
git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@1066 e54a6e83-5905-42d5-8d5c-058d10e6a962
Origin commit data
------------------
Branch: ni/coolstream
Commit: 1125c6ab1f
Author: Thilo Graf <dbt@novatux.de>
Date: 2011-01-26 (Wed, 26 Jan 2011)
Origin message was:
------------------
*neutrino multimedia-menu: add singelton,
use singelton for creating or destroying for movieplayer instance
git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@1066 e54a6e83-5905-42d5-8d5c-058d10e6a962
------------------
This commit was generated by Migit
This commit is contained in:
@@ -101,7 +101,7 @@ void CMediaPlayerMenu::showMenu()
|
||||
media->addItem(new CMenuForwarder(LOCALE_INETRADIO_NAME, true, NULL, new CAudioPlayerGui(true), NULL, CRCInput::RC_green, NEUTRINO_ICON_BUTTON_GREEN));
|
||||
|
||||
//movieplayer
|
||||
CMenuWidget *moviePlayer = new CMenuWidget(LOCALE_MAINMENU_MOVIEPLAYER, NEUTRINO_ICON_MULTIMEDIA, width);
|
||||
CMenuWidget *moviePlayer = new CMenuWidget(LOCALE_MAINMENU_MEDIA, NEUTRINO_ICON_MULTIMEDIA, width);
|
||||
showMoviePlayer(moviePlayer);
|
||||
media->addItem(new CMenuForwarder(LOCALE_MAINMENU_MOVIEPLAYER, true, NULL, moviePlayer, NULL, CRCInput::RC_yellow, NEUTRINO_ICON_BUTTON_YELLOW));
|
||||
|
||||
@@ -120,9 +120,9 @@ void CMediaPlayerMenu::showMenu()
|
||||
//show movieplayer submenu with selectable items for moviebrowser or filebrowser
|
||||
void CMediaPlayerMenu::showMoviePlayer(CMenuWidget *moviePlayer)
|
||||
{
|
||||
CMoviePlayerGui *movieplayer_gui = new CMoviePlayerGui();
|
||||
CMoviePlayerGui *movieplayer_gui = &CMoviePlayerGui::getInstance();
|
||||
|
||||
moviePlayer->addIntroItems();
|
||||
moviePlayer->addIntroItems(LOCALE_MAINMENU_MOVIEPLAYER);
|
||||
moviePlayer->addItem(new CMenuForwarder(LOCALE_MOVIEBROWSER_HEAD, true, NULL, movieplayer_gui, "tsmoviebrowser", CRCInput::RC_red, NEUTRINO_ICON_BUTTON_RED));
|
||||
moviePlayer->addItem(new CMenuForwarder(LOCALE_MOVIEPLAYER_FILEPLAYBACK, true, NULL, movieplayer_gui, "fileplayback", CRCInput::RC_green, NEUTRINO_ICON_BUTTON_GREEN));
|
||||
|
||||
|
@@ -78,6 +78,7 @@
|
||||
#include <playback.h>
|
||||
#include "libtuxtxt/teletext.h"
|
||||
|
||||
|
||||
int dvbsub_start(int pid);
|
||||
int dvbsub_pause();
|
||||
|
||||
@@ -141,6 +142,31 @@ int CAPIDSelectExec::exec(CMenuTarget * /*parent*/, const std::string & actionKe
|
||||
return menu_return::RETURN_EXIT;
|
||||
}
|
||||
|
||||
CMoviePlayerGui* CMoviePlayerGui::instance_mp = NULL;
|
||||
|
||||
CMoviePlayerGui& CMoviePlayerGui::getInstance()
|
||||
{
|
||||
if ( !instance_mp )
|
||||
{
|
||||
instance_mp = new CMoviePlayerGui();
|
||||
printf("[neutrino CMoviePlayerGui] Instance created...\n");
|
||||
}
|
||||
|
||||
return *instance_mp;
|
||||
}
|
||||
|
||||
void CMoviePlayerGui::Delete()
|
||||
{
|
||||
if ( instance_mp )
|
||||
{
|
||||
delete instance_mp;
|
||||
printf("[neutrino CMoviePlayerGui] Instance removed...\n");
|
||||
}
|
||||
|
||||
instance_mp = NULL;
|
||||
}
|
||||
|
||||
|
||||
CMoviePlayerGui::CMoviePlayerGui()
|
||||
{
|
||||
Init();
|
||||
|
@@ -111,9 +111,17 @@ class CMoviePlayerGui : public CMenuTarget
|
||||
void showHelpVLC(void);
|
||||
void callInfoViewer(const std::string & epg_title, const std::string & epg_info1,
|
||||
const std::string & epg_channel, const int duration, const int pos);
|
||||
|
||||
static CMoviePlayerGui* instance_mp;
|
||||
CMoviePlayerGui(const CMoviePlayerGui&) {};
|
||||
|
||||
public:
|
||||
CMoviePlayerGui();
|
||||
~CMoviePlayerGui();
|
||||
|
||||
static CMoviePlayerGui& getInstance();
|
||||
static void Delete();
|
||||
|
||||
int exec(CMenuTarget* parent, const std::string & actionKey);
|
||||
void updateLcd(const std::string & sel_filename);
|
||||
bool Playing();
|
||||
|
@@ -236,7 +236,6 @@ CBouquetList * RADIOallList;
|
||||
CPlugins * g_PluginList;
|
||||
CRemoteControl * g_RemoteControl;
|
||||
SMSKeyInput * c_SMSKeyInput;
|
||||
CMoviePlayerGui* moviePlayerGui;
|
||||
CAudioSelectMenuHandler *audio_menu;
|
||||
CPictureViewer * g_PicViewer;
|
||||
CCAMMenuHandler * g_CamHandler;
|
||||
@@ -2523,7 +2522,7 @@ printf("[neutrino] timeshift try, recordingstatus %d, rec dir %s, timeshift dir
|
||||
if(g_RemoteControl->is_video_started) {
|
||||
if(recordingstatus) {
|
||||
//StopSubtitles();
|
||||
moviePlayerGui->exec(NULL, tmode);
|
||||
CMoviePlayerGui::getInstance().exec(NULL, tmode);
|
||||
//StartSubtitles();
|
||||
} else if(msg != CRCInput::RC_rewind) {
|
||||
//StopSubtitles();
|
||||
@@ -2535,7 +2534,7 @@ printf("[neutrino] timeshift try, recordingstatus %d, rec dir %s, timeshift dir
|
||||
}
|
||||
if(recordingstatus) {
|
||||
//StopSubtitles();
|
||||
moviePlayerGui->exec(NULL, tmode);
|
||||
CMoviePlayerGui::getInstance().exec(NULL, tmode);
|
||||
//StartSubtitles();
|
||||
}
|
||||
}
|
||||
@@ -2590,7 +2589,7 @@ printf("[neutrino] direct record\n");
|
||||
//StopSubtitles();
|
||||
if( mode == mode_radio )
|
||||
videoDecoder->StopPicture();
|
||||
moviePlayerGui->exec(NULL, "tsmoviebrowser");
|
||||
CMoviePlayerGui::getInstance().exec(NULL, "tsmoviebrowser");
|
||||
if( mode == mode_radio )
|
||||
videoDecoder->ShowPicture(DATADIR "/neutrino/icons/radiomode.jpg");
|
||||
//StartSubtitles();
|
||||
@@ -3380,7 +3379,7 @@ skip_message:
|
||||
lastMode=mode;
|
||||
mode=mode_pic;
|
||||
}
|
||||
if((data & mode_mask)== mode_ts && moviePlayerGui->Playing()) {
|
||||
if((data & mode_mask)== mode_ts && CMoviePlayerGui::getInstance().Playing()) {
|
||||
if(mode == mode_radio)
|
||||
videoDecoder->StopPicture();
|
||||
lastMode=mode;
|
||||
@@ -3529,7 +3528,7 @@ void CNeutrinoApp::ExitRun(const bool /*write_si*/, int retcode)
|
||||
delete powerManager;
|
||||
}
|
||||
|
||||
delete moviePlayerGui;
|
||||
delete &CMoviePlayerGui::getInstance();
|
||||
shutdown_cs_api();
|
||||
|
||||
system("/etc/init.d/rcK");
|
||||
@@ -4465,7 +4464,7 @@ void stop_daemons(bool stopall)
|
||||
printf("zapit shutdown done\n");
|
||||
CVFD::getInstance()->Clear();
|
||||
if(stopall) {
|
||||
delete moviePlayerGui;
|
||||
CMoviePlayerGui::Delete(); //remove instance
|
||||
if (cpuFreq)
|
||||
cpuFreq->SetCpuFreq(g_settings.cpufreq * 1000 * 1000);
|
||||
if (powerManager) {
|
||||
|
@@ -1499,7 +1499,7 @@ bool CNeutrinoApp::showUserMenu(int button)
|
||||
menu_items++;
|
||||
menu_prev = SNeutrinoSettings::ITEM_MOVIEPLAYER_MB;
|
||||
keyhelper.get(&key,&icon,CRCInput::RC_green);
|
||||
menu_item = new CMenuForwarder(LOCALE_MOVIEBROWSER_HEAD, true, NULL, new CMoviePlayerGui(), "tsmoviebrowser", key, icon);
|
||||
menu_item = new CMenuForwarder(LOCALE_MOVIEBROWSER_HEAD, true, NULL, &CMoviePlayerGui::getInstance(), "tsmoviebrowser", key, icon);
|
||||
menu->addItem(menu_item, false);
|
||||
break;
|
||||
|
||||
|
Reference in New Issue
Block a user