Skip to content

Commit a2e9686

Browse files
committed
Update for Jellyfin 10.8
- Change branding from Vu+ to Enigma2 - Fix wrong default hostname - Add new options UseLoginForStreams, UseHTTPSForStreams - Use new GUID to avoid clashing with the older version of plugin
1 parent 4a41cf4 commit a2e9686

File tree

10 files changed

+226
-197
lines changed

10 files changed

+226
-197
lines changed

MediaBrowser.Plugins.VuPlus.sln renamed to Jellyfin.Plugin.Enigma2.sln

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11

22
Microsoft Visual Studio Solution File, Format Version 12.00
3-
# Visual Studio Version 16
4-
VisualStudioVersion = 16.0.31105.61
3+
# Visual Studio Version 17
4+
VisualStudioVersion = 17.2.32616.157
55
MinimumVisualStudioVersion = 10.0.40219.1
6-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MediaBrowser.Plugins.VuPlus", "MediaBrowser.Plugins.VuPlus\MediaBrowser.Plugins.VuPlus.csproj", "{52B1ABDF-09C1-450E-B808-BBA0A9C19848}"
6+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jellyfin.Plugin.Enigma2", "Jellyfin.Plugin.Enigma2\Jellyfin.Plugin.Enigma2.csproj", "{52B1ABDF-09C1-450E-B808-BBA0A9C19848}"
77
EndProject
88
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{A968FB09-8732-407C-8748-6DB383EB5D91}"
99
ProjectSection(SolutionItems) = preProject

MediaBrowser.Plugins.VuPlus/Configuration/PluginConfiguration.cs renamed to Jellyfin.Plugin.Enigma2/Configuration/PluginConfiguration.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using MediaBrowser.Model.Plugins;
22

3-
namespace MediaBrowser.Plugins.VuPlus.Configuration
3+
namespace Jellyfin.Plugin.Enigma2.Configuration
44
{
55
/// <summary>
66
/// Class PluginConfiguration
@@ -12,7 +12,9 @@ public class PluginConfiguration : BasePluginConfiguration
1212
public string WebInterfacePort { get; set; }
1313
public string WebInterfaceUsername { get; set; }
1414
public string WebInterfacePassword { get; set; }
15+
public bool UseLoginForStreams { get; set; }
1516
public bool UseSecureHTTPS { get; set; }
17+
public bool UseSecureHTTPSForStreams { get; set; }
1618
public bool OnlyOneBouquet { get; set; }
1719
public string TVBouquet { get; set; }
1820
public bool ZapToChannel { get; set; }
@@ -26,12 +28,14 @@ public class PluginConfiguration : BasePluginConfiguration
2628

2729
public PluginConfiguration()
2830
{
29-
HostName = "http://localhost";
31+
HostName = "localhost";
3032
StreamingPort = "8001";
3133
WebInterfacePort = "8000";
3234
WebInterfaceUsername = "";
3335
WebInterfacePassword = "";
36+
UseLoginForStreams = false;
3437
UseSecureHTTPS = false;
38+
UseSecureHTTPSForStreams = false;
3539
OnlyOneBouquet = true;
3640
TVBouquet = "Favourites (TV)";
3741
ZapToChannel = false;
@@ -41,7 +45,6 @@ public PluginConfiguration()
4145
RecordingPath = "";
4246

4347
EnableDebugLogging = false;
44-
4548
}
4649
}
4750
}

MediaBrowser.Plugins.VuPlus/Configuration/configPage.html renamed to Jellyfin.Plugin.Enigma2/Configuration/configPage.html

Lines changed: 47 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,56 @@
11
<!DOCTYPE html>
22
<html>
33
<head>
4-
<title>Vu+</title>
4+
<title>Enigma2</title>
55
</head>
66
<body>
7-
<div data-role="page" id="VuPlusConfigurationPage" class="page type-interior pluginConfigurationPage VuPlusConfigurationPage" data-require="emby-button,emby-checkbox,emby-input">
7+
<div data-role="page" id="Enigma2ConfigurationPage" class="page type-interior pluginConfigurationPage Enigma2ConfigurationPage" data-require="emby-button,emby-checkbox,emby-input">
88

99
<div data-role="content">
1010
<div class="content-primary">
1111

12-
<h1>VuPlus</h1>
12+
<h1>Enigma2</h1>
1313

14-
<form id="VuPlusConfigurationForm" class="VuPlusConfigurationForm">
14+
<form id="Enigma2ConfigurationForm" class="Enigma2ConfigurationForm">
1515

1616
<div class="inputContainer">
17-
<input is="emby-input" id="txtHostName" type="text" label="Vu+ hostname or ip address:" />
17+
<input is="emby-input" id="txtHostName" type="text" label="Enigma2 hostname or ip address:" />
1818
<div class="fieldDescription">
1919
The host name (address) or ip address of your receiver
2020
</div>
2121
</div>
2222
<div class="inputContainer">
23-
<input is="emby-input" id="txtStreamingPort" type="text" label="Vu+ streaming port:" />
23+
<input is="emby-input" id="txtStreamingPort" type="text" label="Enigma2 streaming port:" />
2424
<div class="fieldDescription">
2525
The Streaming port of your receiver eg. 8001
2626
</div>
2727
</div>
2828
<div class="inputContainer">
29-
<input is="emby-input" id="txtWebInterfacePort" type="text" label="Vu+ Web Interface port:" />
29+
<input is="emby-input" id="txtWebInterfacePort" type="text" label="Enigma2 Web Interface port:" />
3030
<div class="fieldDescription">
31-
The web Interface port of your receiver eg. 8000
31+
The web interface port of your receiver eg. 8000
3232
</div>
3333
</div>
3434
<div class="inputContainer">
35-
<input is="emby-input" id="txtWebInterfaceUsername" type="text" label="Vu+ Web Interface username:" />
35+
<input is="emby-input" id="txtWebInterfaceUsername" type="text" label="Enigma2 Web Interface username:" />
3636
<div class="fieldDescription">
37-
The web Interface username of your receiver (optional)
37+
The web interface username of your receiver (optional)
3838
</div>
3939
</div>
4040
<div class="inputContainer">
41-
<input is="emby-input" id="txtWebInterfacePassword" type="text" label="Vu+ Web Interface password:" />
41+
<input is="emby-input" id="txtWebInterfacePassword" type="password" label="Enigma2 Web Interface password:" />
4242
<div class="fieldDescription">
43-
The web Interface password of your receiver (optional)
43+
The web interface password of your receiver (optional)
44+
</div>
45+
</div>
46+
47+
<div class="checkboxContainer checkboxContainer-withDescription">
48+
<label>
49+
<input is="emby-checkbox" type="checkbox" id="chkUseLoginForStreams" />
50+
<span>Use login for streaming</span>
51+
</label>
52+
<div class="fieldDescription checkboxFieldDescription">
53+
Use web interface login for streaming
4454
</div>
4555
</div>
4656

@@ -54,6 +64,16 @@ <h1>VuPlus</h1>
5464
</div>
5565
</div>
5666

67+
<div class="checkboxContainer checkboxContainer-withDescription">
68+
<label>
69+
<input is="emby-checkbox" type="checkbox" id="chkUseSecureHTTPSForStreams" />
70+
<span>Use secure HTTP (HTTPS) for streams</span>
71+
</label>
72+
<div class="fieldDescription checkboxFieldDescription">
73+
Use HTTPS to connect to streaming port
74+
</div>
75+
</div>
76+
5777
<div class="checkboxContainer checkboxContainer-withDescription">
5878
<label>
5979
<input is="emby-checkbox" type="checkbox" id="chkOnlyOneBouquet" />
@@ -66,7 +86,7 @@ <h1>VuPlus</h1>
6686

6787

6888
<div class="inputContainer">
69-
<input is="emby-input" id="txtTVBouquet" type="text" label="Vu+ TVBouquet:" />
89+
<input is="emby-input" id="txtTVBouquet" type="text" label="Enigma2 TVBouquet:" />
7090
<div class="fieldDescription">
7191
The TV Bouquet to load channels for (optional)
7292
</div>
@@ -109,7 +129,7 @@ <h1>VuPlus</h1>
109129

110130
<label class="checkboxContainer">
111131
<input is="emby-checkbox" type="checkbox" id="chkDebugLogging" />
112-
<span>Enable VuPlus debug logging</span>
132+
<span>Enable Enigma2 debug logging</span>
113133
</label>
114134

115135
<div>
@@ -122,19 +142,21 @@ <h1>VuPlus</h1>
122142

123143

124144
<script type="text/javascript">
125-
var VuPlusConfigurationPage = {
126-
pluginUniqueId: "9564ac10-af23-39bc-449f-624f23cfa48f",
145+
var Enigma2ConfigurationPage = {
146+
pluginUniqueId: "193f29f9-ea6c-4595-a6f6-55e79d7c590a",
127147

128148
loadConfiguration: function () {
129149
Dashboard.showLoadingMsg();
130150

131-
ApiClient.getPluginConfiguration(VuPlusConfigurationPage.pluginUniqueId).then(function (config) {
151+
ApiClient.getPluginConfiguration(Enigma2ConfigurationPage.pluginUniqueId).then(function (config) {
132152
document.getElementById('txtHostName').value = config.HostName || "";
133153
document.getElementById('txtStreamingPort').value = config.StreamingPort || "";
134154
document.getElementById('txtWebInterfacePort').value = config.WebInterfacePort || "";
135155
document.getElementById('txtWebInterfaceUsername').value = config.WebInterfaceUsername || "";
136156
document.getElementById('txtWebInterfacePassword').value = config.WebInterfacePassword || "";
157+
document.getElementById('chkUseLoginForStreams').checked = config.UseLoginForStreams || false;
137158
document.getElementById('chkUseSecureHTTPS').checked = config.UseSecureHTTPS || false;
159+
document.getElementById('chkUseSecureHTTPSForStreams').checked = config.UseSecureHTTPSForStreams || false;
138160
document.getElementById('chkOnlyOneBouquet').checked = config.OnlyOneBouquet || false;
139161
document.getElementById('txtTVBouquet').value = config.TVBouquet || "";
140162
document.getElementById('chkZapToChannel').checked = config.ZapToChannel || false;
@@ -150,13 +172,15 @@ <h1>VuPlus</h1>
150172
saveConfiguration: function () {
151173
Dashboard.showLoadingMsg();
152174

153-
ApiClient.getPluginConfiguration(VuPlusConfigurationPage.pluginUniqueId).then(function (config) {
175+
ApiClient.getPluginConfiguration(Enigma2ConfigurationPage.pluginUniqueId).then(function (config) {
154176
config.HostName = document.getElementById('txtHostName').value;
155177
config.StreamingPort = document.getElementById('txtStreamingPort').value;
156178
config.WebInterfacePort = document.getElementById('txtWebInterfacePort').value;
157179
config.WebInterfaceUsername = document.getElementById('txtWebInterfaceUsername').value;
158180
config.WebInterfacePassword = document.getElementById('txtWebInterfacePassword').value;
181+
config.UseLoginForStreams = document.getElementById('chkUseLoginForStreams').checked;
159182
config.UseSecureHTTPS = document.getElementById('chkUseSecureHTTPS').checked;
183+
config.UseSecureHTTPSForStreams = document.getElementById('chkUseSecureHTTPSForStreams').checked;
160184
config.OnlyOneBouquet = document.getElementById('chkOnlyOneBouquet').checked;
161185
config.TVBouquet = document.getElementById('txtTVBouquet').value;
162186
config.ZapToChannel = document.getElementById('chkZapToChannel').checked;
@@ -165,18 +189,18 @@ <h1>VuPlus</h1>
165189
config.RecordingPath = document.getElementById('txtRecordingPath').value;
166190
config.EnableDebugLogging = document.getElementById('chkDebugLogging').checked;
167191

168-
ApiClient.updatePluginConfiguration(VuPlusConfigurationPage.pluginUniqueId, config).then(Dashboard.processPluginConfigurationUpdateResult);
192+
ApiClient.updatePluginConfiguration(Enigma2ConfigurationPage.pluginUniqueId, config).then(Dashboard.processPluginConfigurationUpdateResult);
169193
});
170194
}
171195
}
172196

173-
document.getElementById('VuPlusConfigurationPage').addEventListener('pageshow', function () {
174-
VuPlusConfigurationPage.loadConfiguration();
197+
document.getElementById('Enigma2ConfigurationPage').addEventListener('pageshow', function () {
198+
Enigma2ConfigurationPage.loadConfiguration();
175199
});
176200

177-
document.getElementById('VuPlusConfigurationForm').addEventListener('submit', function (e) {
201+
document.getElementById('Enigma2ConfigurationForm').addEventListener('submit', function (e) {
178202
e.preventDefault();
179-
VuPlusConfigurationPage.saveConfiguration();
203+
Enigma2ConfigurationPage.saveConfiguration();
180204
});
181205
</script>
182206
</div>

MediaBrowser.Plugins.VuPlus/Helpers/GeneralHelpers.cs renamed to Jellyfin.Plugin.Enigma2/Helpers/GeneralHelpers.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
using MediaBrowser.Model.LiveTv;
33
using Microsoft.Extensions.Logging;
44

5-
namespace MediaBrowser.Plugins.VuPlus.Helpers
5+
namespace Jellyfin.Plugin.Enigma2.Helpers
66
{
77
public static class ChannelHelper
88
{
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>net5.0</TargetFrameworks>
5-
<AssemblyVersion>4.0.0.0</AssemblyVersion>
6-
<FileVersion>4.0.0.0</FileVersion>
4+
<TargetFrameworks>net6.0</TargetFrameworks>
5+
<AssemblyVersion>5.0.0.0</AssemblyVersion>
6+
<FileVersion>5.0.0.0</FileVersion>
77
</PropertyGroup>
88

9-
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net5.0|AnyCPU'">
9+
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net6.0|AnyCPU'">
1010
<DebugType>none</DebugType>
1111
<DebugSymbols>false</DebugSymbols>
1212
</PropertyGroup>
@@ -20,12 +20,12 @@
2020
</ItemGroup>
2121

2222
<ItemGroup>
23-
<PackageReference Include="Jellyfin.Common" Version="10.7.0" />
24-
<PackageReference Include="Jellyfin.Naming" Version="10.7.0" />
25-
<PackageReference Include="Jellyfin.Controller" Version="10.7.0" />
26-
<PackageReference Include="Jellyfin.Model" Version="10.7.0" />
27-
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="5.0.1" />
28-
<PackageReference Include="Microsoft.Extensions.Http" Version="5.0.0" />
23+
<PackageReference Include="Jellyfin.Common" Version="10.8.0" />
24+
<PackageReference Include="Jellyfin.Naming" Version="10.8.0" />
25+
<PackageReference Include="Jellyfin.Controller" Version="10.8.0" />
26+
<PackageReference Include="Jellyfin.Model" Version="10.8.0" />
27+
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.0" />
28+
<PackageReference Include="Microsoft.Extensions.Http" Version="6.0.0" />
2929
</ItemGroup>
3030

3131
</Project>

0 commit comments

Comments
 (0)