<SOLVED> Sound Applet - Hide unused devices

Forum rules
Before you post read how to get help. Topics in this forum are automatically closed 6 months after creation.
Locked
janlev
Level 1
Level 1
Posts: 2
Joined: Wed Jan 19, 2022 10:46 am

<SOLVED> Sound Applet - Hide unused devices

Post by janlev »

Hi new Linux user here. How do you disable/hide unused sound devices from the sound applet? I change outputs quite often and don't like the way it's bloated with outputs I never use. I tried googling and asking on IRC channel, but haven't found a working hiding/disabling method.

sounddevices.png
I only need from outputs:
  • Digital Output (S/PDIF) - Built-in Audio
  • Line Out - Built-in Audio
  • Analog Output - DigiHub USB Audio
Input: Only Microphone - Blue Snowball

64-bit Linux Mint 20.3 with Cinnamon 5.2.7 - 5.13 Kernel

Code: Select all

Audio:
  Device-1: Intel 200 Series PCH HD Audio vendor: ASUSTeK 
  driver: snd_hda_intel v: kernel bus ID: 00:1f.3 chip ID: 8086:a2f0 
  Device-2: NVIDIA GP102 HDMI Audio vendor: Gigabyte driver: snd_hda_intel 
  v: kernel bus ID: 01:00.1 chip ID: 10de:10ef 
  Device-3: GYROCOM C&C DigiHug USB Audio type: USB 
  driver: hid-generic,snd-usb-audio,usbhid bus ID: 1-5:3 chip ID: 1852:7022 
  Device-4: C-Media Blue Snowball type: USB 
  driver: hid-generic,snd-usb-audio,usbhid bus ID: 1-6:5 chip ID: 0d8c:0005 
  serial: <filter> 
  Sound Server: ALSA v: k5.13.0-27-generic 
Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 2 times in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
janlev
Level 1
Level 1
Posts: 2
Joined: Wed Jan 19, 2022 10:46 am

Re: Sound Applet - Hide unused devices

Post by janlev »

Solved it on my own. I modified the applet sourcecode to filter out unwanted devices.
The source is located @ /usr/share/cinnamon/applets/sound@cinnamon.org/applet.js

Added:

Code: Select all

	if(type == "output")
        {
            if(device.origin == "GP102 HDMI Audio Controller")
            {
                return;
            }
            else if(device.origin == "DigiHug USB Audio" && device.description == "Digital Output (S/PDIF)")
            {
                return;
            }
        }
        if(type == "input")
        {
            if(device.origin == "DigiHug USB Audio" && device.description == "Analog Input" || device.origin == "DigiHug USB Audio" && device.description == "Digital Input (S/PDIF)")
            {
                return;
            }
        }
Under:

Code: Select all

    
    _onDeviceAdded(control, id, type) {
        let device = this._control["lookup_" + type + "_id"](id);

Locked

Return to “Sound”