Code view:

A painting is a person's account of this edit as text, recorded independently of the node mapping - a rendering often has several equally defensible answers where the mapping has one. Deletions and insertions carry no position on the opposite side in a painting, so that panel draws no caret for them.

Before

…lines 1–145 unchanged (145 lines)
146
147 protected override IReadOnlyList<BaseItem> GetNonCachedChildren(IDirectoryService directoryService)
148 {
149 return [];
150 }
151
152 public override IReadOnlyList<BaseItem> GetRecursiveChildren(User user, InternalItemsQuery query)
153 {
154 return GetPlayableItems(user, query);
155 }
156
157 public IReadOnlyList<Tuple<LinkedChild, BaseItem>> GetManageableItems()
158 {
159 return GetLinkedChildrenInfos();
160 }
…lines 161–275 unchanged (115 lines)

After

…lines 1–145 unchanged (145 lines)
146
147 protected override IReadOnlyList<BaseItem> GetNonCachedChildren(IDirectoryService directoryService)
148 {
149 return [];
150 }
151
152 public override IReadOnlyList<BaseItem> GetRecursiveChildren(User user, InternalItemsQuery query, out int totalCount)
153 {
154 var items = GetPlayableItems(user, query);
155 totalCount = items.Count;
156 return items;
157 }
158
159 public IReadOnlyList<Tuple<LinkedChild, BaseItem>> GetManageableItems()
160 {
161 return GetLinkedChildrenInfos();
162 }
…lines 163–277 unchanged (115 lines)

Before

compilation_unit
preproc_nullable
#nullable "#nullable"
disable "disable"
preproc_pragma
#pragma "#pragma"
warning "warning"
disable "disable"
identifier "CS1591"
using_directive
using "using"
identifier "System"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "System"
. "."
identifier "Collections"
. "."
identifier "Generic"
; ";"
using_directive
using "using"
qualified_name
identifier "System"
. "."
identifier "IO"
; ";"
using_directive
using "using"
qualified_name
identifier "System"
. "."
identifier "Linq"
; ";"
using_directive
using "using"
qualified_name
qualified_name
qualified_name
identifier "System"
. "."
identifier "Text"
. "."
identifier "Json"
. "."
identifier "Serialization"
; ";"
using_directive
using "using"
qualified_name
identifier "System"
. "."
identifier "Threading"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "System"
. "."
identifier "Threading"
. "."
identifier "Tasks"
; ";"
using_directive
using "using"
qualified_name
identifier "Jellyfin"
. "."
identifier "Data"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "Jellyfin"
. "."
identifier "Data"
. "."
identifier "Enums"
; ";"
using_directive
using "using"
qualified_name
qualified_name
qualified_name
identifier "Jellyfin"
. "."
identifier "Database"
. "."
identifier "Implementations"
. "."
identifier "Entities"
; ";"
using_directive
using "using"
qualified_name
qualified_name
qualified_name
identifier "Jellyfin"
. "."
identifier "Database"
. "."
identifier "Implementations"
. "."
identifier "Enums"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
. "."
identifier "Dto"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
. "."
identifier "Entities"
; ";"
using_directive
using "using"
qualified_name
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
. "."
identifier "Entities"
. "."
identifier "Audio"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
. "."
identifier "Providers"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Model"
. "."
identifier "Entities"
; ";"
namespace_declaration
namespace "namespace"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
. "."
identifier "Playlists"
declaration_list
{ "{"
class_declaration
modifier
public "public"
class "class"
identifier "Playlist"
base_list
: ":"
identifier "Folder"
, ","
identifier "IHasShares"
declaration_list
{ "{"
field_declaration (+55 nodes collapsed)
constructor_declaration (+25 nodes collapsed)
property_declaration
modifier
public "public"
identifier "Guid"
identifier "OwnerUserId"
accessor_list
{ "{"
accessor_declaration
get "get"
; ";"
accessor_declaration
set "set"
; ";"
} "}"
property_declaration
modifier
public "public"
predefined_type "bool"
identifier "OpenAccess"
accessor_list
{ "{"
accessor_declaration
get "get"
; ";"
accessor_declaration
set "set"
; ";"
} "}"
property_declaration
modifier
public "public"
generic_name
identifier "IReadOnlyList"
type_argument_list
< "<"
identifier "PlaylistUserPermissions"
> ">"
identifier "Shares"
accessor_list
{ "{"
accessor_declaration
get "get"
; ";"
accessor_declaration
set "set"
; ";"
} "}"
property_declaration
attribute_list
[ "["
attribute
identifier "JsonIgnore"
] "]"
modifier
public "public"
predefined_type "bool"
identifier "IsFile"
arrow_expression_clause
=> "=>"
invocation_expression
identifier "IsPlaylistFile"
argument_list
( "("
argument
identifier "Path"
) ")"
; ";"
property_declaration (+66 nodes collapsed)
property_declaration
attribute_list
[ "["
attribute
identifier "JsonIgnore"
] "]"
modifier
protected "protected"
modifier
override "override"
predefined_type "bool"
identifier "FilterLinkedChildrenPerUser"
arrow_expression_clause
=> "=>"
boolean_literal
true "true"
; ";"
property_declaration
attribute_list
[ "["
attribute
identifier "JsonIgnore"
] "]"
modifier
public "public"
modifier
override "override"
predefined_type "bool"
identifier "SupportsInheritedParentImages"
arrow_expression_clause
=> "=>"
boolean_literal
false "false"
; ";"
property_declaration (+31 nodes collapsed)
property_declaration
attribute_list
[ "["
attribute
identifier "JsonIgnore"
] "]"
modifier
public "public"
modifier
override "override"
predefined_type "bool"
identifier "AlwaysScanInternalMetadataPath"
arrow_expression_clause
=> "=>"
boolean_literal
true "true"
; ";"
property_declaration
attribute_list
[ "["
attribute
identifier "JsonIgnore"
] "]"
modifier
public "public"
modifier
override "override"
predefined_type "bool"
identifier "SupportsCumulativeRunTimeTicks"
arrow_expression_clause
=> "=>"
boolean_literal
true "true"
; ";"
property_declaration
attribute_list
[ "["
attribute
identifier "JsonIgnore"
] "]"
modifier
public "public"
modifier
override "override"
predefined_type "bool"
identifier "IsPreSorted"
arrow_expression_clause
=> "=>"
boolean_literal
true "true"
; ";"
property_declaration
modifier
public "public"
identifier "MediaType"
identifier "PlaylistMediaType"
accessor_list
{ "{"
accessor_declaration
get "get"
; ";"
accessor_declaration
set "set"
; ";"
} "}"
property_declaration
attribute_list
[ "["
attribute
identifier "JsonIgnore"
] "]"
modifier
public "public"
modifier
override "override"
identifier "MediaType"
identifier "MediaType"
arrow_expression_clause
=> "=>"
identifier "PlaylistMediaType"
; ";"
property_declaration (+71 nodes collapsed)
method_declaration (+50 nodes collapsed)
method_declaration (+28 nodes collapsed)
method_declaration
modifier
public "public"
modifier
override "override"
predefined_type "double"
identifier "GetDefaultPrimaryImageAspectRatio"
parameter_list
( "("
) ")"
block
{ "{"
return_statement
return "return"
integer_literal "1"
; ";"
} "}"
method_declaration (+30 nodes collapsed)
method_declaration
modifier
public "public"
modifier
override "override"
predefined_type "bool"
identifier "IsSaveLocalMetadataEnabled"
parameter_list
( "("
) ")"
block
{ "{"
return_statement
return "return"
boolean_literal
true "true"
; ";"
} "}"
method_declaration (+25 nodes collapsed)
method_declaration (+52 nodes collapsed)
method_declaration (+42 nodes collapsed)
method_declaration (+27 nodes collapsed)
method_declaration
modifier
public "public"
modifier
override "override"
generic_name
identifier "IReadOnlyList"
type_argument_list
< "<"
identifier "BaseItem"
> ">"
identifier "GetRecursiveChildren"
parameter_list
( "("
parameter
identifier "User"
identifier "user"
, ","
parameter
identifier "InternalItemsQuery"
identifier "query"
) ")"
block
{ "{"
return_statement
return "return"
invocation_expression
identifier "GetPlayableItems"
argument_list
( "("
argument
identifier "user"
, ","
argument
identifier "query"
) ")"
; ";"
} "}"
method_declaration (+31 nodes collapsed)
method_declaration (+66 nodes collapsed)
method_declaration (+143 nodes collapsed)
method_declaration (+383 nodes collapsed)
method_declaration (+152 nodes collapsed)
method_declaration (+47 nodes collapsed)
method_declaration (+49 nodes collapsed)
} "}"
} "}"

After

compilation_unit
preproc_nullable
#nullable "#nullable"
disable "disable"
preproc_pragma
#pragma "#pragma"
warning "warning"
disable "disable"
identifier "CS1591"
using_directive
using "using"
identifier "System"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "System"
. "."
identifier "Collections"
. "."
identifier "Generic"
; ";"
using_directive
using "using"
qualified_name
identifier "System"
. "."
identifier "IO"
; ";"
using_directive
using "using"
qualified_name
identifier "System"
. "."
identifier "Linq"
; ";"
using_directive
using "using"
qualified_name
qualified_name
qualified_name
identifier "System"
. "."
identifier "Text"
. "."
identifier "Json"
. "."
identifier "Serialization"
; ";"
using_directive
using "using"
qualified_name
identifier "System"
. "."
identifier "Threading"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "System"
. "."
identifier "Threading"
. "."
identifier "Tasks"
; ";"
using_directive
using "using"
qualified_name
identifier "Jellyfin"
. "."
identifier "Data"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "Jellyfin"
. "."
identifier "Data"
. "."
identifier "Enums"
; ";"
using_directive
using "using"
qualified_name
qualified_name
qualified_name
identifier "Jellyfin"
. "."
identifier "Database"
. "."
identifier "Implementations"
. "."
identifier "Entities"
; ";"
using_directive
using "using"
qualified_name
qualified_name
qualified_name
identifier "Jellyfin"
. "."
identifier "Database"
. "."
identifier "Implementations"
. "."
identifier "Enums"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
. "."
identifier "Dto"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
. "."
identifier "Entities"
; ";"
using_directive
using "using"
qualified_name
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
. "."
identifier "Entities"
. "."
identifier "Audio"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
. "."
identifier "Providers"
; ";"
using_directive
using "using"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Model"
. "."
identifier "Entities"
; ";"
namespace_declaration
namespace "namespace"
qualified_name
qualified_name
identifier "MediaBrowser"
. "."
identifier "Controller"
. "."
identifier "Playlists"
declaration_list
{ "{"
class_declaration
modifier
public "public"
class "class"
identifier "Playlist"
base_list
: ":"
identifier "Folder"
, ","
identifier "IHasShares"
declaration_list
{ "{"
field_declaration (+55 nodes collapsed)
constructor_declaration (+25 nodes collapsed)
property_declaration
modifier
public "public"
identifier "Guid"
identifier "OwnerUserId"
accessor_list
{ "{"
accessor_declaration
get "get"
; ";"
accessor_declaration
set "set"
; ";"
} "}"
property_declaration
modifier
public "public"
predefined_type "bool"
identifier "OpenAccess"
accessor_list
{ "{"
accessor_declaration
get "get"
; ";"
accessor_declaration
set "set"
; ";"
} "}"
property_declaration
modifier
public "public"
generic_name
identifier "IReadOnlyList"
type_argument_list
< "<"
identifier "PlaylistUserPermissions"
> ">"
identifier "Shares"
accessor_list
{ "{"
accessor_declaration
get "get"
; ";"
accessor_declaration
set "set"
; ";"
} "}"
property_declaration
attribute_list
[ "["
attribute
identifier "JsonIgnore"
] "]"
modifier
public "public"
predefined_type "bool"
identifier "IsFile"
arrow_expression_clause
=> "=>"
invocation_expression
identifier "IsPlaylistFile"
argument_list
( "("
argument
identifier "Path"
) ")"
; ";"
property_declaration (+66 nodes collapsed)
property_declaration
attribute_list
[ "["
attribute
identifier "JsonIgnore"
] "]"
modifier
protected "protected"
modifier
override "override"
predefined_type "bool"
identifier "FilterLinkedChildrenPerUser"
arrow_expression_clause
=> "=>"
boolean_literal
true "true"
; ";"
property_declaration
attribute_list
[ "["
attribute
identifier "JsonIgnore"
] "]"
modifier
public "public"
modifier
override "override"
predefined_type "bool"
identifier "SupportsInheritedParentImages"
arrow_expression_clause
=> "=>"
boolean_literal
false "false"
; ";"
property_declaration (+31 nodes collapsed)
property_declaration
attribute_list
[ "["
attribute
identifier "JsonIgnore"
] "]"
modifier
public "public"
modifier
override "override"
predefined_type "bool"
identifier "AlwaysScanInternalMetadataPath"
arrow_expression_clause
=> "=>"
boolean_literal
true "true"
; ";"
property_declaration
attribute_list
[ "["
attribute
identifier "JsonIgnore"
] "]"
modifier
public "public"
modifier
override "override"
predefined_type "bool"
identifier "SupportsCumulativeRunTimeTicks"
arrow_expression_clause
=> "=>"
boolean_literal
true "true"
; ";"
property_declaration
attribute_list
[ "["
attribute
identifier "JsonIgnore"
] "]"
modifier
public "public"
modifier
override "override"
predefined_type "bool"
identifier "IsPreSorted"
arrow_expression_clause
=> "=>"
boolean_literal
true "true"
; ";"
property_declaration
modifier
public "public"
identifier "MediaType"
identifier "PlaylistMediaType"
accessor_list
{ "{"
accessor_declaration
get "get"
; ";"
accessor_declaration
set "set"
; ";"
} "}"
property_declaration
attribute_list
[ "["
attribute
identifier "JsonIgnore"
] "]"
modifier
public "public"
modifier
override "override"
identifier "MediaType"
identifier "MediaType"
arrow_expression_clause
=> "=>"
identifier "PlaylistMediaType"
; ";"
property_declaration (+71 nodes collapsed)
method_declaration (+50 nodes collapsed)
method_declaration (+28 nodes collapsed)
method_declaration
modifier
public "public"
modifier
override "override"
predefined_type "double"
identifier "GetDefaultPrimaryImageAspectRatio"
parameter_list
( "("
) ")"
block
{ "{"
return_statement
return "return"
integer_literal "1"
; ";"
} "}"
method_declaration (+30 nodes collapsed)
method_declaration
modifier
public "public"
modifier
override "override"
predefined_type "bool"
identifier "IsSaveLocalMetadataEnabled"
parameter_list
( "("
) ")"
block
{ "{"
return_statement
return "return"
boolean_literal
true "true"
; ";"
} "}"
method_declaration (+25 nodes collapsed)
method_declaration (+52 nodes collapsed)
method_declaration (+42 nodes collapsed)
method_declaration (+27 nodes collapsed)
method_declaration
modifier
public "public"
modifier
override "override"
generic_name
identifier "IReadOnlyList"
type_argument_list
< "<"
identifier "BaseItem"
> ">"
identifier "GetRecursiveChildren"
parameter_list
( "("
parameter
identifier "User"
identifier "user"
, ","
parameter
identifier "InternalItemsQuery"
identifier "query"
, ","
parameter
modifier "out"
predefined_type "int"
identifier "totalCount"
) ")"
block
{ "{"
local_declaration_statement
variable_declaration
implicit_type
var "var"
variable_declarator
identifier "items"
= "="
invocation_expression
identifier "GetPlayableItems"
argument_list
( "("
argument
identifier "user"
, ","
argument
identifier "query"
) ")"
; ";"
expression_statement
assignment_expression
identifier "totalCount"
= "="
member_access_expression
identifier "items"
. "."
identifier "Count"
; ";"
return_statement
return "return"
identifier "items"
; ";"
} "}"
method_declaration (+31 nodes collapsed)
method_declaration (+66 nodes collapsed)
method_declaration (+143 nodes collapsed)
method_declaration (+383 nodes collapsed)
method_declaration (+152 nodes collapsed)
method_declaration (+47 nodes collapsed)
method_declaration (+49 nodes collapsed)
} "}"
} "}"