mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	alsa: rework mixer logic
Completely rework mixer logic. This now allows controlling a full set of elements from a single sink's volume slider/mute button. This also introduces sink and source "ports" that can be used to choose different input or output ports with the UI. (i.e. "mic"/"line-in" or "speaker"/"headphones". The mixer paths and device maps are now configered in external configuration files and can be tweaked as necessary.
This commit is contained in:
		
							parent
							
								
									e9c70ac41b
								
							
						
					
					
						commit
						31575f7766
					
				
					 54 changed files with 7029 additions and 1694 deletions
				
			
		| 
						 | 
				
			
			@ -115,7 +115,7 @@ static void io_callback(pa_mainloop_api *io, pa_io_event *e, int fd, pa_io_event
 | 
			
		|||
                                    cv.values[i] = PA_VOLUME_MAX;
 | 
			
		||||
                            }
 | 
			
		||||
 | 
			
		||||
                            pa_sink_set_volume(s, &cv, TRUE, TRUE, TRUE);
 | 
			
		||||
                            pa_sink_set_volume(s, &cv, TRUE, TRUE, TRUE, TRUE);
 | 
			
		||||
                            break;
 | 
			
		||||
 | 
			
		||||
                        case DOWN:
 | 
			
		||||
| 
						 | 
				
			
			@ -126,12 +126,12 @@ static void io_callback(pa_mainloop_api *io, pa_io_event *e, int fd, pa_io_event
 | 
			
		|||
                                    cv.values[i] = PA_VOLUME_MUTED;
 | 
			
		||||
                            }
 | 
			
		||||
 | 
			
		||||
                            pa_sink_set_volume(s, &cv, TRUE, TRUE, TRUE);
 | 
			
		||||
                            pa_sink_set_volume(s, &cv, TRUE, TRUE, TRUE, TRUE);
 | 
			
		||||
                            break;
 | 
			
		||||
 | 
			
		||||
                        case MUTE_TOGGLE:
 | 
			
		||||
 | 
			
		||||
                            pa_sink_set_mute(s, !pa_sink_get_mute(s, FALSE));
 | 
			
		||||
                            pa_sink_set_mute(s, !pa_sink_get_mute(s, FALSE), TRUE);
 | 
			
		||||
                            break;
 | 
			
		||||
 | 
			
		||||
                        case INVALID:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue