5 Commits

Author SHA1 Message Date
907ee3e63b upd tested against 2024-06-28 11:12:01 +01:00
f3ed9c28c7 upd doc link 2024-01-03 09:38:22 +00:00
d305a4048d "\" -Join path parts 2023-08-17 15:02:03 +01:00
108731b4cf add RunMacrobuttons(), CloseMacrobuttons() 2023-08-17 03:19:05 +01:00
e7c648f1d0 fix function names 2023-08-17 03:05:32 +01:00
3 changed files with 22 additions and 12 deletions

View File

@@ -8,9 +8,9 @@ For past/future changes to this project refer to: [CHANGELOG](CHANGELOG.md)
## Tested against
- Basic 1.0.8.8
- Banana 2.0.6.8
- Potato 3.0.2.8
- Basic 1.1.1.1
- Banana 2.1.1.1
- Potato 3.1.1.1
## Requirements
@@ -402,6 +402,8 @@ The following commands are available:
The following methods are available:
- Load($filepath): string
- RunMacrobuttons(): Launches the macrobuttons app
- CloseMacrobuttons(): Closes the macrobuttons app
example:
@@ -411,6 +413,8 @@ $vmr.command.show
$vmr.command.lock = $true
$vmr.command.Load("path/to/filename.xml")
$vmr.command.RunMacrobuttons()
```
### Recorder
@@ -566,4 +570,4 @@ Run tests from repository root in a subshell and write logs, like so:
### Official Documentation
- [Voicemeeter Remote C API](https://github.com/onyx-and-iris/Voicemeeter-SDK/blob/update-docs/VoicemeeterRemoteAPI.pdf)
- [Voicemeeter Remote C API](https://github.com/onyx-and-iris/Voicemeeter-SDK/blob/main/VoicemeeterRemoteAPI.pdf)

View File

@@ -53,7 +53,7 @@ function RunVoicemeeter {
function P_Dirty {
$retval = [Voicemeeter.Remote]::VBVMR_IsParametersDirty()
if ($retval -notin @(0, 1)) {
throw [CAPIError]::new($retval, "VBVMR_RunVoicemeeter")
throw [CAPIError]::new($retval, "VBVMR_IsParametersDirty")
}
[bool]$retval
}
@@ -61,7 +61,7 @@ function P_Dirty {
function M_Dirty {
$retval = [Voicemeeter.Remote]::VBVMR_MacroButton_IsDirty()
if ($retval -notin @(0, 1)) {
throw [CAPIError]::new($retval, "VBVMR_RunVoicemeeter")
throw [CAPIError]::new($retval, "VBVMR_MacroButton_IsDirty")
}
[bool]$retval
}
@@ -156,7 +156,7 @@ function MB_Get {
New-Variable -Name ptr -Value 0.0
$retval = [int][Voicemeeter.Remote]::VBVMR_MacroButton_GetStatus($ID, [ref]$ptr, $MODE)
if ($retval -notin @(0)) {
throw [CAPIError]::new($retval, $MyInvocation.MyCommand)
throw [CAPIError]::new($retval, "VBVMR_MacroButton_GetStatus")
}
[int]$ptr
}

View File

@@ -1,11 +1,17 @@
function Get_VMPath {
$REG_KEY = "Registry::HKEY_LOCAL_MACHINE\Software" + `
(& { if ([Environment]::Is64BitOperatingSystem) { "\WOW6432Node" } else { "" } }) + `
"\Microsoft\Windows\CurrentVersion\Uninstall"
$VM_KEY = "\VB:Voicemeeter {17359A74-1236-5467}\"
$REG_KEY = @(
"Registry::HKEY_LOCAL_MACHINE",
"Software",
(& { if ([Environment]::Is64BitOperatingSystem) { "WOW6432Node" } else { "" } }),
"Microsoft",
"Windows",
"CurrentVersion",
"Uninstall"
).Where({ $_ -ne "" }) -Join "\"
$VM_KEY = "VB:Voicemeeter {17359A74-1236-5467}"
try {
return $(Get-ItemPropertyValue -Path ($REG_KEY + $VM_KEY) -Name UninstallString | Split-Path -Parent)
return $(Get-ItemPropertyValue -Path (@($REG_KEY, $VM_KEY) -Join "\") -Name UninstallString | Split-Path -Parent)
}
catch {
throw [VMRemoteError]::new("Unable to fetch Voicemeeter path from the Registry.")