Comments (16)
I've actually made a build that does something similar to this, switching between built in speakers and headphones. Basically I see the feature being a list of devices to output to, in order of priority. I'll see if I can get this in at some point!
from proxy-audio-device.
I agree 100% with the intention of this request, but I wonder if the right way to handle it would be to "disconnect" PAD when the proxied device disconnects. That way the system's built in audio routing logic will take over.
from proxy-audio-device.
I suppose that depends on what you consider easy. You can see how the driver selects its output device in the function setupTargetOutputDevice()
. You could pretty easily hack some logic in there to have a fallback output device if the main one isn't found.
Though I think the "right" way to do this would be to actually make a change to its settings app. Best would be having a list of audio sources in order of priority, and the proxy device will output to the topmost device it can find. That'd take a fair deal more work. A faster, less flexible solution would be to add a check box that turns this behavior on and off. (Though then you'd need to become familiar with the really, really hacky way the settings app communicates with the driver!)
from proxy-audio-device.
@briankendall any chance we could get this implemented? I've tried a few other alternatives but keep coming back to PAD because it works the best.
from proxy-audio-device.
That sounds awesome and exactly what I need!
I have a whole bunch of audio outputs I switch between, but the monitor is the only one I can't use the normal volume control with, without something like proxy-audio-device or eqMac (which is overkill for my needs, but also doesn't automatically switch back to Displayport when reconnected to the monitor).
from proxy-audio-device.
Can you build a "beta" release from your experimental branch that supports automatic switching?
I tried to build it, but then the Settings panel says that no Proxy Audio Device could be found (I probably build it wrong, as the same happens if I build from the master branch).
from proxy-audio-device.
@xflashxx @Tuxie You can give this build a try: https://nextcloud.briankendall.net/index.php/s/TaETdJa2BLN2mpo
It should automatically switch to built-in speakers if the proxied device isn't available. Note though that I've only tested it on a 2017 iMac. I'm not sure how well it'll work in general.
from proxy-audio-device.
@n8gray I can see this working both ways, since with the proxy device simulating a disconnection macOS would behave just like when using the proxied device directly. However I think an explicit list of priority would be very useful too. macOS's logic for automatically switching audio devices is a bit strange and something of a black box, and I'm often finding myself frustrated with it because it will unpredictably switch to a device I don't want it to when I disconnect the current one.
In fact this happens often enough that I'm considering writing another utility whose sole purpose is to enforce a list of priority for audio devices rather than leaving it up to macOS.
from proxy-audio-device.
@briankendall thanks for your work and your beta build! I really like your work, doing what apple should just provide as a build-in function in my opinion.
from proxy-audio-device.
I agree 100% with the intention of this request, but I wonder if the right way to handle it would be to "disconnect" PAD when the proxied device disconnects. That way the system's built in audio routing logic will take over.
I would like it done this way as well. Especially because I've noticed that the built-in speakers' native volume control has better audio quality than the virtual volume control used for the built-in speakers
from proxy-audio-device.
@thebeste Can you elaborate on what you mean by:
I've noticed that the built-in speakers' native volume control has better audio quality than the virtual volume control used for the built-in speakers
from proxy-audio-device.
@thebeste Can you elaborate on what you mean by:
I've noticed that the built-in speakers' native volume control has better audio quality than the virtual volume control used for the built-in speakers
I'm not sure, it just sounds different; I guess "quality" wasn't the best word to use. It sounded more shallow or something, so maybe the EQ is different? The external display I used this driver with sounded fine so it's not really a big deal.
from proxy-audio-device.
Well there's definitely no EQ adjustment, unless you have something like SoundSource installed and configured to change it.
The volume curve you get as you adjust the volume on the proxy device will be different than the proxied device, since that's driver dependent and will vary for each device. I tried to pick one that felt intuitive and didn't result in changes that were too big or too small when the volume was near its maximum or minimum.
The only other thing I can think of is that the proxy device is applying a gain adjustment to an existing signal, so if the volume on your built-in speakers isn't at maximum, you're technically degrading the audio fidelity of the signal slightly by lowering the volume on it twice. In most cases though this shouldn't create any perceptible change in quality.
from proxy-audio-device.
That makes sense. But yeah, I prefer the built-in speakers' native volume adjustment which is why I would like the proxy device to be able to disconnect and reconnect depending on the proxied device.
from proxy-audio-device.
I'd love to see this get implemented! Is this relatively easily hackable?
from proxy-audio-device.
I've actually made a build that does something similar to this, switching between built in speakers and headphones. Basically I see the feature being a list of devices to output to, in order of priority. I'll see if I can get this in at some point!
Has this feature made it into master yet?
from proxy-audio-device.
Related Issues (20)
- [Enhancement] Possibility to proxy multiple devices HOT 3
- 4-channel device support HOT 1
- Audio fades up after silence HOT 6
- Unplugging hdmi leaves the proxy audio device present HOT 5
- Something is missing in the PAD Setting App, is it? HOT 12
- Low level built-in Microphone HOT 5
- No sound on Samsung external monitor for Apple M2 Pro chip macbook HOT 5
- request: help me with my patch 🙏 HOT 2
- [Feature] Homebrew support HOT 2
- Proxy Audio Device not found HOT 11
- virtual 4channel device using 2x 2channel devices? HOT 1
- Proxy Audio Device Not Found HOT 6
- Help Me Understand Quality Implications & Buffer Size HOT 2
- Popping/Clicking on the *Original* Audio Device HOT 15
- It doesn't work HOT 3
- Automatic Switch HOT 1
- routing to multiple outputs on audio interface...
- Ring buffer desync assistance HOT 3
- Mutliple Devices HOT 4
- How to Uninstall? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from proxy-audio-device.