mirror of
				https://github.com/alsa-project/alsa-tools.git
				synced 2025-11-03 09:01:51 -05:00 
			
		
		
		
	
		
			
	
	
		
			102 lines
		
	
	
	
		
			4.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			102 lines
		
	
	
	
		
			4.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
										Profiles management as part of alsa
							 | 
						||
| 
								 | 
							
										2004-05-16 Dirk Kalis <dirk.kalis@t-online.de>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								General
							 | 
						||
| 
								 | 
							
								=======
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Profiles management can be used from all applications like mixers or hardware control programs.
							 | 
						||
| 
								 | 
							
								It uses always alsactl and if directorys for the profiles file doesn't exists - mkdir.
							 | 
						||
| 
								 | 
							
								profiles file means the file in which the profiles will be stored.
							 | 
						||
| 
								 | 
							
								For other application the following files are needed:
							 | 
						||
| 
								 | 
							
								profiles.h - header file with the exported functions
							 | 
						||
| 
								 | 
							
								profiles.c - profiles implementation
							 | 
						||
| 
								 | 
							
								new_process.c - used to start external programs (alsactl and mkdir)
							 | 
						||
| 
								 | 
							
								strstr_icase_blank.c - string search function with ignoring case sensitivity, number of blanks, empty and
							 | 
						||
| 
								 | 
							
											comment lines (first non blank character '#')
							 | 
						||
| 
								 | 
							
								Profile numbers beginning with number 1 not 0 !
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Introduction
							 | 
						||
| 
								 | 
							
								============
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Profiles management stores and restores alsactl settings in a profiles file.
							 | 
						||
| 
								 | 
							
								Every card is stored in the profiles and every card profile can have a profile name.
							 | 
						||
| 
								 | 
							
								The profiles file has the following structure:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[ profile <profile number> ]
							 | 
						||
| 
								 | 
							
								< Card <card number> >
							 | 
						||
| 
								 | 
							
								{ /<profile name/ }
							 | 
						||
| 
								 | 
							
								***************************
							 | 
						||
| 
								 | 
							
								***   alsactl settings  ***
							 | 
						||
| 
								 | 
							
								***************************
							 | 
						||
| 
								 | 
							
								< /CARD <card number> >
							 | 
						||
| 
								 | 
							
								-----next card or next profile or end of file-----
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The header for profile name and card footer are optional.
							 | 
						||
| 
								 | 
							
								The functions in profile.c write always a card footer.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								DO NOT EDIT THIS FILE MANUALLY BECAUSE EVERY WRITE ACCESS MAKE A REORGANIZATION AND COMMENTS NOT WRITTEN IN
							 | 
						||
| 
								 | 
							
								THE ALSACTL SECTION WILL BE REMOVED! ALSO THE STRUCTURE OF THE FILE WILL BE MODIFIED!
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								With the environment variables ALACTL_PROG and MKDIR_PROG can the compiled defaults for this
							 | 
						||
| 
								 | 
							
								programs be overwritten.
							 | 
						||
| 
								 | 
							
								e.g.:
							 | 
						||
| 
								 | 
							
								export ALSACTL_PROG=<path and name from alsactl>;export MKDIR_PROG=<path and name from mkdir>;<mixer program with profiles management>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This pathes must not be a link !
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The profiles file name and path can explicit given.
							 | 
						||
| 
								 | 
							
								If is not given (by value NULL) two defined defaults will be used.
							 | 
						||
| 
								 | 
							
								Two variables can be set in the profiles header file for the default profiles file and for the system profiles file.
							 | 
						||
| 
								 | 
							
								The default for DEFAULT_PROFILERC is ~/<program name>/profiles.conf.
							 | 
						||
| 
								 | 
							
								The default for SYS_PROFILERC is /etc/<program name>/profiles.conf
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The profiles management search for profiles file if no profiles file name is given.
							 | 
						||
| 
								 | 
							
								Search order for restore:
							 | 
						||
| 
								 | 
							
								<given profiles file> if not -> <DEFAULT_PROFILERC> if doesn't exists -> <SYS_PROFILERC>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Search order for save:
							 | 
						||
| 
								 | 
							
								<given profiles file> if not -> <DEFAULT_PROFILERC>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The SYS_PROFILERC can only be written as root by explicit given profiles file name or
							 | 
						||
| 
								 | 
							
								you make a copy as root from one of the DEFAULT_PROFILERC.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This files must not be a link!
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The delete_card function can be used to remove card profiles from profiles file if a card is removed from your pc.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Miscellaneous cards can have same profile names - thats no problem.
							 | 
						||
| 
								 | 
							
								One card with equal profile names is also no problem if you use profile number for searching.
							 | 
						||
| 
								 | 
							
								If you use profile name for searching you will allways get the least profile number with this profile name.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Profiles management in envy24control
							 | 
						||
| 
								 | 
							
								====================================
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								In envy24control you can find a new map named "Profiles".
							 | 
						||
| 
								 | 
							
								In this map you can store 8 profiles for every envy24 card.
							 | 
						||
| 
								 | 
							
								You can change/give name by activating this profile and then click in the name entry.
							 | 
						||
| 
								 | 
							
								You can only change the name for the active profile.
							 | 
						||
| 
								 | 
							
								If all settings in the active profile are done you can save settings by clicking button "Save active profile".
							 | 
						||
| 
								 | 
							
								Error messages will only displayed on stderr in the text window if you start envy24control from xterm.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								To activate a profile click only the profile button.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								You can start envy24control with given profiles file and a default profile. if a default profile is given
							 | 
						||
| 
								 | 
							
								after initialisation of envy24control this profile will be activated.
							 | 
						||
| 
								 | 
							
								Default profile can be given by profile number or profile name.
							 | 
						||
| 
								 | 
							
								The accuracy of discrimination works in the following way:
							 | 
						||
| 
								 | 
							
									- if the given default profile contains a letter -> profile name
							 | 
						||
| 
								 | 
							
									- if the given default profile has a number outside the range [1 ... MAX_PROFILES] -> profile name
							 | 
						||
| 
								 | 
							
									- the given default profile is interpreted as profile number.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Profile names should have at least one letter.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								For "Delete card from profiles" and equal profile names read above.
							 | 
						||
| 
								 | 
							
								One card with equal names is only a problem if you start envy24control with default profile name. You activate
							 | 
						||
| 
								 | 
							
								allways the profile with the least profile number with this profile name.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Copyright
							 | 
						||
| 
								 | 
							
								=========
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Copyright Dirk Kalis<dirk.kalis@t-online.de>
							 | 
						||
| 
								 | 
							
								This is free and can be distributed under GPL.
							 |