Compare commits

..

4 Commits

Author SHA1 Message Date
fbfab5b4aa 3.3.0 section added to CHANGELOG
added dates for past versions
2024-06-29 10:03:32 +01:00
4d371a7582 Remove the 1 second wait from RunVoicemeeter
Write exception message to Debug
2024-06-29 07:13:11 +01:00
15b3b375bd md fix 2024-06-29 06:55:48 +01:00
c8abc6964a update RunVoicemeeter to launch x64 bit GUIs for all kinds
Keep testing login for up to 2 seconds.
If timeout exceeded throw VMRemoteError
2024-06-29 06:53:20 +01:00
2 changed files with 39 additions and 9 deletions

View File

@ -9,7 +9,19 @@ Before any major/minor/patch is released all test units will be run to verify th
## [Unreleased] These changes have not been added to PSGallery yet
## [3.2.0]
- [ ]
## [3.3.0] - 2024-06-29
### Added
- Add a timeout (2s) to the login function. If timeout exceeded a VMRemoteError is thrown.
### Changed
- Launch x64 bit GUIs for all kinds if on 64 bit system.
## [3.2.0] - 2023-08-17
### Added
@ -21,10 +33,10 @@ Before any major/minor/patch is released all test units will be run to verify th
- All CAPIErrors are now exposed to the consumer.
- The function name and error code can be retrieved using [CAPIError].function and [CAPIError].code
- Set_By_Script now throws [VMError] if script length exceeds 48kB.
- Set_By_Script now throws [VMRemoteError] if script length exceeds 48kB.
- parameter range checks in Vban class.
## [3.1.0]
## [3.1.0] - 2023-08-15
### Added
@ -33,7 +45,7 @@ Before any major/minor/patch is released all test units will be run to verify th
- More Recorder commands implemented. See Recorder section in README.
- RunMacrobuttons, CloseMacrobuttons added to Special class
## [3.0.0]
## [3.0.0] - 2023-08-09
v3 introduces some breaking changes. They are as follows:

View File

@ -20,8 +20,27 @@ function Login {
}
}
$timeout = New-TimeSpan -Seconds 2
$sw = [diagnostics.stopwatch]::StartNew()
$exception = $null
do {
Start-Sleep -m 100
try {
"Successfully logged into Voicemeeter [" + $(VmType).ToUpper() + "] Version " + $(VmVersion) | Write-Verbose
$exception = $null
break
}
catch [CAPIError] {
$exception = $_
$exception | Write-Debug
}
} while ($sw.elapsed -lt $timeout)
if ($null -ne $exception) {
throw [VMRemoteError]::new("Timeout logging into the API.")
}
while (P_Dirty -or M_Dirty) { Start-Sleep -m 1 }
"Successfully logged into Voicemeeter [" + $(VmType).ToUpper() + "] Version " + $(VmVersion) | Write-Verbose
}
function Logout {
@ -38,8 +57,8 @@ function RunVoicemeeter {
[string]$kindId
)
$kinds = @{
"basic" = 1
"banana" = 2
"basic" = $(if ([Environment]::Is64BitOperatingSystem) { 4 } else { 1 })
"banana" = $(if ([Environment]::Is64BitOperatingSystem) { 5 } else { 2 })
"potato" = $(if ([Environment]::Is64BitOperatingSystem) { 6 } else { 3 })
}
@ -47,7 +66,6 @@ function RunVoicemeeter {
if ($retval -notin @(0)) {
throw [CAPIError]::new($retval, "VBVMR_RunVoicemeeter")
}
Start-Sleep -s 1
}
function P_Dirty {
@ -189,7 +207,7 @@ function Set_By_Script {
[string]$script
)
if ($script.Length -gt 48000) {
throw [VMError]::new("Script size cannot be larger than 48kB")
throw [VMRemoteError]::new("Script size cannot be larger than 48kB")
}
$retval = [int][Voicemeeter.Remote]::VBVMR_SetParameters($script)
if ($retval -notin @(0)) {