Public/ASS/Get-AssStyle.ps1
|
function Get-AssStyle { <# .SYNOPSIS Retrieves one or all styles from an ASS/SSA SubtitleFile. .PARAMETER InputObject A SubtitleFile with Format 'ASS' or 'SSA'. .PARAMETER Name Style name to retrieve. If omitted, returns all styles. .EXAMPLE Import-SubtitleFile 'anime.ass' | Get-AssStyle .EXAMPLE Import-SubtitleFile 'anime.ass' | Get-AssStyle -Name 'Default' #> [CmdletBinding()] [OutputType('AssStyle[]')] param( [Parameter(Mandatory, ValueFromPipeline)] [SubtitleFile] $InputObject, [string] $Name ) process { if (-not $InputObject.Header) { Write-Warning 'SubtitleFile has no Header (not an ASS/SSA file).' return } if ($Name) { $InputObject.Header.Styles | Where-Object { $_.Name -eq $Name } } else { $InputObject.Header.Styles } } } |