Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
2f733c7
first commit
Nov 10, 2025
8fc349e
Update README and add setup script with environment configuration
Nov 10, 2025
cdc76aa
Update .gitignore
Nov 10, 2025
aa657d6
Add LICENSE file and implement force option
Nov 10, 2025
5efb4ca
Update README and batch_generate.py with processing details; add down…
Nov 10, 2025
388a63b
Implement Whisper subtitles plugin for Jellyfin
Jan 6, 2026
71161e6
Restore plugin source code and add Directory.Build.props configuration
Jan 6, 2026
9d35294
Add complete plugin source structure
Jan 6, 2026
d96a739
Fix compilation errors and build successfully
Jan 6, 2026
d20e577
Release v0.0.0.47
Jan 6, 2026
0890d25
Add whisper.cpp build script for automatic installation
Jan 23, 2026
e7c726e
Release v0.0.0.48
Jan 23, 2026
bd3b344
Release v0.0.0.49: Bug fixes and improvements
Apr 29, 2026
9266373
v0.0.0.49
Apr 29, 2026
5fe5880
Release v0.0.0.50: Chnaged Library call to virtFolders instead of Lib…
Apr 29, 2026
117c7ba
Release v0.0.0.51: Copy binary as whisper-cli instead of main
Apr 29, 2026
d8c78bb
Release v0.0.0.53: Bug fixes and improvements
Apr 29, 2026
4eb1651
Release v0.0.0.54: Fixed FindBundledBinary logic
Apr 29, 2026
c1aa966
Release v0.0.0.55: logic to check if the response is an array. not my…
Apr 29, 2026
893c713
Release v0.0.0.56: https://tenor.com/ujsi9n6f2u6.gif
Apr 29, 2026
f8e5b47
feat: Update Whisper Subtitles plugin to version 0.0.0.56
Apr 29, 2026
bb88460
Release v0.0.0.57: what even is a library
Apr 29, 2026
9ffc18a
feat: Update Jellyfin Plugin to version 0.0.0.57 with enhanced librar…
Apr 29, 2026
a052ffc
Release v0.0.0.58: fuck
Apr 30, 2026
62aa496
Release v0.0.0.58: FUCK
Apr 30, 2026
0646827
Release v0.0.0.59: FUCK
Apr 30, 2026
32d1e04
Remove dupe version 0.0.0.58 from manifest.json
zakattack02 Apr 30, 2026
c52e9ca
Release v0.0.0.60: Bug fixes and improvements
Apr 30, 2026
1e50558
Release v0.0.0.60: Bug fixes and improvements
Apr 30, 2026
4722f2b
Add .NET 9.0 support and update assembly information for Whisper Subt…
Apr 30, 2026
e74e780
Merge branch 'feature/jellyfin-plugin' of https://github.com/zakattac…
Apr 30, 2026
f9a83e8
removed clones
Apr 30, 2026
cba95e1
Release v0.0.0.61: Bug fixes and improvements
Apr 30, 2026
43256e5
Release v0.0.0.62: Bug fixes and improvements
May 3, 2026
f4bc099
Release v0.0.0.63: Bug fixes and improvements
May 3, 2026
e21a06d
Release v0.0.0.64: Bug fixes and improvements
May 4, 2026
0638b72
Release v0.0.0.65: Bug fixes and improvements
May 4, 2026
c8682e5
Release v0.0.0.66: static linker flags
May 4, 2026
deedf5c
Release v0.0.0.67: Bug fixes and improvements
May 5, 2026
a5150ad
Release v0.0.0.68: Moved to using VM for building binary
May 7, 2026
7dcd47f
Release v0.0.0.69: Added new binary
May 7, 2026
2de7de1
Release v0.0.0.71: Bug fixes and improvements
May 7, 2026
bb6eb87
feat: Update Whisper Subtitles Plugin to version 0.0.0.71
May 7, 2026
6c1bd55
Release v0.0.0.71: Bug fixes and improvements
May 7, 2026
0c1b3c1
Release v0.0.0.72: Bug fixes and improvements
May 7, 2026
738c2de
Release v0.0.0.73: Bug fixes and improvements
May 7, 2026
d2f882a
Release v0.0.0.73: Argument fixes
May 7, 2026
a52e1ff
Release v0.0.0.74: Argument fixes - use correct binary arguments
May 7, 2026
1681799
Release v0.0.0.75: Docker binary with GLIBC 2.34
May 7, 2026
1855a49
Release v0.0.0.76: Docker binary with GLIBC 2.34
May 7, 2026
68f8134
Release v0.0.0.77: Docker binary with GLIBC 2.34
May 7, 2026
e9dabba
Release v0.0.0.78: Docker binary with GLIBC 2.34
May 7, 2026
1285547
Release v0.0.0.79: Bug fixes and improvements
May 7, 2026
bd50d99
Release v0.0.0.80: Bug fixes and improvements
May 27, 2026
e901d02
Release v0.0.0.83: y
May 27, 2026
fc0047c
Release v0.0.0.84: Bug fixes and improvements
May 27, 2026
6f14e6c
Release v0.0.0.85: Bug fixes and improvements
May 27, 2026
b799b24
Release v0.0.0.86: Fixes to Build Args and side panel
May 27, 2026
15b1c76
Release v0.0.0.87: Fixed 132 error
May 27, 2026
fe7dcc8
Release v0.0.0.88: AVX2 removed
May 27, 2026
2d1392d
Release v0.0.0.89: Bug fixes and improvements
May 27, 2026
c2b65e3
Release v0.0.0.90: Fixed SIGILL (exit 132) by disabling AVX2/FMA in w…
May 27, 2026
72da1b2
Add sidebar registration and card-based config page layout
May 27, 2026
511b916
Release v0.0.0.91: Add FFmpeg audio extraction, card-based config pag…
May 27, 2026
70ae87f
Release v0.0.0.91: Add FFmpeg audio extraction for MP4/MKV support, p…
May 27, 2026
4ead305
Release v0.0.0.92: Fixed whisper-cli arguments: removed unsupported -…
May 27, 2026
26e46a7
Release v0.0.0.93: Fixed AVX-512 SIGILL: added GGML_NATIVE=OFF to cma…
May 27, 2026
e00fdd9
Release v0.0.0.94: Fixed -ngl 999 -> -dev 0 for GPU path (whisper-cli…
May 27, 2026
66700c3
Release v0.0.0.95: Bug fixes and improvements
May 27, 2026
89f4499
Release v0.0.0.95: Split long audio into 30-minute chunks to prevent …
May 27, 2026
ba49108
Refactor WhisperService for improved subtitle generation and error ha…
May 27, 2026
e5031e4
Release v0.0.0.96: Fixed ffprobe path detection. Added FfprobePath co…
May 27, 2026
e0603fb
Release v0.0.0.97: Per-video sub-progress reporting. The scheduled ta…
May 27, 2026
aadd29f
Release v0.0.0.98: Dual CPU+GPU binaries with CUDA support. Dockerfil…
May 28, 2026
aa6017f
chore: restructure to semantic versioning
May 28, 2026
bb3ae52
fix: security & bug fixes from audit review
May 28, 2026
a1f0d07
docs: rewrite README for Jellyfin plugin
May 28, 2026
ed2716a
chore: add releases/ and wiki/ to .gitignore
May 28, 2026
7b9f441
chore: remove obsolete Python setup.sh
May 28, 2026
c54e473
chore: remove obsolete Python scripts
May 28, 2026
d0ff5c9
chore: add .editorconfig and .vscode/settings.json, update .gitignore…
May 28, 2026
40b14a0
feat: Update Whisper Subtitles Plugin to version 3.0.0
May 28, 2026
59ea88c
chore: clean up .gitignore (remove duplicates, add whisper.cpp/)
May 28, 2026
24dcc07
chore: merge master into feature/jellyfin-plugin
May 28, 2026
cf812c6
fix: move CI workflows to correct path, remove nested duplicate
May 28, 2026
a1d9843
chore: keep only test.yaml CI, remove redundant build workflows
May 28, 2026
4dcd3c8
fix: update actions to v6/v5, use -warnaserror for .NET 10 compat
May 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
193 changes: 15 additions & 178 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,194 +1,31 @@
# 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
end_of_line = lf
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
[*.{cs,csproj,props}]
indent_size = 4
dotnet_style_qualification_for_event = false:silent
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_qualification_for_property = false:silent
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 = *
[*.{xml,config,json}]
indent_size = 2

dotnet_naming_style.pascal_case_style.capitalization = pascal_case
[*.{md,txt}]
indent_size = 4
trim_trailing_whitespace = false

###############################
# 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
[Makefile]
indent_style = tab

###############################
# 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
[*.sh]
indent_size = 4
65 changes: 65 additions & 0 deletions .github/rulesets/main.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
[
{
"name": "main - Release Branch",
"target": "branch",
"enforcement": "active",
"conditions": {
"ref_name": {
"include": ["refs/heads/main"],
"exclude": []
}
},
"rules": [
{ "type": "deletion" },
{ "type": "non_fast_forward" },
{ "type": "required_linear_history" },
{
"type": "pull_request",
"parameters": {
"required_approving_review_count": 1,
"dismiss_stale_reviews_on_push": true,
"require_code_owner_review": false,
"require_last_push_approval": true
}
}
],
"bypass_actors": [
{
"actor_id": 0,
"actor_type": "RepositoryRole",
"bypass_mode": "always"
}
]
},
{
"name": "All branches - Tag Protection",
"target": "tag",
"enforcement": "active",
"conditions": {
"ref_name": {
"include": ["refs/tags/v*"],
"exclude": []
}
},
"rules": [
{ "type": "deletion" },
{ "type": "non_fast_forward" }
]
},
{
"name": "Release Tags - Signature",
"target": "tag",
"enforcement": "active",
"conditions": {
"ref_name": {
"include": ["refs/tags/v[0-9]*.[0-9]*.[0-9]*.[0-9]*"],
"exclude": []
}
},
"rules": [
{
"type": "required_signatures"
}
]
}
]
18 changes: 0 additions & 18 deletions .github/workflows/build.yaml

This file was deleted.

20 changes: 0 additions & 20 deletions .github/workflows/changelog.yaml

This file was deleted.

13 changes: 0 additions & 13 deletions .github/workflows/command-dispatch.yaml

This file was deleted.

16 changes: 0 additions & 16 deletions .github/workflows/command-rebase.yaml

This file was deleted.

18 changes: 0 additions & 18 deletions .github/workflows/publish.yaml

This file was deleted.

20 changes: 0 additions & 20 deletions .github/workflows/scan-codeql.yaml

This file was deleted.

12 changes: 0 additions & 12 deletions .github/workflows/sync-labels.yaml

This file was deleted.

Loading