__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
# Shell snippet.

bugout() { echo "${MYNAME}: Programming error" >&2 ; exit 123 ; }

echo_card_indices()
{
	if [ -f /proc/asound/cards ] ; then
		sed -n -e's/^[[:space:]]*\([0-7]\)[[:space:]].*/\1/p' /proc/asound/cards
	fi
}

filter_amixer_output()
{
	sed \
		-e '/Unable to find simple control/d' \
		-e '/Unknown playback setup/d' \
		-e '/^$/d'
}

# The following functions try to set many controls.
# No card has all the controls and so some of the attempts are bound to fail.
# Because of this, the functions can't return useful status values.

# $1 <control>
# $2 <level>
# $CARDOPT
unmute_and_set_level()
{
	{ [ "$2" ] && [ "$CARDOPT" ] ; } || bugout
	amixer $CARDOPT -q set "$1" "$2" unmute 2>&1 | filter_amixer_output || :
	return 0
}

# $1 <control>
# $CARDOPT
mute_and_zero_level()
{
	{ [ "$1" ] && [ "$CARDOPT" ] ; } || bugout
	amixer $CARDOPT -q set "$1" "0%" mute 2>&1 | filter_amixer_output || :
	return 0
}

# $1 <control>
# $2 "on" | "off"
# $CARDOPT
switch_control()
{
	{ [ "$2" ] && [ "$CARDOPT" ] ; } || bugout
	amixer $CARDOPT -q set "$1" "$2" 2>&1 | filter_amixer_output || :
	return 0
}

# $1 <card ID>
sanify_levels_on_card()
{
	CARDOPT="-c $1"

	unmute_and_set_level "Master" "80%"
	unmute_and_set_level "Master Mono" "80%"   # See Bug#406047
	unmute_and_set_level "Master Digital" "80%"   # E.g., cs4237B
	unmute_and_set_level "Playback" "80%"
	unmute_and_set_level "Headphone" "70%"
	unmute_and_set_level "PCM" "80%"
	unmute_and_set_level "PCM,1" "80%"   # E.g., ess1969
	unmute_and_set_level "DAC" "80%"     # E.g., envy24, cs46xx
	unmute_and_set_level "DAC,0" "80%"   # E.g., envy24
	unmute_and_set_level "DAC,1" "80%"   # E.g., envy24
	unmute_and_set_level "Synth" "80%"
	unmute_and_set_level "CD" "80%"

	mute_and_zero_level "Mic"
	mute_and_zero_level "IEC958"         # Ubuntu #19648

	# Intel P4P800-MX  (Ubuntu bug #5813)
	switch_control "Master Playback Switch" on
	switch_control "Master Surround" on

	# Trident/YMFPCI/emu10k1:
	unmute_and_set_level "Wave" "80%"
	unmute_and_set_level "Music" "80%"
	unmute_and_set_level "AC97" "80%"

	# DRC:
	unmute_and_set_level "Dynamic Range Compression" "80%"

	# Required for HDA Intel (hda-intel):
	unmute_and_set_level "Front" "80%"
	unmute_and_set_level "Master Front" "80%"

	# Required for SB Live 7.1/24-bit (ca0106):
	unmute_and_set_level "Analog Front" "80%"

	# Required at least for Via 823x hardware on DFI K8M800-MLVF Motherboard with kernels 2.6.10-3/4 (see ubuntu #7286):
	switch_control "IEC958 Capture Monitor" off

	# Required for hardware allowing toggles for AC97 through IEC958,
	#  valid values are 0, 1, 2, 3. Needs to be set to 0 for PCM1.
	unmute_and_set_level "IEC958 Playback AC97-SPSA" "0"

	# Required for newer Via hardware (see Ubuntu #31784)
	unmute_and_set_level "VIA DXS,0" "80%"
	unmute_and_set_level "VIA DXS,1" "80%"
	unmute_and_set_level "VIA DXS,2" "80%"
	unmute_and_set_level "VIA DXS,3" "80%"

	# Required on some notebooks with ICH4:
	switch_control "Headphone Jack Sense" off
	switch_control "Line Jack Sense" off

	# Some machines need one or more of these to be on;
	# others need one or more of these to be off:
	#
	# switch_control "External Amplifier" on
	# switch_control "Audigy Analog/Digital Output Jack" on
	# switch_control "SB Live Analog/Digital Output Jack" on
	
	# D1984 -- Thinkpad T61/X61
	switch_control "Speaker" on
	switch_control "Headphone" on

	# HDA-Intel w/ "Digital" capture mixer (See Ubuntu #193823)
	unmute_and_set_level "Digital" "80%"

	# On MacBookPro5,3 and later models (See Bug#597791)
	unmute_and_set_level "Front Speaker" "80%"
	# On MacBook5,2 models (See Bug#602973)
	unmute_and_set_level "LFE" "80%"

	# On Intel 82801H (See Bug#603550)
	unmute_and_set_level "Speaker" "80%"

	return 0
}

# $1 <card ID> | "all"
sanify_levels()
{
	TTSDML_RETURNSTATUS=0
	case "$1" in
	  all)
		for CARD in $(echo_card_indices) ; do
			sanify_levels_on_card "$CARD" || TTSDML_RETURNSTATUS=1
		done
		;;
	  *)
		sanify_levels_on_card "$1" || TTSDML_RETURNSTATUS=1
		;;
	esac
	return $TTSDML_RETURNSTATUS
}

# $1 <card ID>
preinit_levels_on_card()
{
	CARDOPT="-c $1"

	# Silly dance to activate internal speakers by default on PowerMac
	# Snapper and Tumbler
	id=$(cat /proc/asound/card$1/id 2>/dev/null)
	if [ "$id" = "Snapper" -o "$id" = "Tumbler" ]; then
		switch_control "Auto Mute" off
		switch_control "PC Speaker" off
		switch_control "Auto Mute" on
	fi
}

# $1 <card ID> | "all"
preinit_levels()
{
	TTSDML_RETURNSTATUS=0
	case "$1" in
	  all)
		for CARD in $(echo_card_indices) ; do
			preinit_levels_on_card "$CARD" || TTSDML_RETURNSTATUS=1
		done
		;;
	  *)
		preinit_levels_on_card "$1" || TTSDML_RETURNSTATUS=1
		;;
	esac
	return $TTSDML_RETURNSTATUS
}

Filemanager

Name Type Size Permission Actions
alsa.conf.d Folder 0755
cards Folder 0755
ctl Folder 0755
init Folder 0755
pcm Folder 0755
topology Folder 0755
ucm Folder 0755
ucm2 Folder 0755
alsa.conf File 9.88 KB 0644
utils.sh File 4.59 KB 0644
Filemanager