Functions/GenXdev.Media/Switch-VlcMediaPlayerMute.ps1

################################################################################
<#
.SYNOPSIS
Toggles the mute state of the VLC Media Player.

.DESCRIPTION
This function sends the 'm' key to VLC Media Player to toggle between muted
and unmuted audio states. The function focuses VLC, sends the mute/unmute
command, and then restores focus to the previously active window.

.LICENSE
Copyright (C) 2026 René Vaessen / GenXdev

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.

.EXAMPLE
Switch-VlcMediaPlayerMute

Toggles the mute state of VLC Media Player using the full function name.

.EXAMPLE
vlcmute

Toggles the mute state of VLC Media Player using the short alias.
#>

function Switch-VlcMediaPlayerMute {

    [CmdletBinding()]
    [Alias('vlcmute', 'vlcunmute')]

    param (
    )

    begin {

    }

    process {

        # send the 'm' key to vlc media player to toggle mute state
        GenXdev\Open-VlcMediaPlayer -KeysToSend 'm' -RestoreFocus
    }

    end {

    }
}
################################################################################