blob: 2fc787e9f8b84df5bca91ac23b47062e5b8316eb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
#ifndef CONFIG_H
#define CONFIG_H
#include <Poco/UUID.h>
#include <Poco/UUIDGenerator.h>
#include <string>
#include <vector>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
//VDR
#include <vdr/osd.h>
#include <vdr/menuitems.h>
#define STRING_SIZE 256
struct ViewEntry {
std::string Name;
std::string PlexPath;
};
enum ViewMode {
Cover = 0,
List = 1,
Detail = 2
};
class Config
{
public:
static Config& GetInstance() {
static Config instance;
return instance;
}
static const char* viewModeNames[];
std::string s_username;
std::string s_password;
std::string s_serverHost;
int ServerPort;
bool HideMainMenuEntry;
bool UseCustomTranscodeProfile;
bool UsePlexAccount;
bool UseConfiguredServer;
bool UseAc3;
int CoverGridColumns;
int CoverGridRows;
int ListGridColumns;
int ListGridRows;
int DetailGridColumns;
int DetailGridRows;
ViewMode DefaultViewMode;
std::vector<ViewEntry> m_viewentries;
std::vector<ViewEntry> m_serverViewentries;
bool ScrollByPage;
bool ScrollAllAround;
bool UseMpv;
std::string GetUUID();
void SetUUID(const char* uuid);
std::string GetHostname();
std::string GetLanguage();
std::string GetUsername();
std::string GetPassword();
int ThumbHeight() { return 1080 / CoverGridRows; };
int ThumbWidth() { return 1920 / CoverGridColumns; };
int ArtHeight() { return 1080 / 4; };
int ArtWidth() { return 1920 / 4; };
int BannerHeight() { return 1080 / 2; };
int BannerWidth() { return 1920 / 2; };
bool Parse(const char *name, const char *value);
private:
Config();
std::string s_uuid;
std::string s_hostname;
};
//////////////////////////////////////////////////////////////////////////////
// cMenuSetupPage
//////////////////////////////////////////////////////////////////////////////
/**
** Play plugin menu setup page class.
*/
class cMyMenuSetupPage:public cMenuSetupPage
{
protected:
char Username[STRING_SIZE];
char Password[STRING_SIZE];
char Uuid[STRING_SIZE];
char ServerHost[STRING_SIZE];
int ServerPort;
int UseConfiguredServer;
int HideMainMenuEntry;
int UseCustomTranscodeProfile;
int UsePlexAccount;
int CoverGridColumns;
int CoverGridRows;
int DetailGridColumns;
int DetailGridRows;
int ListGridColumns;
int ListGridRows;
int DefaultViewMode;
int UseMpv;
int ScrollByPage;
int ScrollAllAround;
int UseAc3;
virtual void Store(void);
public:
cMyMenuSetupPage(void);
virtual eOSState ProcessKey(eKeys); // handle input
};
#endif // CONFIG_H
|