mirror of
https://github.com/alsa-project/alsa-tools.git
synced 2025-10-29 05:40:25 -04: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.
|