From bbef18a2b5d995ad9bdae7080886ba3cb9ab1967 Mon Sep 17 00:00:00 2001 From: frgnca Date: Sat, 11 Aug 2018 12:16:33 -0400 Subject: [PATCH 1/4] change version number --- SOURCE/Properties/AssemblyInfo.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SOURCE/Properties/AssemblyInfo.cs b/SOURCE/Properties/AssemblyInfo.cs index 44baa7b..517a0ff 100644 --- a/SOURCE/Properties/AssemblyInfo.cs +++ b/SOURCE/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ // Build Number // Revision // -[assembly: AssemblyVersion("3.0.0.0")] -[assembly: AssemblyFileVersion("3.0.0.0")] +[assembly: AssemblyVersion("3.0.1.0")] +[assembly: AssemblyFileVersion("3.0.1.0")] From 96c485a908ca62b74f35a154549d8efeaace2d37 Mon Sep 17 00:00:00 2001 From: frgnca Date: Sat, 11 Aug 2018 12:30:16 -0400 Subject: [PATCH 2/4] change version number --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c95bc59..b073a58 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Set volume and mute state of default audio device (playback/recording) ## Import Cmdlet to PowerShell -Download AudioDeviceCmdlets.dll +Download AudioDeviceCmdlets.dll ```powershell New-Item "$($profile | split-path)\Modules\AudioDeviceCmdlets" -Type directory -Force Copy-Item "C:\Path\to\AudioDeviceCmdlets.dll" "$($profile | split-path)\Modules\AudioDeviceCmdlets\AudioDeviceCmdlets.dll" From f679cab0e8b0efaca82fac1214829c6ac5aa0300 Mon Sep 17 00:00:00 2001 From: frgnca Date: Sat, 11 Aug 2018 12:44:19 -0400 Subject: [PATCH 3/4] add ShowDisabled parameter --- SOURCE/AudioDeviceCmdlets.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/SOURCE/AudioDeviceCmdlets.cs b/SOURCE/AudioDeviceCmdlets.cs index 916de68..7e878d2 100644 --- a/SOURCE/AudioDeviceCmdlets.cs +++ b/SOURCE/AudioDeviceCmdlets.cs @@ -149,6 +149,15 @@ public SwitchParameter RecordingVolume } private bool recordingvolume; + // Parameter called to consider disabled devices + [Parameter(Mandatory = false, ParameterSetName = "ShowDisabled")] + public SwitchParameter ShowDisabled + { + get { return showdisabled; } + set { showdisabled = value; } + } + private bool showdisabled; + // Cmdlet execution protected override void ProcessRecord() { From 3d957550a92903e54588960acace610e7bff2e86 Mon Sep 17 00:00:00 2001 From: frgnca Date: Sun, 12 Aug 2018 19:43:49 -0400 Subject: [PATCH 4/4] add -ShowDisabled parameter support to List parameter (#24) * add ShowDisabled parameter process * add ShowDisabled process to List parameter * change var name change comment --- SOURCE/AudioDeviceCmdlets.cs | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/SOURCE/AudioDeviceCmdlets.cs b/SOURCE/AudioDeviceCmdlets.cs index 7e878d2..34a7888 100644 --- a/SOURCE/AudioDeviceCmdlets.cs +++ b/SOURCE/AudioDeviceCmdlets.cs @@ -68,7 +68,7 @@ public AudioDevice(int Index, MMDevice BaseDevice, bool Default = false) public class GetAudioDevice : Cmdlet { // Parameter called to list all devices - [Parameter(Mandatory = true, Position = 0, ParameterSetName = "List")] + [Parameter(Mandatory = true, Position = 0, ParameterSetName = "ShowDisabled")] public SwitchParameter List { get { return list; } @@ -185,6 +185,25 @@ protected override void ProcessRecord() } } + // If the ShowDisabled parameter was called + if (showdisabled) + { + // The ShowDisabled parameter was called + + // Get enabled DeviceCollection count + int enabledCount = DeviceCollection.Count; + + // Get MMDeviceCollection of every disabled devices + DeviceCollection = DevEnum.EnumerateAudioEndPoints(EDataFlow.eAll, EDeviceState.DEVICE_STATE_UNPLUGGED); + + // For every MMDevice in DeviceCollection + for (int i = 0; i < DeviceCollection.Count; i++) + { + // Output the result of the creation of a new AudioDevice while assining it an index, and the MMDevice itself + WriteObject(new AudioDevice(i + 1 + enabledCount, DeviceCollection[i])); + } + } + // Stop checking for other parameters return; }