1
0
mirror of https://github.com/Toxblh/MTMR.git synced 2026-01-10 17:08:39 +00:00

* fixed bug with mute at 0.0

This commit is contained in:
ad 2018-04-13 21:40:34 +03:00
parent 621cb3242b
commit 849b5b6db0

View File

@ -84,18 +84,31 @@ class VolumeViewController: NSCustomTouchBarItem {
}
private func setInputGain(_ volume: Float32) -> OSStatus {
var inputVolume: Float32 = volume //0.0 //roundf(volume * 100) / 100
var inputVolume: Float32 = volume
if inputVolume == 0.0 {
_ = setMute( mute: 1)
} else {
_ = setMute( mute: 0)
}
let size: UInt32 = UInt32(MemoryLayout.size(ofValue: inputVolume))
var address: AudioObjectPropertyAddress = AudioObjectPropertyAddress()
if inputVolume == 0.0 {
address.mSelector = AudioObjectPropertySelector(kAudioDevicePropertyMute)
} else {
address.mSelector = AudioObjectPropertySelector(kAudioHardwareServiceDeviceProperty_VirtualMasterVolume)
}
address.mScope = AudioObjectPropertyScope(kAudioDevicePropertyScopeOutput)
address.mElement = AudioObjectPropertyElement(kAudioObjectPropertyElementMaster)
address.mSelector = AudioObjectPropertySelector(kAudioHardwareServiceDeviceProperty_VirtualMasterVolume)
return AudioObjectSetPropertyData(defaultDeviceID, &address, 0, nil, size, &inputVolume)
}
private func setMute( mute: Int) -> OSStatus {
var muteVal: Int = mute
var address: AudioObjectPropertyAddress = AudioObjectPropertyAddress()
address.mSelector = AudioObjectPropertySelector(kAudioDevicePropertyMute)
let size: UInt32 = UInt32(MemoryLayout.size(ofValue: muteVal))
address.mScope = AudioObjectPropertyScope(kAudioDevicePropertyScopeOutput)
address.mElement = AudioObjectPropertyElement(kAudioObjectPropertyElementMaster)
return AudioObjectSetPropertyData(defaultDeviceID, &address, 0, nil, size, &muteVal)
}
}
class CustomSliderCell: NSSliderCell {