-
-
Notifications
You must be signed in to change notification settings - Fork 33
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
13 changed files
with
1,039 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,194 @@ | ||
# With more recent updates Visual Studio 2017 supports EditorConfig files out of the box | ||
# Visual Studio Code needs an extension: https://github.com/editorconfig/editorconfig-vscode | ||
# For emacs, vim, np++ and other editors, see here: https://github.com/editorconfig | ||
############################### | ||
# Core EditorConfig Options # | ||
############################### | ||
root = true | ||
# All files | ||
[*] | ||
indent_style = space | ||
indent_size = 4 | ||
charset = utf-8 | ||
trim_trailing_whitespace = true | ||
insert_final_newline = true | ||
end_of_line = lf | ||
max_line_length = off | ||
|
||
# YAML indentation | ||
[*.{yml,yaml}] | ||
indent_size = 2 | ||
|
||
# XML indentation | ||
[*.{csproj,xml}] | ||
indent_size = 2 | ||
|
||
############################### | ||
# .NET Coding Conventions # | ||
############################### | ||
[*.{cs,vb}] | ||
# Organize usings | ||
dotnet_sort_system_directives_first = true | ||
# this. preferences | ||
dotnet_style_qualification_for_field = false:silent | ||
dotnet_style_qualification_for_property = false:silent | ||
dotnet_style_qualification_for_method = false:silent | ||
dotnet_style_qualification_for_event = false:silent | ||
# Language keywords vs BCL types preferences | ||
dotnet_style_predefined_type_for_locals_parameters_members = true:silent | ||
dotnet_style_predefined_type_for_member_access = true:silent | ||
# Parentheses preferences | ||
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent | ||
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent | ||
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent | ||
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent | ||
# Modifier preferences | ||
dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent | ||
dotnet_style_readonly_field = true:suggestion | ||
# Expression-level preferences | ||
dotnet_style_object_initializer = true:suggestion | ||
dotnet_style_collection_initializer = true:suggestion | ||
dotnet_style_explicit_tuple_names = true:suggestion | ||
dotnet_style_null_propagation = true:suggestion | ||
dotnet_style_coalesce_expression = true:suggestion | ||
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:silent | ||
dotnet_style_prefer_inferred_tuple_names = true:suggestion | ||
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion | ||
dotnet_style_prefer_auto_properties = true:silent | ||
dotnet_style_prefer_conditional_expression_over_assignment = true:silent | ||
dotnet_style_prefer_conditional_expression_over_return = true:silent | ||
|
||
############################### | ||
# Naming Conventions # | ||
############################### | ||
# Style Definitions (From Roslyn) | ||
|
||
# Non-private static fields are PascalCase | ||
dotnet_naming_rule.non_private_static_fields_should_be_pascal_case.severity = suggestion | ||
dotnet_naming_rule.non_private_static_fields_should_be_pascal_case.symbols = non_private_static_fields | ||
dotnet_naming_rule.non_private_static_fields_should_be_pascal_case.style = non_private_static_field_style | ||
|
||
dotnet_naming_symbols.non_private_static_fields.applicable_kinds = field | ||
dotnet_naming_symbols.non_private_static_fields.applicable_accessibilities = public, protected, internal, protected_internal, private_protected | ||
dotnet_naming_symbols.non_private_static_fields.required_modifiers = static | ||
|
||
dotnet_naming_style.non_private_static_field_style.capitalization = pascal_case | ||
|
||
# Constants are PascalCase | ||
dotnet_naming_rule.constants_should_be_pascal_case.severity = suggestion | ||
dotnet_naming_rule.constants_should_be_pascal_case.symbols = constants | ||
dotnet_naming_rule.constants_should_be_pascal_case.style = constant_style | ||
|
||
dotnet_naming_symbols.constants.applicable_kinds = field, local | ||
dotnet_naming_symbols.constants.required_modifiers = const | ||
|
||
dotnet_naming_style.constant_style.capitalization = pascal_case | ||
|
||
# Static fields are camelCase and start with s_ | ||
dotnet_naming_rule.static_fields_should_be_camel_case.severity = suggestion | ||
dotnet_naming_rule.static_fields_should_be_camel_case.symbols = static_fields | ||
dotnet_naming_rule.static_fields_should_be_camel_case.style = static_field_style | ||
|
||
dotnet_naming_symbols.static_fields.applicable_kinds = field | ||
dotnet_naming_symbols.static_fields.required_modifiers = static | ||
|
||
dotnet_naming_style.static_field_style.capitalization = camel_case | ||
dotnet_naming_style.static_field_style.required_prefix = _ | ||
|
||
# Instance fields are camelCase and start with _ | ||
dotnet_naming_rule.instance_fields_should_be_camel_case.severity = suggestion | ||
dotnet_naming_rule.instance_fields_should_be_camel_case.symbols = instance_fields | ||
dotnet_naming_rule.instance_fields_should_be_camel_case.style = instance_field_style | ||
|
||
dotnet_naming_symbols.instance_fields.applicable_kinds = field | ||
|
||
dotnet_naming_style.instance_field_style.capitalization = camel_case | ||
dotnet_naming_style.instance_field_style.required_prefix = _ | ||
|
||
# Locals and parameters are camelCase | ||
dotnet_naming_rule.locals_should_be_camel_case.severity = suggestion | ||
dotnet_naming_rule.locals_should_be_camel_case.symbols = locals_and_parameters | ||
dotnet_naming_rule.locals_should_be_camel_case.style = camel_case_style | ||
|
||
dotnet_naming_symbols.locals_and_parameters.applicable_kinds = parameter, local | ||
|
||
dotnet_naming_style.camel_case_style.capitalization = camel_case | ||
|
||
# Local functions are PascalCase | ||
dotnet_naming_rule.local_functions_should_be_pascal_case.severity = suggestion | ||
dotnet_naming_rule.local_functions_should_be_pascal_case.symbols = local_functions | ||
dotnet_naming_rule.local_functions_should_be_pascal_case.style = local_function_style | ||
|
||
dotnet_naming_symbols.local_functions.applicable_kinds = local_function | ||
|
||
dotnet_naming_style.local_function_style.capitalization = pascal_case | ||
|
||
# By default, name items with PascalCase | ||
dotnet_naming_rule.members_should_be_pascal_case.severity = suggestion | ||
dotnet_naming_rule.members_should_be_pascal_case.symbols = all_members | ||
dotnet_naming_rule.members_should_be_pascal_case.style = pascal_case_style | ||
|
||
dotnet_naming_symbols.all_members.applicable_kinds = * | ||
|
||
dotnet_naming_style.pascal_case_style.capitalization = pascal_case | ||
|
||
############################### | ||
# C# Coding Conventions # | ||
############################### | ||
[*.cs] | ||
# var preferences | ||
csharp_style_var_for_built_in_types = true:silent | ||
csharp_style_var_when_type_is_apparent = true:silent | ||
csharp_style_var_elsewhere = true:silent | ||
# Expression-bodied members | ||
csharp_style_expression_bodied_methods = false:silent | ||
csharp_style_expression_bodied_constructors = false:silent | ||
csharp_style_expression_bodied_operators = false:silent | ||
csharp_style_expression_bodied_properties = true:silent | ||
csharp_style_expression_bodied_indexers = true:silent | ||
csharp_style_expression_bodied_accessors = true:silent | ||
# Pattern matching preferences | ||
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion | ||
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion | ||
# Null-checking preferences | ||
csharp_style_throw_expression = true:suggestion | ||
csharp_style_conditional_delegate_call = true:suggestion | ||
# Modifier preferences | ||
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion | ||
# Expression-level preferences | ||
csharp_prefer_braces = true:silent | ||
csharp_style_deconstructed_variable_declaration = true:suggestion | ||
csharp_prefer_simple_default_expression = true:suggestion | ||
csharp_style_pattern_local_over_anonymous_function = true:suggestion | ||
csharp_style_inlined_variable_declaration = true:suggestion | ||
|
||
############################### | ||
# C# Formatting Rules # | ||
############################### | ||
# New line preferences | ||
csharp_new_line_before_open_brace = all | ||
csharp_new_line_before_else = true | ||
csharp_new_line_before_catch = true | ||
csharp_new_line_before_finally = true | ||
csharp_new_line_before_members_in_object_initializers = true | ||
csharp_new_line_before_members_in_anonymous_types = true | ||
csharp_new_line_between_query_expression_clauses = true | ||
# Indentation preferences | ||
csharp_indent_case_contents = true | ||
csharp_indent_switch_labels = true | ||
csharp_indent_labels = flush_left | ||
# Space preferences | ||
csharp_space_after_cast = false | ||
csharp_space_after_keywords_in_control_flow_statements = true | ||
csharp_space_between_method_call_parameter_list_parentheses = false | ||
csharp_space_between_method_declaration_parameter_list_parentheses = false | ||
csharp_space_between_parentheses = false | ||
csharp_space_before_colon_in_inheritance_clause = true | ||
csharp_space_after_colon_in_inheritance_clause = true | ||
csharp_space_around_binary_operators = before_and_after | ||
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false | ||
csharp_space_between_method_call_name_and_opening_parenthesis = false | ||
csharp_space_between_method_call_empty_parameter_list_parentheses = false | ||
# Wrapping preferences | ||
csharp_preserve_single_line_statements = true | ||
csharp_preserve_single_line_blocks = true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
bin/ | ||
obj/ | ||
.vs/ | ||
.idea/ | ||
artifacts |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
Microsoft Visual Studio Solution File, Format Version 12.00 | ||
# Visual Studio Version 17 | ||
VisualStudioVersion = 17.1.32228.430 | ||
MinimumVisualStudioVersion = 10.0.40219.1 | ||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jellyfin.Plugin.QnapConfiguration", "Jellyfin.Plugin.QnapConfiguration\Jellyfin.Plugin.QnapConfiguration.csproj", "{D921B930-CF91-406F-ACBC-08914DCD0D34}" | ||
EndProject | ||
Project("{911E67C6-3D85-4FCE-B560-20A9C3E3FF48}") = "jellyfin-1080", "C:\Tools\jellyfin\jellyfin-server_1080\jellyfin-1080.exe", "{39686033-B849-4675-BB74-A76A281AE2D9}" | ||
ProjectSection(DebuggerProjectSystem) = preProject | ||
PortSupplier = 00000000-0000-0000-0000-000000000000 | ||
Executable = C:\Tools\jellyfin\jellyfin-server_1080\jellyfin-1080.exe | ||
RemoteMachine = | ||
StartingDirectory = C:\Tools\jellyfin\jellyfin-server_1080 | ||
Arguments = --datadir=C:\Works\jellyfin-qnap\configuration\Jellyfin.Plugin.QnapConfiguration\bin\server-1080\database --cachedir=C:\Works\jellyfin-qnap\configuration\Jellyfin.Plugin.QnapConfiguration\bin\server-1080\cache --webdir=.\jellyfin-web --configdir=C:\Works\jellyfin-qnap\configuration\Jellyfin.Plugin.QnapConfiguration\bin\server-1080\conf --logdir=C:\Works\jellyfin-qnap\configuration\Jellyfin.Plugin.QnapConfiguration\bin\server-1080\logs | ||
Environment = Par défaut | ||
LaunchingEngine = 2e36f1d4-b23c-435d-ab41-18e608940038 | ||
UseLegacyDebugEngines = No | ||
LaunchSQLEngine = No | ||
AttachLaunchAction = No | ||
IORedirection = Auto | ||
EndProjectSection | ||
EndProject | ||
Project("{911E67C6-3D85-4FCE-B560-20A9C3E3FF48}") = "jellyfin-1077", "C:\Tools\jellyfin\jellyfin-server_1077\jellyfin-1077.exe", "{39686033-B849-4675-BB74-A76A281AE2D5}" | ||
ProjectSection(DebuggerProjectSystem) = preProject | ||
PortSupplier = 00000000-0000-0000-0000-000000000000 | ||
Executable = C:\Tools\jellyfin\jellyfin-server_1077\jellyfin-1077.exe | ||
RemoteMachine = | ||
StartingDirectory = C:\Tools\jellyfin\jellyfin-server_1077 | ||
Arguments = --datadir=C:\Works\jellyfin-qnap\configuration\Jellyfin.Plugin.QnapConfiguration\bin\server-1077\database --cachedir=C:\Works\jellyfin-qnap\configuration\Jellyfin.Plugin.QnapConfiguration\bin\server-1077\cache --webdir=.\jellyfin-web --configdir=C:\Works\jellyfin-qnap\configuration\Jellyfin.Plugin.QnapConfiguration\bin\server-1077\conf --logdir=C:\Works\jellyfin-qnap\configuration\Jellyfin.Plugin.QnapConfiguration\bin\server-1077\logs | ||
Environment = Par défaut | ||
LaunchingEngine = 2e36f1d4-b23c-435d-ab41-18e608940038 | ||
UseLegacyDebugEngines = No | ||
LaunchSQLEngine = No | ||
AttachLaunchAction = No | ||
IORedirection = Auto | ||
EndProjectSection | ||
EndProject | ||
Global | ||
GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||
Debug|Any CPU = Debug|Any CPU | ||
Debug|x64 = Debug|x64 | ||
Release|Any CPU = Release|Any CPU | ||
Release|x64 = Release|x64 | ||
EndGlobalSection | ||
GlobalSection(ProjectConfigurationPlatforms) = postSolution | ||
{D921B930-CF91-406F-ACBC-08914DCD0D34}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
{D921B930-CF91-406F-ACBC-08914DCD0D34}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
{D921B930-CF91-406F-ACBC-08914DCD0D34}.Debug|x64.ActiveCfg = Debug|Any CPU | ||
{D921B930-CF91-406F-ACBC-08914DCD0D34}.Debug|x64.Build.0 = Debug|Any CPU | ||
{D921B930-CF91-406F-ACBC-08914DCD0D34}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
{D921B930-CF91-406F-ACBC-08914DCD0D34}.Release|Any CPU.Build.0 = Release|Any CPU | ||
{D921B930-CF91-406F-ACBC-08914DCD0D34}.Release|x64.ActiveCfg = Release|Any CPU | ||
{D921B930-CF91-406F-ACBC-08914DCD0D34}.Release|x64.Build.0 = Release|Any CPU | ||
{39686033-B849-4675-BB74-A76A281AE2D9}.Debug|Any CPU.ActiveCfg = Release|x64 | ||
{39686033-B849-4675-BB74-A76A281AE2D9}.Debug|x64.ActiveCfg = Release|x64 | ||
{39686033-B849-4675-BB74-A76A281AE2D9}.Release|Any CPU.ActiveCfg = Release|x64 | ||
{39686033-B849-4675-BB74-A76A281AE2D9}.Release|x64.ActiveCfg = Release|x64 | ||
{39686033-B849-4675-BB74-A76A281AE2D5}.Debug|Any CPU.ActiveCfg = Release|x64 | ||
{39686033-B849-4675-BB74-A76A281AE2D5}.Debug|x64.ActiveCfg = Release|x64 | ||
{39686033-B849-4675-BB74-A76A281AE2D5}.Release|Any CPU.ActiveCfg = Release|x64 | ||
{39686033-B849-4675-BB74-A76A281AE2D5}.Release|x64.ActiveCfg = Release|x64 | ||
EndGlobalSection | ||
GlobalSection(SolutionProperties) = preSolution | ||
HideSolutionNode = FALSE | ||
EndGlobalSection | ||
GlobalSection(ExtensibilityGlobals) = postSolution | ||
SolutionGuid = {F386BAC8-2A2F-4B1C-A665-44DCD3500EBE} | ||
EndGlobalSection | ||
EndGlobal |
45 changes: 45 additions & 0 deletions
45
configuration/Jellyfin.Plugin.QnapConfiguration/Configuration/PluginConfiguration.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
using MediaBrowser.Model.Plugins; | ||
|
||
namespace Jellyfin.Plugin.QnapConfiguration.Configuration | ||
{ | ||
/// <summary> | ||
/// The configuration options. | ||
/// </summary> | ||
public enum SomeOptions | ||
{ | ||
/// <summary> | ||
/// Second option. | ||
/// </summary> | ||
defaultValue, | ||
|
||
/// <summary> | ||
/// Option one. | ||
/// </summary> | ||
iHD, | ||
|
||
/// <summary> | ||
/// Second option. | ||
/// </summary> | ||
i965, | ||
} | ||
|
||
/// <summary> | ||
/// Plugin configuration. | ||
/// </summary> | ||
public class PluginConfiguration : BasePluginConfiguration | ||
{ | ||
/// <summary> | ||
/// Initializes a new instance of the <see cref="PluginConfiguration"/> class. | ||
/// </summary> | ||
public PluginConfiguration() | ||
{ | ||
// set default options here | ||
VaapiDriver = SomeOptions.defaultValue; | ||
} | ||
|
||
/// <summary> | ||
/// Gets or sets an enum option. | ||
/// </summary> | ||
public SomeOptions VaapiDriver { get; set; } | ||
} | ||
} |
57 changes: 57 additions & 0 deletions
57
configuration/Jellyfin.Plugin.QnapConfiguration/Configuration/configPage.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="utf-8"> | ||
<title>Jellyfin.QnapConfiguration</title> | ||
</head> | ||
<body> | ||
<div id="TemplateConfigPage" data-role="page" class="page type-interior pluginConfigurationPage" data-require="emby-input,emby-button,emby-select,emby-checkbox"> | ||
<div data-role="content"> | ||
<div class="content-primary"> | ||
<form id="TemplateConfigForm"> | ||
<div class="selectContainer"> | ||
<label class="selectLabel" for="VaapiDriver">VAAPI driver</label> | ||
<select is="emby-select" id="VaapiDriver" name="VaapiDriver" class="emby-select-withcolor emby-select"> | ||
<option id="defaultValue" value="defaultValue">defaultValue</option> | ||
<option id="i965" value="i965">i965</option> | ||
<option id="iHD" value="iHD">iHD</option> | ||
</select> | ||
</div> | ||
<div> | ||
<button is="emby-button" type="submit" class="raised button-submit block emby-button"> | ||
<span>Save</span> | ||
</button> | ||
</div> | ||
</form> | ||
</div> | ||
</div> | ||
<script type="text/javascript"> | ||
var TemplateConfig = { | ||
pluginUniqueId: 'a575773e-ff2f-4bf9-8dc1-d3ce1d957a7f' | ||
}; | ||
|
||
document.querySelector('#TemplateConfigPage') | ||
.addEventListener('pageshow', function() { | ||
Dashboard.showLoadingMsg(); | ||
ApiClient.getPluginConfiguration(TemplateConfig.pluginUniqueId).then(function (config) { | ||
document.querySelector('#VaapiDriver').value = config.VaapiDriver; | ||
Dashboard.hideLoadingMsg(); | ||
}); | ||
}); | ||
|
||
document.querySelector('#TemplateConfigForm') | ||
.addEventListener('submit', function(e) { | ||
Dashboard.showLoadingMsg(); | ||
ApiClient.getPluginConfiguration(TemplateConfig.pluginUniqueId).then(function (config) { | ||
config.VaapiDriver = document.querySelector('#VaapiDriver').value; | ||
ApiClient.updatePluginConfiguration(TemplateConfig.pluginUniqueId, config).then(function (result) { | ||
Dashboard.processPluginConfigurationUpdateResult(result); | ||
}); | ||
}); | ||
e.preventDefault(); | ||
return false; | ||
}); | ||
</script> | ||
</div> | ||
</body> | ||
</html> |
Oops, something went wrong.