summaryrefslogtreecommitdiff
path: root/plexSdOsd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plexSdOsd.cpp')
-rw-r--r--plexSdOsd.cpp748
1 files changed, 368 insertions, 380 deletions
diff --git a/plexSdOsd.cpp b/plexSdOsd.cpp
index ac699f2..f7f1228 100644
--- a/plexSdOsd.cpp
+++ b/plexSdOsd.cpp
@@ -7,413 +7,401 @@
cMutex cPlexSdOsd::RedrawMutex;
-cPlexSdOsd::cPlexSdOsd(skindesignerapi::cPluginStructure *plugStruct) : cSkindesignerOsdObject(plugStruct)
-{
- m_pRootView = NULL;
+cPlexSdOsd::cPlexSdOsd(skindesignerapi::cPluginStructure *plugStruct) : cSkindesignerOsdObject(plugStruct) {
+ m_pRootView = NULL;
}
-cPlexSdOsd::~cPlexSdOsd()
-{
- if(m_pRootView)
- m_pRootView->Deactivate(true);
- if(m_pBrowserGrid)
- m_pBrowserGrid->Clear();
- if(m_pMessage)
- m_pMessage->Clear();
+cPlexSdOsd::~cPlexSdOsd() {
+ if (m_pRootView)
+ m_pRootView->Deactivate(true);
+ if (m_pBrowserGrid)
+ m_pBrowserGrid->Clear();
+ if (m_pMessage)
+ m_pMessage->Clear();
}
-bool cPlexSdOsd::SdSupport()
-{
- if (SkindesignerAvailable()) {
- skindesignerapi::cOsdView *rootView = GetOsdView();
- if (!rootView) {
- esyslog("[plex]: used skindesigner skin does not support plex");
- return false;
- }
- }
- return true;
+bool cPlexSdOsd::SdSupport() {
+ if (SkindesignerAvailable()) {
+ skindesignerapi::cOsdView *rootView = GetOsdView();
+ if (!rootView) {
+ esyslog("[plex]: used skindesigner skin does not support plex");
+ return false;
+ }
+ }
+ return true;
}
-void cPlexSdOsd::Show(void)
-{
- if (!SkindesignerAvailable()) {
- return;
- }
-
- m_pRootView = std::shared_ptr<skindesignerapi::cOsdView>(GetOsdView((int)eViews::rootView));
- if (!m_pRootView) {
- esyslog("[plex]: used skindesigner skin does not support plex");
- return;
- }
-
- m_pBrowserGrid = std::shared_ptr<cBrowserGrid>(new cBrowserGrid(m_pRootView));
- m_pMessage = std::shared_ptr<skindesignerapi::cViewElement>(m_pRootView->GetViewElement((int)eViewElementsRoot::message));
- m_messageDisplayed = false;
- m_detailsActive = false;
- Flush();
+void cPlexSdOsd::Show(void) {
+ if (!SkindesignerAvailable()) {
+ return;
+ }
+
+ m_pRootView = std::shared_ptr<skindesignerapi::cOsdView>(GetOsdView((int) eViews::rootView));
+ if (!m_pRootView) {
+ esyslog("[plex]: used skindesigner skin does not support plex");
+ return;
+ }
+
+ m_pBrowserGrid = std::shared_ptr<cBrowserGrid>(new cBrowserGrid(m_pRootView));
+ m_pMessage = std::shared_ptr<skindesignerapi::cViewElement>(
+ m_pRootView->GetViewElement((int) eViewElementsRoot::message));
+ m_messageDisplayed = false;
+ m_detailsActive = false;
+ Flush();
}
-void cPlexSdOsd::Flush()
-{
- if(m_detailsActive) {
- m_pDetailGrid->Draw();
- m_pDetailGrid->Flush();
- }
- else {
- m_pBrowserGrid->DrawGrid();
- m_pBrowserGrid->Flush();
- }
+void cPlexSdOsd::Flush() {
+ if (m_detailsActive) {
+ m_pDetailGrid->Draw();
+ m_pDetailGrid->Flush();
+ }
+ else {
+ m_pBrowserGrid->DrawGrid();
+ m_pBrowserGrid->Flush();
+ }
}
-eOSState cPlexSdOsd::ProcessKey(eKeys Key)
-{
- eOSState state = eOSState::osContinue;
-
- if(m_detailsActive) {
- state = ProcessKeyDetailView(Key);
- } else {
- //check if some plexservers are online
- if(plexclient::plexgdm::GetInstance().GetFirstServer() == NULL ||
- (plexclient::plexgdm::GetInstance().GetFirstServer() && plexclient::plexgdm::GetInstance().GetFirstServer()->Offline)
- ) {
- DrawMessage(std::string(tr("No Plex Media Server found.")));
- switch (Key & ~k_Repeat) {
- case kOk:
- case kBack:
- return eOSState::osEnd;
- default:
- return eOSState::osContinue;
- }
- }
- state = ProcessKeyBrowserView(Key);
- }
-
- return state;
+eOSState cPlexSdOsd::ProcessKey(eKeys Key) {
+ eOSState state = eOSState::osContinue;
+
+ if (m_detailsActive) {
+ state = ProcessKeyDetailView(Key);
+ } else {
+ //check if some plexservers are online
+ if (plexclient::plexgdm::GetInstance().GetFirstServer() == NULL ||
+ (plexclient::plexgdm::GetInstance().GetFirstServer() &&
+ plexclient::plexgdm::GetInstance().GetFirstServer()->Offline)
+ ) {
+ DrawMessage(std::string(tr("No Plex Media Server found.")));
+ switch (Key & ~k_Repeat) {
+ case kOk:
+ case kBack:
+ return eOSState::osEnd;
+ default:
+ return eOSState::osContinue;
+ }
+ }
+ state = ProcessKeyBrowserView(Key);
+ }
+
+ return state;
}
-eOSState cPlexSdOsd::ProcessKeyDetailView(eKeys Key)
-{
- eOSState state = eOSState::osContinue;
- plexclient::cVideo* vid = NULL;
-
- switch (Key & ~k_Repeat) {
- case kUp:
- if(m_pDetailGrid->NavigateUp()) Flush();
- break;
- case kDown:
- if(m_pDetailGrid->NavigateDown()) Flush();
- break;
- case kLeft:
- if(m_pDetailGrid->NavigateLeft()) Flush();
- break;
- case kRight:
- if(m_pDetailGrid->NavigateRight()) Flush();
- break;
- case kOk:
- state = m_pDetailGrid->NavigateSelect();
- vid = dynamic_cast<plexclient::cVideo*>(m_pDetailGrid->SelectedObject());
- Flush();
- break;
- case kBack:
- state = eOSState::osContinue;
- m_pDetailGrid->Clear();
- m_pDetailGrid->Deactivate(true);
- m_pDetailGrid = nullptr;
- m_pDetailsView = nullptr;
- m_detailsActive = false;
- m_pBrowserGrid->Activate();
- Flush();
- break;
- case kYellow:
- if(m_pDetailGrid->GetVideo()) {
- if(m_pDetailGrid->GetVideo()->m_iViewCount > 0) m_pDetailGrid->GetVideo()->SetUnwatched();
- else m_pDetailGrid->GetVideo()->SetWatched();
- m_pDetailGrid->GetVideo()->UpdateFromServer();
- Flush();
- }
- break;
- case kGreen:
- vid = m_pDetailGrid->GetVideo();
- state = eOSState::osUser1;
- break;
- case kRed:
- vid = m_pDetailGrid->GetVideo();
- vid->m_iMyPlayOffset = vid->m_lViewoffset/1000;
- state = eOSState::osUser1;
- break;
- case kBlue:
- default:
- break;
- }
-
- if(state == eOSState::osUser1 && vid) {
- cMyPlugin::PlayFile(*vid);
- state = eOSState::osEnd;
- }
-
- if (state != osEnd && m_pDetailGrid && m_pDetailGrid->DrawTime()) m_pDetailGrid->Flush();
-
- return state;
+eOSState cPlexSdOsd::ProcessKeyDetailView(eKeys Key) {
+ eOSState state = eOSState::osContinue;
+ plexclient::cVideo *vid = NULL;
+
+ switch (Key & ~k_Repeat) {
+ case kUp:
+ if (m_pDetailGrid->NavigateUp()) Flush();
+ break;
+ case kDown:
+ if (m_pDetailGrid->NavigateDown()) Flush();
+ break;
+ case kLeft:
+ if (m_pDetailGrid->NavigateLeft()) Flush();
+ break;
+ case kRight:
+ if (m_pDetailGrid->NavigateRight()) Flush();
+ break;
+ case kOk:
+ state = m_pDetailGrid->NavigateSelect();
+ vid = dynamic_cast<plexclient::cVideo *>(m_pDetailGrid->SelectedObject());
+ Flush();
+ break;
+ case kBack:
+ state = eOSState::osContinue;
+ m_pDetailGrid->Clear();
+ m_pDetailGrid->Deactivate(true);
+ m_pDetailGrid = nullptr;
+ m_pDetailsView = nullptr;
+ m_detailsActive = false;
+ m_pBrowserGrid->Activate();
+ Flush();
+ break;
+ case kYellow:
+ if (m_pDetailGrid->GetVideo()) {
+ if (m_pDetailGrid->GetVideo()->m_iViewCount > 0) m_pDetailGrid->GetVideo()->SetUnwatched();
+ else m_pDetailGrid->GetVideo()->SetWatched();
+ m_pDetailGrid->GetVideo()->UpdateFromServer();
+ Flush();
+ }
+ break;
+ case kGreen:
+ vid = m_pDetailGrid->GetVideo();
+ state = eOSState::osUser1;
+ break;
+ case kRed:
+ vid = m_pDetailGrid->GetVideo();
+ vid->m_iMyPlayOffset = vid->m_lViewoffset / 1000;
+ state = eOSState::osUser1;
+ break;
+ case kBlue:
+ default:
+ break;
+ }
+
+ if (state == eOSState::osUser1 && vid) {
+ cMyPlugin::PlayFile(*vid);
+ state = eOSState::osEnd;
+ }
+
+ if (state != osEnd && m_pDetailGrid && m_pDetailGrid->DrawTime()) m_pDetailGrid->Flush();
+
+ return state;
}
-eOSState cPlexSdOsd::ProcessKeyBrowserView(eKeys Key)
-{
- eOSState state = eOSState::osContinue;
- plexclient::cVideo* vid = NULL;
-
- switch (Key & ~k_Repeat) {
- case kUp:
- if(m_pBrowserGrid->NavigateUp()) Flush();
- break;
- case kDown:
- if(m_pBrowserGrid->NavigateDown()) Flush();
- break;
- case kLeft:
- if(m_pBrowserGrid->NavigateLeft()) Flush();
- break;
- case kRight:
- if(m_pBrowserGrid->NavigateRight()) Flush();
- break;
- case kOk:
- // Play movie or change dir
- state = m_pBrowserGrid->NavigateSelect();
- if(state == eOSState::osUser1) {
- vid = dynamic_cast<plexclient::cVideo*>(m_pBrowserGrid->SelectedObject());
- vid->m_iMyPlayOffset = vid->m_lViewoffset/1000;
- }
- Flush();
- break;
- case kBack:
- state = m_pBrowserGrid->NavigateBack();
- Flush();
- break;
- case kBlue:
- m_pBrowserGrid->NextViewMode();
- Flush();
- break;
- case kRed:
- vid = dynamic_cast<plexclient::cVideo*>(m_pBrowserGrid->SelectedObject());
- if(vid) {
- if(vid->m_iViewCount > 0) vid->SetUnwatched();
- else vid->SetWatched();
- vid->UpdateFromServer();
- Flush();
- }
- break;
- case kGreen: // Show Details OSD
- vid = dynamic_cast<plexclient::cVideo*>(m_pBrowserGrid->SelectedObject());
- if(vid) {
- vid->UpdateFromServer();
- ShowDetails(vid);
- }
- break;
- case kYellow:
- m_pBrowserGrid->NextTab();
- Flush();
- break;
- default:
- break;
- }
-
- if(state == eOSState::osUser1 && vid) {
- cMyPlugin::PlayFile(*vid);
- state = eOSState::osEnd;
- }
-
- if (state != osEnd && m_pBrowserGrid->DrawTime()) m_pBrowserGrid->Flush();
-
- return state;
+eOSState cPlexSdOsd::ProcessKeyBrowserView(eKeys Key) {
+ eOSState state = eOSState::osContinue;
+ plexclient::cVideo *vid = NULL;
+
+ switch (Key & ~k_Repeat) {
+ case kUp:
+ if (m_pBrowserGrid->NavigateUp()) Flush();
+ break;
+ case kDown:
+ if (m_pBrowserGrid->NavigateDown()) Flush();
+ break;
+ case kLeft:
+ if (m_pBrowserGrid->NavigateLeft()) Flush();
+ break;
+ case kRight:
+ if (m_pBrowserGrid->NavigateRight()) Flush();
+ break;
+ case kOk:
+ // Play movie or change dir
+ state = m_pBrowserGrid->NavigateSelect();
+ if (state == eOSState::osUser1) {
+ vid = dynamic_cast<plexclient::cVideo *>(m_pBrowserGrid->SelectedObject());
+ vid->m_iMyPlayOffset = vid->m_lViewoffset / 1000;
+ }
+ Flush();
+ break;
+ case kBack:
+ state = m_pBrowserGrid->NavigateBack();
+ Flush();
+ break;
+ case kBlue:
+ m_pBrowserGrid->NextViewMode();
+ Flush();
+ break;
+ case kRed:
+ vid = dynamic_cast<plexclient::cVideo *>(m_pBrowserGrid->SelectedObject());
+ if (vid) {
+ if (vid->m_iViewCount > 0) vid->SetUnwatched();
+ else vid->SetWatched();
+ vid->UpdateFromServer();
+ Flush();
+ }
+ break;
+ case kGreen: // Show Details OSD
+ vid = dynamic_cast<plexclient::cVideo *>(m_pBrowserGrid->SelectedObject());
+ if (vid) {
+ vid->UpdateFromServer();
+ ShowDetails(vid);
+ }
+ break;
+ case kYellow:
+ m_pBrowserGrid->NextTab();
+ Flush();
+ break;
+ default:
+ break;
+ }
+
+ if (state == eOSState::osUser1 && vid) {
+ cMyPlugin::PlayFile(*vid);
+ state = eOSState::osEnd;
+ }
+
+ if (state != osEnd && m_pBrowserGrid->DrawTime()) m_pBrowserGrid->Flush();
+
+ return state;
}
-void cPlexSdOsd::ShowDetails(plexclient::cVideo *vid)
-{
- if(m_detailsActive) return;
-
- m_pBrowserGrid->Deactivate(true);
- m_pDetailsView = std::shared_ptr<skindesignerapi::cOsdView>(GetOsdView((int)eViews::detailView));
- m_pDetailGrid = std::shared_ptr<cDetailView>(new cDetailView(m_pDetailsView, vid));
-
- m_pDetailGrid->Activate();
- m_pDetailGrid->Draw();
- m_pDetailGrid->Flush();
- m_detailsActive = true;
+void cPlexSdOsd::ShowDetails(plexclient::cVideo *vid) {
+ if (m_detailsActive) return;
+
+ m_pBrowserGrid->Deactivate(true);
+ m_pDetailsView = std::shared_ptr<skindesignerapi::cOsdView>(GetOsdView((int) eViews::detailView));
+ m_pDetailGrid = std::shared_ptr<cDetailView>(new cDetailView(m_pDetailsView, vid));
+
+ m_pDetailGrid->Activate();
+ m_pDetailGrid->Draw();
+ m_pDetailGrid->Flush();
+ m_detailsActive = true;
}
-void cPlexSdOsd::DrawMessage(std::string message)
-{
- m_pMessage->ClearTokens();
- m_pMessage->AddStringToken((int)eTokenMessageStr::message, message.c_str());
- m_pMessage->AddIntToken((int)eTokenMessageInt::displaymessage, true);
- m_pMessage->Display();
- m_pRootView->Display();
+void cPlexSdOsd::DrawMessage(std::string message) {
+ m_pMessage->ClearTokens();
+ m_pMessage->AddStringToken((int) eTokenMessageStr::message, message.c_str());
+ m_pMessage->AddIntToken((int) eTokenMessageInt::displaymessage, true);
+ m_pMessage->Display();
+ m_pRootView->Display();
}
-void cPlexSdOsd::DefineTokens(eViewElementsRoot ve, skindesignerapi::cTokenContainer* tk)
-{
- switch(ve) {
- case eViewElementsRoot::background:
- tk->DefineIntToken("{viewmode}", (int)eTokenBackgroundInt::viewmode);
- tk->DefineIntToken("{isdirectory}", (int)eTokenBackgroundInt::isdirectory);
- tk->DefineStringToken("{selecteditembackground}", (int)eTokenBackgroundStr::selecteditembackground);
- tk->DefineStringToken("{currentdirectorybackground}", (int)eTokenBackgroundStr::currentdirectorybackground);
- break;
- case eViewElementsRoot::infopane:
- case eViewElementsRoot::header:
- DefineGridTokens(tk);
- tk->DefineStringToken("{tabname}", (int)eTokenGridStr::tabname);
- break;
- case eViewElementsRoot::footer:
- DefineFooterTokens(tk);
- break;
- case eViewElementsRoot::watch:
- DefineWatchTokens(tk);
- break;
- case eViewElementsRoot::message:
- tk->DefineIntToken("{displaymessage}", (int)eTokenMessageInt::displaymessage);
- tk->DefineStringToken("{message}", (int)eTokenMessageStr::message);
- break;
- case eViewElementsRoot::scrollbar:
- tk->DefineIntToken("{height}", (int)eTokenScrollbarInt::height);
- tk->DefineIntToken("{offset}", (int)eTokenScrollbarInt::offset);
- tk->DefineIntToken("{hasscrollbar}", (int)eTokenScrollbarInt::hasscrollbar);
- break;
- }
+void cPlexSdOsd::DefineTokens(eViewElementsRoot ve, skindesignerapi::cTokenContainer *tk) {
+ switch (ve) {
+ case eViewElementsRoot::background:
+ tk->DefineIntToken("{viewmode}", (int) eTokenBackgroundInt::viewmode);
+ tk->DefineIntToken("{isdirectory}", (int) eTokenBackgroundInt::isdirectory);
+ tk->DefineStringToken("{selecteditembackground}", (int) eTokenBackgroundStr::selecteditembackground);
+ tk->DefineStringToken("{currentdirectorybackground}",
+ (int) eTokenBackgroundStr::currentdirectorybackground);
+ break;
+ case eViewElementsRoot::infopane:
+ case eViewElementsRoot::header:
+ DefineGridTokens(tk);
+ tk->DefineStringToken("{tabname}", (int) eTokenGridStr::tabname);
+ break;
+ case eViewElementsRoot::footer:
+ DefineFooterTokens(tk);
+ break;
+ case eViewElementsRoot::watch:
+ DefineWatchTokens(tk);
+ break;
+ case eViewElementsRoot::message:
+ tk->DefineIntToken("{displaymessage}", (int) eTokenMessageInt::displaymessage);
+ tk->DefineStringToken("{message}", (int) eTokenMessageStr::message);
+ break;
+ case eViewElementsRoot::scrollbar:
+ tk->DefineIntToken("{height}", (int) eTokenScrollbarInt::height);
+ tk->DefineIntToken("{offset}", (int) eTokenScrollbarInt::offset);
+ tk->DefineIntToken("{hasscrollbar}", (int) eTokenScrollbarInt::hasscrollbar);
+ break;
+ }
}
-void cPlexSdOsd::DefineGridTokens(skindesignerapi::cTokenContainer* tk)
-{
- tk->DefineIntToken("{viewmode}", (int)eTokenGridInt::viewmode);
- tk->DefineIntToken("{viewgroup}", (int)eTokenGridInt::viewgroup);
- tk->DefineIntToken("{viewCount}", (int)eTokenGridInt::viewCount);
- tk->DefineIntToken("{viewoffset}", (int)eTokenGridInt::viewoffset);
- tk->DefineIntToken("{viewoffsetpercent}", (int)eTokenGridInt::viewoffsetpercent);
- tk->DefineIntToken("{duration}", (int)eTokenGridInt::duration);
- tk->DefineIntToken("{year}", (int)eTokenGridInt::year);
- tk->DefineIntToken("{hasthumb}", (int)eTokenGridInt::hasthumb);
- tk->DefineIntToken("{hasart}", (int)eTokenGridInt::hasart);
- tk->DefineIntToken("{ismovie}", (int)eTokenGridInt::ismovie);
- tk->DefineIntToken("{isepisode}", (int)eTokenGridInt::isepisode);
- tk->DefineIntToken("{isdirectory}", (int)eTokenGridInt::isdirectory);
- tk->DefineIntToken("{isshow}", (int)eTokenGridInt::isshow);
- tk->DefineIntToken("{isseason}", (int)eTokenGridInt::isseason);
- tk->DefineIntToken("{isclip}", (int)eTokenGridInt::isclip);
- tk->DefineIntToken("{originallyAvailableYear}", (int)eTokenGridInt::originallyAvailableYear);
- tk->DefineIntToken("{originallyAvailableMonth}", (int)eTokenGridInt::originallyAvailableMonth);
- tk->DefineIntToken("{originallyAvailableDay}", (int)eTokenGridInt::originallyAvailableDay);
- tk->DefineIntToken("{season}", (int)eTokenGridInt::season);
- tk->DefineIntToken("{episode}", (int)eTokenGridInt::episode);
- tk->DefineIntToken("{leafCount}", (int)eTokenGridInt::leafCount);
- tk->DefineIntToken("{viewedLeafCount}", (int)eTokenGridInt::viewedLeafCount);
- tk->DefineIntToken("{childCount}", (int)eTokenGridInt::childCount);
- tk->DefineIntToken("{rating}", (int)eTokenGridInt::rating);
- tk->DefineIntToken("{hasseriesthumb}", (int)eTokenGridInt::hasseriesthumb);
- tk->DefineIntToken("{hasbanner}", (int)eTokenGridInt::hasbanner);
- tk->DefineIntToken("{columns}", (int)eTokenGridInt::columns);
- tk->DefineIntToken("{rows}", (int)eTokenGridInt::rows);
- tk->DefineIntToken("{position}", (int)eTokenGridInt::position);
- tk->DefineIntToken("{totalcount}", (int)eTokenGridInt::totalcount);
- tk->DefineIntToken("{bitrate}", (int)eTokenGridInt::bitrate);
- tk->DefineIntToken("{width}", (int)eTokenGridInt::width);
- tk->DefineIntToken("{height}", (int)eTokenGridInt::height);
- tk->DefineIntToken("{audioChannels}", (int)eTokenGridInt::audioChannels);
- tk->DefineIntToken("{isdummy}", (int)eTokenGridInt::isdummy);
- tk->DefineIntToken("{isserver}", (int)eTokenGridInt::isserver);
- tk->DefineIntToken("{serverport}", (int)eTokenGridInt::serverport);
- tk->DefineIntToken("{extratype}", (int)eTokenGridInt::extratype);
-
- tk->DefineStringToken("{title}", (int)eTokenGridStr::title);
- tk->DefineStringToken("{orginaltitle}", (int)eTokenGridStr::orginaltitle);
- tk->DefineStringToken("{summary}", (int)eTokenGridStr::summary);
- tk->DefineStringToken("{tagline}", (int)eTokenGridStr::tagline);
- tk->DefineStringToken("{contentrating}", (int)eTokenGridStr::contentrating);
- tk->DefineStringToken("{ratingstring}", (int)eTokenGridStr::ratingstring);
- tk->DefineStringToken("{studio}", (int)eTokenGridStr::studio);
- tk->DefineStringToken("{thumb}", (int)eTokenGridStr::thumb);
- tk->DefineStringToken("{art}", (int)eTokenGridStr::art);
- tk->DefineStringToken("{seriestitle}", (int)eTokenGridStr::seriestitle);
- tk->DefineStringToken("{seriesthumb}", (int)eTokenGridStr::seriesthumb);
- tk->DefineStringToken("{banner}", (int)eTokenGridStr::banner);
- tk->DefineStringToken("{videoResolution}", (int)eTokenGridStr::videoResolution);
- tk->DefineStringToken("{aspectRatio}", (int)eTokenGridStr::aspectRatio);
- tk->DefineStringToken("{audioCodec}", (int)eTokenGridStr::audioCodec);
- tk->DefineStringToken("{videoCodec}", (int)eTokenGridStr::videoCodec);
- tk->DefineStringToken("{container}", (int)eTokenGridStr::container);
- tk->DefineStringToken("{videoFrameRate}", (int)eTokenGridStr::videoFrameRate);
- tk->DefineStringToken("{serverstartpointname}", (int)eTokenGridStr::serverstartpointname);
- tk->DefineStringToken("{serverip}", (int)eTokenGridStr::serverip);
- tk->DefineStringToken("{serverversion}", (int)eTokenGridStr::serverversion);
-
- tk->DefineLoopToken("{roles[actor]}", (int)eTokenGridActorLst::roles);
- tk->DefineLoopToken("{genres[genre]}", (int)eTokenGridGenresLst::genres);
+void cPlexSdOsd::DefineGridTokens(skindesignerapi::cTokenContainer *tk) {
+ tk->DefineIntToken("{viewmode}", (int) eTokenGridInt::viewmode);
+ tk->DefineIntToken("{viewgroup}", (int) eTokenGridInt::viewgroup);
+ tk->DefineIntToken("{viewCount}", (int) eTokenGridInt::viewCount);
+ tk->DefineIntToken("{viewoffset}", (int) eTokenGridInt::viewoffset);
+ tk->DefineIntToken("{viewoffsetpercent}", (int) eTokenGridInt::viewoffsetpercent);
+ tk->DefineIntToken("{duration}", (int) eTokenGridInt::duration);
+ tk->DefineIntToken("{year}", (int) eTokenGridInt::year);
+ tk->DefineIntToken("{hasthumb}", (int) eTokenGridInt::hasthumb);
+ tk->DefineIntToken("{hasart}", (int) eTokenGridInt::hasart);
+ tk->DefineIntToken("{ismovie}", (int) eTokenGridInt::ismovie);
+ tk->DefineIntToken("{isepisode}", (int) eTokenGridInt::isepisode);
+ tk->DefineIntToken("{isdirectory}", (int) eTokenGridInt::isdirectory);
+ tk->DefineIntToken("{isshow}", (int) eTokenGridInt::isshow);
+ tk->DefineIntToken("{isseason}", (int) eTokenGridInt::isseason);
+ tk->DefineIntToken("{isclip}", (int) eTokenGridInt::isclip);
+ tk->DefineIntToken("{originallyAvailableYear}", (int) eTokenGridInt::originallyAvailableYear);
+ tk->DefineIntToken("{originallyAvailableMonth}", (int) eTokenGridInt::originallyAvailableMonth);
+ tk->DefineIntToken("{originallyAvailableDay}", (int) eTokenGridInt::originallyAvailableDay);
+ tk->DefineIntToken("{season}", (int) eTokenGridInt::season);
+ tk->DefineIntToken("{episode}", (int) eTokenGridInt::episode);
+ tk->DefineIntToken("{leafCount}", (int) eTokenGridInt::leafCount);
+ tk->DefineIntToken("{viewedLeafCount}", (int) eTokenGridInt::viewedLeafCount);
+ tk->DefineIntToken("{childCount}", (int) eTokenGridInt::childCount);
+ tk->DefineIntToken("{rating}", (int) eTokenGridInt::rating);
+ tk->DefineIntToken("{hasseriesthumb}", (int) eTokenGridInt::hasseriesthumb);
+ tk->DefineIntToken("{hasbanner}", (int) eTokenGridInt::hasbanner);
+ tk->DefineIntToken("{columns}", (int) eTokenGridInt::columns);
+ tk->DefineIntToken("{rows}", (int) eTokenGridInt::rows);
+ tk->DefineIntToken("{position}", (int) eTokenGridInt::position);
+ tk->DefineIntToken("{totalcount}", (int) eTokenGridInt::totalcount);
+ tk->DefineIntToken("{bitrate}", (int) eTokenGridInt::bitrate);
+ tk->DefineIntToken("{width}", (int) eTokenGridInt::width);
+ tk->DefineIntToken("{height}", (int) eTokenGridInt::height);
+ tk->DefineIntToken("{audioChannels}", (int) eTokenGridInt::audioChannels);
+ tk->DefineIntToken("{isdummy}", (int) eTokenGridInt::isdummy);
+ tk->DefineIntToken("{isserver}", (int) eTokenGridInt::isserver);
+ tk->DefineIntToken("{serverport}", (int) eTokenGridInt::serverport);
+ tk->DefineIntToken("{extratype}", (int) eTokenGridInt::extratype);
+
+ tk->DefineStringToken("{title}", (int) eTokenGridStr::title);
+ tk->DefineStringToken("{orginaltitle}", (int) eTokenGridStr::orginaltitle);
+ tk->DefineStringToken("{summary}", (int) eTokenGridStr::summary);
+ tk->DefineStringToken("{tagline}", (int) eTokenGridStr::tagline);
+ tk->DefineStringToken("{contentrating}", (int) eTokenGridStr::contentrating);
+ tk->DefineStringToken("{ratingstring}", (int) eTokenGridStr::ratingstring);
+ tk->DefineStringToken("{studio}", (int) eTokenGridStr::studio);
+ tk->DefineStringToken("{thumb}", (int) eTokenGridStr::thumb);
+ tk->DefineStringToken("{art}", (int) eTokenGridStr::art);
+ tk->DefineStringToken("{seriestitle}", (int) eTokenGridStr::seriestitle);
+ tk->DefineStringToken("{seriesthumb}", (int) eTokenGridStr::seriesthumb);
+ tk->DefineStringToken("{banner}", (int) eTokenGridStr::banner);
+ tk->DefineStringToken("{videoResolution}", (int) eTokenGridStr::videoResolution);
+ tk->DefineStringToken("{aspectRatio}", (int) eTokenGridStr::aspectRatio);
+ tk->DefineStringToken("{audioCodec}", (int) eTokenGridStr::audioCodec);
+ tk->DefineStringToken("{videoCodec}", (int) eTokenGridStr::videoCodec);
+ tk->DefineStringToken("{container}", (int) eTokenGridStr::container);
+ tk->DefineStringToken("{videoFrameRate}", (int) eTokenGridStr::videoFrameRate);
+ tk->DefineStringToken("{serverstartpointname}", (int) eTokenGridStr::serverstartpointname);
+ tk->DefineStringToken("{serverip}", (int) eTokenGridStr::serverip);
+ tk->DefineStringToken("{serverversion}", (int) eTokenGridStr::serverversion);
+
+ tk->DefineLoopToken("{roles[actor]}", (int) eTokenGridActorLst::roles);
+ tk->DefineLoopToken("{genres[genre]}", (int) eTokenGridGenresLst::genres);
}
-void cPlexSdOsd::DefineFooterTokens(skindesignerapi::cTokenContainer *tk)
-{
- tk->DefineIntToken("{red1}", (int)eTokenFooterInt::red1);
- tk->DefineIntToken("{red2}", (int)eTokenFooterInt::red2);
- tk->DefineIntToken("{red3}", (int)eTokenFooterInt::red3);
- tk->DefineIntToken("{red4}", (int)eTokenFooterInt::red4);
- tk->DefineIntToken("{green1}", (int)eTokenFooterInt::green1);
- tk->DefineIntToken("{green2}", (int)eTokenFooterInt::green2);
- tk->DefineIntToken("{green3}", (int)eTokenFooterInt::green3);
- tk->DefineIntToken("{green4}", (int)eTokenFooterInt::green4);
- tk->DefineIntToken("{yellow1}", (int)eTokenFooterInt::yellow1);
- tk->DefineIntToken("{yellow2}", (int)eTokenFooterInt::yellow2);
- tk->DefineIntToken("{yellow3}", (int)eTokenFooterInt::yellow3);
- tk->DefineIntToken("{yellow4}", (int)eTokenFooterInt::yellow4);
- tk->DefineIntToken("{blue1}", (int)eTokenFooterInt::blue1);
- tk->DefineIntToken("{blue2}", (int)eTokenFooterInt::blue2);
- tk->DefineIntToken("{blue3}", (int)eTokenFooterInt::blue3);
- tk->DefineIntToken("{blue4}", (int)eTokenFooterInt::blue4);
- tk->DefineStringToken("{red}", (int)eTokenFooterStr::red);
- tk->DefineStringToken("{green}", (int)eTokenFooterStr::green);
- tk->DefineStringToken("{yellow}", (int)eTokenFooterStr::yellow);
- tk->DefineStringToken("{blue}", (int)eTokenFooterStr::blue);
+void cPlexSdOsd::DefineFooterTokens(skindesignerapi::cTokenContainer *tk) {
+ tk->DefineIntToken("{red1}", (int) eTokenFooterInt::red1);
+ tk->DefineIntToken("{red2}", (int) eTokenFooterInt::red2);
+ tk->DefineIntToken("{red3}", (int) eTokenFooterInt::red3);
+ tk->DefineIntToken("{red4}", (int) eTokenFooterInt::red4);
+ tk->DefineIntToken("{green1}", (int) eTokenFooterInt::green1);
+ tk->DefineIntToken("{green2}", (int) eTokenFooterInt::green2);
+ tk->DefineIntToken("{green3}", (int) eTokenFooterInt::green3);
+ tk->DefineIntToken("{green4}", (int) eTokenFooterInt::green4);
+ tk->DefineIntToken("{yellow1}", (int) eTokenFooterInt::yellow1);
+ tk->DefineIntToken("{yellow2}", (int) eTokenFooterInt::yellow2);
+ tk->DefineIntToken("{yellow3}", (int) eTokenFooterInt::yellow3);
+ tk->DefineIntToken("{yellow4}", (int) eTokenFooterInt::yellow4);
+ tk->DefineIntToken("{blue1}", (int) eTokenFooterInt::blue1);
+ tk->DefineIntToken("{blue2}", (int) eTokenFooterInt::blue2);
+ tk->DefineIntToken("{blue3}", (int) eTokenFooterInt::blue3);
+ tk->DefineIntToken("{blue4}", (int) eTokenFooterInt::blue4);
+ tk->DefineStringToken("{red}", (int) eTokenFooterStr::red);
+ tk->DefineStringToken("{green}", (int) eTokenFooterStr::green);
+ tk->DefineStringToken("{yellow}", (int) eTokenFooterStr::yellow);
+ tk->DefineStringToken("{blue}", (int) eTokenFooterStr::blue);
}
-void cPlexSdOsd::DefineWatchTokens(skindesignerapi::cTokenContainer *tk)
-{
- tk->DefineIntToken("{sec}", (int)eTokenTimeInt::sec);
- tk->DefineIntToken("{min}", (int)eTokenTimeInt::min);
- tk->DefineIntToken("{hour}", (int)eTokenTimeInt::hour);
- tk->DefineIntToken("{hmins}", (int)eTokenTimeInt::hmins);
- tk->DefineIntToken("{day}", (int)eTokenTimeInt::day);
- tk->DefineIntToken("{year}", (int)eTokenTimeInt::year);
- tk->DefineStringToken("{time}", (int)eTokenTimeStr::time);
- tk->DefineStringToken("{dayname}", (int)eTokenTimeStr::dayname);
- tk->DefineStringToken("{daynameshort}", (int)eTokenTimeStr::daynameshort);
- tk->DefineStringToken("{dayleadingzero}", (int)eTokenTimeStr::dayleadingzero);
- tk->DefineStringToken("{month}", (int)eTokenTimeStr::month);
- tk->DefineStringToken("{monthname}", (int)eTokenTimeStr::monthname);
- tk->DefineStringToken("{monthnameshort}", (int)eTokenTimeStr::monthnameshort);
+void cPlexSdOsd::DefineWatchTokens(skindesignerapi::cTokenContainer *tk) {
+ tk->DefineIntToken("{sec}", (int) eTokenTimeInt::sec);
+ tk->DefineIntToken("{min}", (int) eTokenTimeInt::min);
+ tk->DefineIntToken("{hour}", (int) eTokenTimeInt::hour);
+ tk->DefineIntToken("{hmins}", (int) eTokenTimeInt::hmins);
+ tk->DefineIntToken("{day}", (int) eTokenTimeInt::day);
+ tk->DefineIntToken("{year}", (int) eTokenTimeInt::year);
+ tk->DefineStringToken("{time}", (int) eTokenTimeStr::time);
+ tk->DefineStringToken("{dayname}", (int) eTokenTimeStr::dayname);
+ tk->DefineStringToken("{daynameshort}", (int) eTokenTimeStr::daynameshort);
+ tk->DefineStringToken("{dayleadingzero}", (int) eTokenTimeStr::dayleadingzero);
+ tk->DefineStringToken("{month}", (int) eTokenTimeStr::month);
+ tk->DefineStringToken("{monthname}", (int) eTokenTimeStr::monthname);
+ tk->DefineStringToken("{monthnameshort}", (int) eTokenTimeStr::monthnameshort);
}
-void cPlexSdOsd::DefineDetailsTokens(eViewElementsDetail ve, skindesignerapi::cTokenContainer *tk)
-{
- switch(ve) {
- case eViewElementsDetail::background:
- tk->DefineIntToken("{hasfanart}", (int)eTokenDetailBackgroundInt::hasfanart);
- tk->DefineIntToken("{hascover}", (int)eTokenDetailBackgroundInt::hascover);
- tk->DefineStringToken("{fanartpath}", (int)eTokenDetailBackgroundStr::fanartpath);
- tk->DefineStringToken("{coverpath}", (int)eTokenDetailBackgroundStr::coverpath);
- break;
- case eViewElementsDetail::footer:
- DefineFooterTokens(tk);
- break;
- case eViewElementsDetail::info:
- DefineGridTokens(tk);
- break;
- case eViewElementsDetail::message:
- tk->DefineIntToken("{displaymessage}", (int)eTokenMessageInt::displaymessage);
- tk->DefineStringToken("{message}", (int)eTokenMessageStr::message);
- break;
- case eViewElementsDetail::scrollbar:
- tk->DefineIntToken("{height}", (int)eTokenScrollbarInt::height);
- tk->DefineIntToken("{offset}", (int)eTokenScrollbarInt::offset);
- tk->DefineIntToken("{hasscrollbar}", (int)eTokenScrollbarInt::hasscrollbar);
- break;
- default:
- break;
- }
+void cPlexSdOsd::DefineDetailsTokens(eViewElementsDetail ve, skindesignerapi::cTokenContainer *tk) {
+ switch (ve) {
+ case eViewElementsDetail::background:
+ tk->DefineIntToken("{hasfanart}", (int) eTokenDetailBackgroundInt::hasfanart);
+ tk->DefineIntToken("{hascover}", (int) eTokenDetailBackgroundInt::hascover);
+ tk->DefineStringToken("{fanartpath}", (int) eTokenDetailBackgroundStr::fanartpath);
+ tk->DefineStringToken("{coverpath}", (int) eTokenDetailBackgroundStr::coverpath);
+ break;
+ case eViewElementsDetail::footer:
+ DefineFooterTokens(tk);
+ break;
+ case eViewElementsDetail::info:
+ DefineGridTokens(tk);
+ break;
+ case eViewElementsDetail::message:
+ tk->DefineIntToken("{displaymessage}", (int) eTokenMessageInt::displaymessage);
+ tk->DefineStringToken("{message}", (int) eTokenMessageStr::message);
+ break;
+ case eViewElementsDetail::scrollbar:
+ tk->DefineIntToken("{height}", (int) eTokenScrollbarInt::height);
+ tk->DefineIntToken("{offset}", (int) eTokenScrollbarInt::offset);
+ tk->DefineIntToken("{hasscrollbar}", (int) eTokenScrollbarInt::hasscrollbar);
+ break;
+ default:
+ break;
+ }
}