initial import
git-svn-id: http://www.neo1973-germany.de/svn@206 46df4e5c-bc4e-4628-a0fc-830ba316316d
This commit is contained in:
parent
f53df0db82
commit
17ab82586b
17 changed files with 1838 additions and 0 deletions
22
fso_soundmanagement/trunk/README
Normal file
22
fso_soundmanagement/trunk/README
Normal file
|
@ -0,0 +1,22 @@
|
|||
This package adds some futeres/fixes to the FSO soundmanagement.
|
||||
|
||||
to install:
|
||||
copy all files to the neo and execute "install"
|
||||
Attention: some files will be overwritten!
|
||||
|
||||
|
||||
It adds:
|
||||
- 2 profiles: headset and headset_silent
|
||||
- a new .state file: silent.state
|
||||
- an menu for the auxbutton
|
||||
|
||||
Improvements:
|
||||
When you mute the phone in the auxmenu (don't use the profile switcher from zhone!), silent.state is loaded and the silent profile is choosen.
|
||||
If you plug in the headset, headset.state is loaded, an the profile switches to headset or headset_silent(they are the same, just to remember if the phone is muted or not)
|
||||
during a call gsmhandset.state or gsmheadset.state is loaded
|
||||
|
||||
|
||||
Known Issues:
|
||||
-the "lock-funktion" don't work yet
|
||||
-the install script will overwrite your /etc/freesmartphone/oevents/rules.yaml and some other files.
|
||||
-I don't know what happens if you plug in or remove the headset during an call
|
583
fso_soundmanagement/trunk/auxmenu/auxmenu.edc
Normal file
583
fso_soundmanagement/trunk/auxmenu/auxmenu.edc
Normal file
|
@ -0,0 +1,583 @@
|
|||
collections {
|
||||
group {
|
||||
name, "main";
|
||||
min, 480 640;
|
||||
max, 1024 768;
|
||||
|
||||
parts {
|
||||
#define COLOR_DEFAULT 30 30 30 255
|
||||
#define COLOR_CLICKED 80 80 80 255
|
||||
part {
|
||||
name, "background";
|
||||
type, RECT;
|
||||
mouse_events, 0;
|
||||
|
||||
description {
|
||||
state, "default" 0.0;
|
||||
min, 480 640;
|
||||
max, 1024 768;
|
||||
color, 200 200 200 200;
|
||||
rel1 {
|
||||
relative, 0.0 0.0;
|
||||
offset, 0 0;
|
||||
}
|
||||
rel2 {
|
||||
relative, 1.0 1.0;
|
||||
offset, -1 -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
part {
|
||||
name, "button_mute";
|
||||
type, RECT;
|
||||
mouse_events, 1;
|
||||
|
||||
description {
|
||||
state, "default" 0.0;
|
||||
min, 400 80;
|
||||
max, 400 80;
|
||||
align, 0.5 0.5;
|
||||
|
||||
color, COLOR_DEFAULT;
|
||||
|
||||
rel1 {
|
||||
relative, 0.0 0.0;
|
||||
offset, 0 0;
|
||||
}
|
||||
rel2 {
|
||||
relative, 1.0 0.15;
|
||||
offset, 0 0;
|
||||
}
|
||||
}
|
||||
description {
|
||||
state, "clicked" 0.0;
|
||||
min, 400 80;
|
||||
max, 400 80;
|
||||
align, 0.5 0.5;
|
||||
|
||||
color, COLOR_CLICKED;
|
||||
|
||||
rel1 {
|
||||
relative, 0.0 0.0;
|
||||
offset, 0 0;
|
||||
}
|
||||
rel2 {
|
||||
relative, 1.0 0.15;
|
||||
offset, 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name, "button_snapshot";
|
||||
type, RECT;
|
||||
mouse_events, 1;
|
||||
|
||||
description {
|
||||
state, "default" 0.0;
|
||||
min, 400 80;
|
||||
max, 400 80;
|
||||
align, 0.5 0.5;
|
||||
|
||||
color, COLOR_DEFAULT;
|
||||
|
||||
rel1 {
|
||||
relative, 0.0 0.15;
|
||||
offset, 0 0;
|
||||
}
|
||||
rel2 {
|
||||
relative, 1.0 0.3;
|
||||
offset, 0 0;
|
||||
}
|
||||
}
|
||||
description {
|
||||
state, "clicked" 0.0;
|
||||
min, 400 80;
|
||||
max, 400 80;
|
||||
align, 0.5 0.5;
|
||||
|
||||
color, COLOR_CLICKED;
|
||||
|
||||
rel1 {
|
||||
relative, 0.0 0.15;
|
||||
offset, 0 0;
|
||||
}
|
||||
rel2 {
|
||||
relative, 1.0 0.3;
|
||||
offset, 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name, "button_lock";
|
||||
type, RECT;
|
||||
mouse_events, 1;
|
||||
|
||||
description {
|
||||
state, "default" 0.0;
|
||||
min, 400 80;
|
||||
max, 400 80;
|
||||
align, 0.5 0.5;
|
||||
|
||||
color, COLOR_DEFAULT;
|
||||
|
||||
rel1 {
|
||||
relative, 0.0 0.3;
|
||||
offset, 0 0;
|
||||
}
|
||||
rel2 {
|
||||
relative, 1.0 0.45;
|
||||
offset, 0 0;
|
||||
}
|
||||
}
|
||||
description {
|
||||
state, "clicked" 0.0;
|
||||
min, 400 80;
|
||||
max, 400 80;
|
||||
align, 0.5 0.5;
|
||||
|
||||
color, COLOR_CLICKED;
|
||||
|
||||
rel1 {
|
||||
relative, 0.0 0.3;
|
||||
offset, 0 0;
|
||||
}
|
||||
rel2 {
|
||||
relative, 1.0 0.45;
|
||||
offset, 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name, "button_standby";
|
||||
type, RECT;
|
||||
mouse_events, 1;
|
||||
|
||||
description {
|
||||
state, "default" 0.0;
|
||||
min, 400 80;
|
||||
max, 400 80;
|
||||
align, 0.5 0.5;
|
||||
|
||||
color, COLOR_DEFAULT;
|
||||
|
||||
rel1 {
|
||||
relative, 0.0 0.45;
|
||||
offset, 0 0;
|
||||
}
|
||||
rel2 {
|
||||
relative, 1.0 0.6;
|
||||
offset, 0 0;
|
||||
}
|
||||
}
|
||||
description {
|
||||
state, "clicked" 0.0;
|
||||
min, 400 80;
|
||||
max, 400 80;
|
||||
align, 0.5 0.5;
|
||||
|
||||
color, COLOR_CLICKED;
|
||||
|
||||
rel1 {
|
||||
relative, 0.0 0.45;
|
||||
offset, 0 0;
|
||||
}
|
||||
rel2 {
|
||||
relative, 1.0 0.6;
|
||||
offset, 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name, "button_shutdown";
|
||||
type, RECT;
|
||||
mouse_events, 1;
|
||||
|
||||
description {
|
||||
state, "default" 0.0;
|
||||
min, 400 80;
|
||||
max, 400 80;
|
||||
align, 0.5 0.5;
|
||||
|
||||
color, COLOR_DEFAULT;
|
||||
|
||||
rel1 {
|
||||
relative, 0.0 0.6;
|
||||
offset, 0 0;
|
||||
}
|
||||
rel2 {
|
||||
relative, 1.0 0.75;
|
||||
offset, 0 0;
|
||||
}
|
||||
}
|
||||
description {
|
||||
state, "clicked" 0.0;
|
||||
min, 400 80;
|
||||
max, 400 80;
|
||||
align, 0.5 0.5;
|
||||
|
||||
color, COLOR_CLICKED;
|
||||
|
||||
rel1 {
|
||||
relative, 0.0 0.6;
|
||||
offset, 0 0;
|
||||
}
|
||||
rel2 {
|
||||
relative, 1.0 0.75;
|
||||
offset, 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name, "button_exit";
|
||||
type, RECT;
|
||||
mouse_events, 1;
|
||||
|
||||
description {
|
||||
state, "default" 0.0;
|
||||
min, 400 80;
|
||||
max, 400 80;
|
||||
align, 0.5 0.5;
|
||||
|
||||
color, COLOR_DEFAULT;
|
||||
|
||||
rel1 {
|
||||
relative, 0.0 0.75;
|
||||
offset, 0 0;
|
||||
}
|
||||
rel2 {
|
||||
relative, 1.0 1.0;
|
||||
offset, 0 0;
|
||||
}
|
||||
}
|
||||
description {
|
||||
state, "clicked" 0.0;
|
||||
min, 400 80;
|
||||
max, 400 80;
|
||||
align, 0.5 0.5;
|
||||
|
||||
color, COLOR_CLICKED;
|
||||
|
||||
rel1 {
|
||||
relative, 0.0 0.75;
|
||||
offset, 0 0;
|
||||
}
|
||||
rel2 {
|
||||
relative, 1.0 1.0;
|
||||
offset, 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name, "text_mute";
|
||||
type, TEXT;
|
||||
mouse_events, 0;
|
||||
|
||||
description {
|
||||
state, "default" 0.0;
|
||||
|
||||
rel1 {
|
||||
|
||||
relative, 0.0 0.0;
|
||||
offset, 0 0;
|
||||
to, "button_mute";
|
||||
}
|
||||
rel2 {
|
||||
relative, 1.0 1.0;
|
||||
offset, -1 -1;
|
||||
to, "button_mute";
|
||||
}
|
||||
text {
|
||||
text, "(UN-)MUTE";
|
||||
font, "sans serif";
|
||||
size, 26;
|
||||
align, 0.5 0.5;
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name, "text_snapshot";
|
||||
type, TEXT;
|
||||
mouse_events, 0;
|
||||
|
||||
description {
|
||||
state, "default" 0.0;
|
||||
|
||||
rel1 {
|
||||
|
||||
relative, 0.0 0.0;
|
||||
offset, 0 0;
|
||||
to, "button_snapshot";
|
||||
}
|
||||
rel2 {
|
||||
relative, 1.0 1.0;
|
||||
offset, -1 -1;
|
||||
to, "button_snapshot";
|
||||
}
|
||||
text {
|
||||
text, "SNAPSHOT";
|
||||
font, "sans serif";
|
||||
size, 26;
|
||||
align, 0.5 0.5;
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name, "text_lock";
|
||||
type, TEXT;
|
||||
mouse_events, 0;
|
||||
|
||||
description {
|
||||
state, "default" 0.0;
|
||||
|
||||
rel1 {
|
||||
|
||||
relative, 0.0 0.0;
|
||||
offset, 0 0;
|
||||
to, "button_lock";
|
||||
}
|
||||
rel2 {
|
||||
relative, 1.0 1.0;
|
||||
offset, -1 -1;
|
||||
to, "button_lock";
|
||||
}
|
||||
text {
|
||||
text, "LOCK";
|
||||
font, "sans serif";
|
||||
size, 26;
|
||||
align, 0.5 0.5;
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name, "text_standby";
|
||||
type, TEXT;
|
||||
mouse_events, 0;
|
||||
|
||||
description {
|
||||
state, "default" 0.0;
|
||||
|
||||
rel1 {
|
||||
|
||||
relative, 0.0 0.0;
|
||||
offset, 0 0;
|
||||
to, "button_standby";
|
||||
}
|
||||
rel2 {
|
||||
relative, 1.0 1.0;
|
||||
offset, -1 -1;
|
||||
to, "button_standby";
|
||||
}
|
||||
text {
|
||||
text, "STANDBY";
|
||||
font, "sans serif";
|
||||
size, 26;
|
||||
align, 0.5 0.5;
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name, "text_shutdown";
|
||||
type, TEXT;
|
||||
mouse_events, 0;
|
||||
|
||||
description {
|
||||
state, "default" 0.0;
|
||||
|
||||
rel1 {
|
||||
|
||||
relative, 0.0 0.0;
|
||||
offset, 0 0;
|
||||
to, "button_shutdown";
|
||||
}
|
||||
rel2 {
|
||||
relative, 1.0 1.0;
|
||||
offset, -1 -1;
|
||||
to, "button_shutdown";
|
||||
}
|
||||
text {
|
||||
text, "SHUTDOWN";
|
||||
font, "sans serif";
|
||||
size, 26;
|
||||
align, 0.5 0.5;
|
||||
}
|
||||
}
|
||||
}
|
||||
part {
|
||||
name, "text_exit";
|
||||
type, TEXT;
|
||||
mouse_events, 0;
|
||||
|
||||
description {
|
||||
state, "default" 0.0;
|
||||
|
||||
rel1 {
|
||||
|
||||
relative, 0.0 0.0;
|
||||
offset, 0 0;
|
||||
to, "button_exit";
|
||||
}
|
||||
rel2 {
|
||||
relative, 1.0 1.0;
|
||||
offset, -1 -1;
|
||||
to, "button_exit";
|
||||
}
|
||||
text {
|
||||
text, "EXIT";
|
||||
font, "sans serif";
|
||||
size, 26;
|
||||
align, 0.5 0.5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} /* Close Parts */
|
||||
|
||||
programs {
|
||||
program {
|
||||
name, "mute_click";
|
||||
signal, "mouse,down,1";
|
||||
source, "button_mute";
|
||||
action, STATE_SET "clicked" 0.0;
|
||||
target, "button_mute";
|
||||
}
|
||||
|
||||
program {
|
||||
name, "mute_unclick";
|
||||
signal, "mouse,up,1";
|
||||
source, "button_mute";
|
||||
action, STATE_SET "default" 0.0;
|
||||
target, "button_mute";
|
||||
}
|
||||
|
||||
program {
|
||||
name, "mute_signal";
|
||||
signal, "mouse,down,1";
|
||||
source, "button_mute";
|
||||
action, SIGNAL_EMIT "mute" "button";
|
||||
in, 0.0 0.0;
|
||||
}
|
||||
//snapshot
|
||||
program {
|
||||
name, "snapshot_click";
|
||||
signal, "mouse,down,1";
|
||||
source, "button_snapshot";
|
||||
action, STATE_SET "clicked" 0.0;
|
||||
target, "button_snapshot";
|
||||
}
|
||||
|
||||
program {
|
||||
name, "snapshot_unclick";
|
||||
signal, "mouse,up,1";
|
||||
source, "button_snapshot";
|
||||
action, STATE_SET "default" 0.0;
|
||||
target, "button_snapshot";
|
||||
}
|
||||
|
||||
program {
|
||||
name, "snapshot_signal";
|
||||
signal, "mouse,down,1";
|
||||
source, "button_snapshot";
|
||||
action, SIGNAL_EMIT "snapshot" "button";
|
||||
in, 0.0 0.0;
|
||||
}
|
||||
//lock
|
||||
program {
|
||||
name, "lock_click";
|
||||
signal, "mouse,down,1";
|
||||
source, "button_lock";
|
||||
action, STATE_SET "clicked" 0.0;
|
||||
target, "button_lock";
|
||||
}
|
||||
|
||||
program {
|
||||
name, "lock_unclick";
|
||||
signal, "mouse,up,1";
|
||||
source, "button_lock";
|
||||
action, STATE_SET "default" 0.0;
|
||||
target, "button_lock";
|
||||
}
|
||||
|
||||
program {
|
||||
name, "lock_signal";
|
||||
signal, "mouse,down,1";
|
||||
source, "button_lock";
|
||||
action, SIGNAL_EMIT "lock" "button";
|
||||
in, 0.0 0.0;
|
||||
}
|
||||
//standby
|
||||
program {
|
||||
name, "standby_click";
|
||||
signal, "mouse,down,1";
|
||||
source, "button_standby";
|
||||
action, STATE_SET "clicked" 0.0;
|
||||
target, "button_standby";
|
||||
}
|
||||
|
||||
program {
|
||||
name, "standby_unclick";
|
||||
signal, "mouse,up,1";
|
||||
source, "button_standby";
|
||||
action, STATE_SET "default" 0.0;
|
||||
target, "button_standby";
|
||||
}
|
||||
|
||||
program {
|
||||
name, "standby_signal";
|
||||
signal, "mouse,down,1";
|
||||
source, "button_standby";
|
||||
action, SIGNAL_EMIT "standby" "button";
|
||||
in, 0.0 0.0;
|
||||
}
|
||||
//shutdown
|
||||
program {
|
||||
name, "shutdown_click";
|
||||
signal, "mouse,down,1";
|
||||
source, "button_shutdown";
|
||||
action, STATE_SET "clicked" 0.0;
|
||||
target, "button_shutdown";
|
||||
}
|
||||
|
||||
program {
|
||||
name, "shutdown_unclick";
|
||||
signal, "mouse,up,1";
|
||||
source, "button_shutdown";
|
||||
action, STATE_SET "default" 0.0;
|
||||
target, "button_shutdown";
|
||||
}
|
||||
|
||||
program {
|
||||
name, "shutdown_signal";
|
||||
signal, "mouse,down,1";
|
||||
source, "button_shutdown";
|
||||
action, SIGNAL_EMIT "shutdown" "button";
|
||||
in, 0.0 0.0;
|
||||
}
|
||||
//exit
|
||||
program {
|
||||
name, "exit_click";
|
||||
signal, "mouse,down,1";
|
||||
source, "button_exit";
|
||||
action, STATE_SET "clicked" 0.0;
|
||||
target, "button_exit";
|
||||
}
|
||||
|
||||
program {
|
||||
name, "exit_unclick";
|
||||
signal, "mouse,up,1";
|
||||
source, "button_exit";
|
||||
action, STATE_SET "default" 0.0;
|
||||
target, "button_exit";
|
||||
}
|
||||
|
||||
program {
|
||||
name, "exit_signal";
|
||||
signal, "mouse,down,1";
|
||||
source, "button_exit";
|
||||
action, SIGNAL_EMIT "exit" "button";
|
||||
in, 0.0 0.0;
|
||||
}
|
||||
|
||||
} /* Close Prog */
|
||||
} /* Close Group */
|
||||
} /* Close Coll */
|
BIN
fso_soundmanagement/trunk/auxmenu/auxmenu.edj
Normal file
BIN
fso_soundmanagement/trunk/auxmenu/auxmenu.edj
Normal file
Binary file not shown.
105
fso_soundmanagement/trunk/auxmenu/auxmenu.py
Normal file
105
fso_soundmanagement/trunk/auxmenu/auxmenu.py
Normal file
|
@ -0,0 +1,105 @@
|
|||
#!/usr/bin/python
|
||||
'''
|
||||
authors: Pau1us <paulus.mail@oleco.net>
|
||||
license: gpl v2 or later
|
||||
auxmenu is a small menu to mute the phone, take screenshots, lock the display, send to standby and shutdown. It is intended to appear, if AUX is pressed.
|
||||
'''
|
||||
|
||||
import ecore
|
||||
import ecore.evas
|
||||
import edje
|
||||
import sys
|
||||
import os
|
||||
import e_dbus
|
||||
import time
|
||||
from dbus import SystemBus, Interface
|
||||
|
||||
|
||||
if ecore.evas.engine_type_supported_get("software_x11_16"):
|
||||
f = ecore.evas.SoftwareX11_16
|
||||
else:
|
||||
print "warning: x11-16 is not supported, fallback to x11"
|
||||
f = ecore.evas.SoftwareX11
|
||||
ee = f(w=640, h=480)
|
||||
ee.fullscreen = 1
|
||||
|
||||
|
||||
# Load and setup UI
|
||||
ee.title = "auxmenu"
|
||||
ee.name_class = ("auxmenu", "auxmenu")
|
||||
canvas = ee.evas
|
||||
edje_file = os.path.join(os.path.dirname(sys.argv[0]), "auxmenu.edj")
|
||||
|
||||
try:
|
||||
edje_obj = edje.Edje(canvas, file=edje_file, group="main")
|
||||
except Exception, e: # should be EdjeLoadError, but it's wrong on python2.5
|
||||
raise SystemExit("Failed to load Edje file: %s" % edje_file)
|
||||
|
||||
# resize edje to fit our window, show and remember it for later use
|
||||
edje_obj.size = canvas.size
|
||||
edje_obj.show()
|
||||
ee.data["edje"] = edje_obj
|
||||
|
||||
|
||||
# Setup callbacks for resize, keydown and selected item
|
||||
def resize_cb(ee):
|
||||
r = ee.evas.rect
|
||||
ee.data["edje"].size = r.size
|
||||
|
||||
ee.callback_resize = resize_cb
|
||||
|
||||
|
||||
class auxmenuclass:
|
||||
def __init__(self, edje_obj):
|
||||
print "init"
|
||||
#DBus:
|
||||
self.systembus=systembus = SystemBus(mainloop=e_dbus.DBusEcoreMainLoop())
|
||||
self.odeviced_proxy = self.systembus.get_object('org.freesmartphone.oeventsd', '/org/freesmartphone/Preferences')
|
||||
self.Preferences_iface = Interface(self.odeviced_proxy, 'org.freesmartphone.Preferences')
|
||||
self.profile = self.Preferences_iface.GetProfile()
|
||||
if self.profile == "silent" or self.profile == "headset_silent":
|
||||
edje_obj.part_text_set("text_mute", "UNMUTE")
|
||||
else:
|
||||
edje_obj.part_text_set("text_mute", "MUTE")
|
||||
|
||||
def button_pressed(self, edje_obj, signal, source):
|
||||
if signal == "mute":
|
||||
print "mute"
|
||||
self.mute()
|
||||
elif signal == "snapshot":
|
||||
print "snapshot"
|
||||
os.system("gpe-scap &")
|
||||
elif signal == "lock":
|
||||
print "lock"
|
||||
elif signal == "standby":
|
||||
print "standby"
|
||||
os.system("apm -s")
|
||||
elif signal == "shutdown":
|
||||
print "shutdown"
|
||||
os.system("halt")
|
||||
ecore.main_loop_quit()
|
||||
def mute(self):
|
||||
if self.profile == "default":
|
||||
self.Preferences_iface.SetProfile("silent")
|
||||
os.system("alsactl restore -f /usr/share/openmoko/scenarios/silent.state")
|
||||
elif self.profile == "headset":
|
||||
self.Preferences_iface.SetProfile("headset_silent")
|
||||
os.system("alsactl restore -f /usr/share/openmoko/scenarios/headset.state")
|
||||
elif self.profile == "silent":
|
||||
self.Preferences_iface.SetProfile("default")
|
||||
os.system("alsactl restore -f /usr/share/openmoko/scenarios/stereoout.state")
|
||||
elif self.profile == "headset_silent":
|
||||
self.Preferences_iface.SetProfile("headset")
|
||||
os.system("alsactl restore -f /usr/share/openmoko/scenarios/headset.state")
|
||||
|
||||
menu = auxmenuclass(edje_obj)
|
||||
|
||||
edje_obj.signal_callback_add("*", "button", menu.button_pressed)
|
||||
|
||||
|
||||
|
||||
# Give focus to object, show window and enter event loop
|
||||
edje_obj.focus = True
|
||||
ee.show()
|
||||
|
||||
ecore.main_loop_begin()
|
6
fso_soundmanagement/trunk/auxmenu/auxmenu.sh
Executable file
6
fso_soundmanagement/trunk/auxmenu/auxmenu.sh
Executable file
|
@ -0,0 +1,6 @@
|
|||
#!/bin/sh
|
||||
export DISPLAY=:0
|
||||
cd /usr/share/auxmenu
|
||||
python auxmenu.py &
|
||||
|
||||
exit 1
|
19
fso_soundmanagement/trunk/install
Normal file
19
fso_soundmanagement/trunk/install
Normal file
|
@ -0,0 +1,19 @@
|
|||
#!/bin/sh
|
||||
|
||||
#copy *.state files from ./scenarios/ to /usr/share/openmoko/scenarios
|
||||
|
||||
cp scenarios/* /usr/share/openmoko/scenarios/
|
||||
cp oevents/* /etc/freesmartphone/oevents/
|
||||
cp phone/* /etc/freesmartphone/opreferences/conf/phone/
|
||||
cp profiles/* /etc/freesmartphone/opreferences/conf/profiles/
|
||||
cp rules/* /etc/freesmartphone/opreferences/conf/rules/
|
||||
|
||||
#auxmenu:
|
||||
if [ 'ls /usr/share | grep -c "auxmenu"' = "0" ]; then
|
||||
mkdir /usr/share/auxmenu
|
||||
fi
|
||||
cp auxmenu/auxmenu.py /usr/share/auxmenu/auxmenu.py
|
||||
cp auxmenu/auxmenu.edj /usr/share/auxmenu/auxmenu.edj
|
||||
cp auxmenu/auxmenu.sh /usr/bin/auxmenu
|
||||
|
||||
exit 1
|
155
fso_soundmanagement/trunk/oevents/rules.yaml
Normal file
155
fso_soundmanagement/trunk/oevents/rules.yaml
Normal file
|
@ -0,0 +1,155 @@
|
|||
|
||||
# This file is in YAML format (http://www.yaml.org/)
|
||||
# We define a list of rules that will be automatically loaded
|
||||
# When we start the oevents module of the framework daemon
|
||||
#
|
||||
# The attributes of a rule are :
|
||||
# - trigger : trigger object
|
||||
# - filters : filters object or list of filters objects
|
||||
# - actions : action object or list of actions objects
|
||||
#
|
||||
# We define the following functions :
|
||||
# - CallStatus() : create a trigger object activated on a call status event
|
||||
# - PowerStatus() : create a trigger object activated on a power status event
|
||||
# - HasAttr(name, value) : create a filter that accept signal with a given attribute
|
||||
# - Not(filter) : create a neg filter
|
||||
# - PlaySound(file) : Action that starts to play an audio file
|
||||
# - StopSound(file) : Action that stop an audio file
|
||||
# - SetScenario(name) : Action that sets an audio scenario
|
||||
# - StartVibration
|
||||
# - StopVibration
|
||||
# - RingTone(cmd) : cmd can be 'start' or 'stop'
|
||||
# - Time(hour, min) : create a trigger activated at the given time
|
||||
# - Debug(msg) : Action that prints a debug message (only for debuging)
|
||||
-
|
||||
trigger: Time(12,29)
|
||||
actions: Debug("A Test")
|
||||
-
|
||||
#
|
||||
# Call -> Audio Scenario Handling
|
||||
#
|
||||
trigger: IncomingMessage()
|
||||
actions: MessageTone(play)
|
||||
|
||||
-
|
||||
while: CallListContains("incoming")
|
||||
filters: Not(CallListContains("active"))
|
||||
actions:
|
||||
- RingTone()
|
||||
- SetDisplayBrightness("pcf50633_bl", 90)
|
||||
-
|
||||
name: 'handset'
|
||||
while: CallStatus()
|
||||
filters: Or(HasAttr(status, "outgoing"), HasAttr(status, "active"))
|
||||
actions: SetScenario(gsmhandset)
|
||||
-
|
||||
name: 'headset'
|
||||
while: CallStatus()
|
||||
filters: Or(HasAttr(status, "outgoing"), HasAttr(status, "active"))
|
||||
actions: SetScenario(gsmheadset)
|
||||
-
|
||||
while: PowerStatus()
|
||||
filters: HasAttr(status, "charging")
|
||||
actions: SetLed("gta02_power_orange", "light")
|
||||
-
|
||||
while: PowerStatus()
|
||||
filters: HasAttr(status, "critical")
|
||||
actions: SetLed("gta02_power_orange", "blink")
|
||||
-
|
||||
while: PowerStatus()
|
||||
filters: HasAttr(status, "full")
|
||||
actions: SetLed("gta02_power_blue", "light")
|
||||
-
|
||||
trigger: PowerStatus()
|
||||
filters: HasAttr(status, "empty")
|
||||
actions: Command('poweroff')
|
||||
|
||||
#
|
||||
# Headset Audio Scenario Support
|
||||
#
|
||||
-
|
||||
name: 'default'
|
||||
trigger: InputEvent()
|
||||
filters:
|
||||
- HasAttr(switch, "HEADSET")
|
||||
- HasAttr(event, "pressed")
|
||||
actions:
|
||||
- SetScenario(headset)
|
||||
- SetProfile(headset)
|
||||
-
|
||||
name: 'silent'
|
||||
trigger: InputEvent()
|
||||
filters:
|
||||
- HasAttr(switch, "HEADSET")
|
||||
- HasAttr(event, "pressed")
|
||||
actions:
|
||||
- SetScenario(headset)
|
||||
- SetProfile(headset_silent)
|
||||
-
|
||||
name: 'headset'
|
||||
trigger: InputEvent()
|
||||
filters:
|
||||
- HasAttr(switch, "HEADSET")
|
||||
- HasAttr(event, "released")
|
||||
actions:
|
||||
- SetScenario(stereoout)
|
||||
- SetProfile(default)
|
||||
-
|
||||
name: 'headset_silent'
|
||||
trigger: InputEvent()
|
||||
filters:
|
||||
- HasAttr(switch, "HEADSET")
|
||||
- HasAttr(event, "released")
|
||||
actions:
|
||||
- SetScenario(silent)
|
||||
- SetProfile(silent)
|
||||
|
||||
#
|
||||
# A few testing rules :
|
||||
#
|
||||
|
||||
# This rule will only be enabled in silent mode
|
||||
# According to the preferences rules conf files.
|
||||
-
|
||||
name: 'test-rule'
|
||||
trigger: IdleState()
|
||||
filters: HasAttr(status, "busy")
|
||||
actions: Debug("Hello This is a test")
|
||||
-
|
||||
trigger: Test("test")
|
||||
actions: Debug("trigger test")
|
||||
-
|
||||
while: Test("test2")
|
||||
actions: RingTone()
|
||||
-
|
||||
|
||||
#
|
||||
# Idleness Brightness Handling
|
||||
#
|
||||
trigger: IdleState()
|
||||
filters: HasAttr(status, "busy")
|
||||
actions: SetDisplayBrightness("pcf50633_bl", 90)
|
||||
-
|
||||
trigger: IdleState()
|
||||
filters: HasAttr(status, "idle_dim")
|
||||
actions: SetDisplayBrightness("pcf50633_bl", 20)
|
||||
-
|
||||
trigger: IdleState()
|
||||
filters: HasAttr(status, "idle_prelock")
|
||||
actions: SetDisplayBrightness("pcf50633_bl", 0)
|
||||
-
|
||||
trigger: InputEvent()
|
||||
filters:
|
||||
- HasAttr(switch, "USB")
|
||||
- HasAttr(event, "pressed")
|
||||
actions: Command('pybat')
|
||||
-
|
||||
trigger: InputEvent()
|
||||
|
||||
filters:
|
||||
- HasAttr(switch, "AUX")
|
||||
- HasAttr(event, "pressed")
|
||||
|
||||
actions: Command('auxmenu')
|
||||
|
||||
|
8
fso_soundmanagement/trunk/phone/default.yaml
Normal file
8
fso_soundmanagement/trunk/phone/default.yaml
Normal file
|
@ -0,0 +1,8 @@
|
|||
|
||||
|
||||
ring-tone: "Arkanoid_PSID.sid"
|
||||
ring-volume: 10
|
||||
|
||||
message-tone: "notify_message.mp3"
|
||||
message-volume: 10
|
||||
|
8
fso_soundmanagement/trunk/phone/headset.yaml
Normal file
8
fso_soundmanagement/trunk/phone/headset.yaml
Normal file
|
@ -0,0 +1,8 @@
|
|||
|
||||
|
||||
ring-tone: "Arkanoid_PSID.sid"
|
||||
ring-volume: 10
|
||||
|
||||
message-tone: "notify_message.mp3"
|
||||
message-volume: 10
|
||||
|
8
fso_soundmanagement/trunk/phone/headset_silent.yaml
Normal file
8
fso_soundmanagement/trunk/phone/headset_silent.yaml
Normal file
|
@ -0,0 +1,8 @@
|
|||
|
||||
|
||||
ring-tone: "Arkanoid_PSID.sid"
|
||||
ring-volume: 10
|
||||
|
||||
message-tone: "notify_message.mp3"
|
||||
message-volume: 10
|
||||
|
7
fso_soundmanagement/trunk/phone/silent.yaml
Normal file
7
fso_soundmanagement/trunk/phone/silent.yaml
Normal file
|
@ -0,0 +1,7 @@
|
|||
|
||||
# Those values are just here to test the preferences service,
|
||||
# They are not actually used yet
|
||||
|
||||
ring-volume: 0
|
||||
message-volume: 0
|
||||
|
5
fso_soundmanagement/trunk/profiles/default.yaml
Normal file
5
fso_soundmanagement/trunk/profiles/default.yaml
Normal file
|
@ -0,0 +1,5 @@
|
|||
profiles:
|
||||
- default
|
||||
- silent
|
||||
- headset
|
||||
- headset_silent
|
7
fso_soundmanagement/trunk/rules/default.yaml
Normal file
7
fso_soundmanagement/trunk/rules/default.yaml
Normal file
|
@ -0,0 +1,7 @@
|
|||
|
||||
|
||||
enabled-rules:
|
||||
- "" # unamed rules
|
||||
- handset
|
||||
- default
|
||||
|
6
fso_soundmanagement/trunk/rules/headset.yaml
Normal file
6
fso_soundmanagement/trunk/rules/headset.yaml
Normal file
|
@ -0,0 +1,6 @@
|
|||
|
||||
|
||||
enabled-rules:
|
||||
- "" # unamed rules
|
||||
- headset
|
||||
- headset_default
|
6
fso_soundmanagement/trunk/rules/headset_silent.yaml
Normal file
6
fso_soundmanagement/trunk/rules/headset_silent.yaml
Normal file
|
@ -0,0 +1,6 @@
|
|||
|
||||
|
||||
enabled-rules:
|
||||
- "" # unamed rules
|
||||
- headset
|
||||
- headset_silent
|
8
fso_soundmanagement/trunk/rules/silent.yaml
Normal file
8
fso_soundmanagement/trunk/rules/silent.yaml
Normal file
|
@ -0,0 +1,8 @@
|
|||
|
||||
|
||||
enabled-rules:
|
||||
- "" # unamed rules
|
||||
- test-rule
|
||||
- silent
|
||||
- handset
|
||||
|
885
fso_soundmanagement/trunk/scenarios/silent.state
Normal file
885
fso_soundmanagement/trunk/scenarios/silent.state
Normal file
|
@ -0,0 +1,885 @@
|
|||
state.neo1973gta02 {
|
||||
control.1 {
|
||||
comment.access 'read write'
|
||||
comment.type INTEGER
|
||||
comment.count 2
|
||||
comment.range '0 - 255'
|
||||
iface MIXER
|
||||
name 'PCM Volume'
|
||||
value.0 0
|
||||
value.1 0
|
||||
}
|
||||
control.2 {
|
||||
comment.access 'read write'
|
||||
comment.type INTEGER
|
||||
comment.count 2
|
||||
comment.range '0 - 255'
|
||||
iface MIXER
|
||||
name 'ADC Capture Volume'
|
||||
value.0 195
|
||||
value.1 195
|
||||
}
|
||||
control.3 {
|
||||
comment.access 'read write'
|
||||
comment.type INTEGER
|
||||
comment.count 2
|
||||
comment.range '0 - 127'
|
||||
iface MIXER
|
||||
name 'Headphone Playback Volume'
|
||||
value.0 0
|
||||
value.1 0
|
||||
}
|
||||
control.4 {
|
||||
comment.access 'read write'
|
||||
comment.type INTEGER
|
||||
comment.count 2
|
||||
comment.range '0 - 127'
|
||||
iface MIXER
|
||||
name 'Speaker Playback Volume'
|
||||
value.0 0
|
||||
value.1 0
|
||||
}
|
||||
control.5 {
|
||||
comment.access 'read write'
|
||||
comment.type INTEGER
|
||||
comment.count 1
|
||||
comment.range '0 - 127'
|
||||
iface MIXER
|
||||
name 'Mono Playback Volume'
|
||||
value 121
|
||||
}
|
||||
control.6 {
|
||||
comment.access 'read write'
|
||||
comment.type INTEGER
|
||||
comment.count 2
|
||||
comment.range '0 - 7'
|
||||
iface MIXER
|
||||
name 'Bypass Playback Volume'
|
||||
value.0 2
|
||||
value.1 2
|
||||
}
|
||||
control.7 {
|
||||
comment.access 'read write'
|
||||
comment.type INTEGER
|
||||
comment.count 2
|
||||
comment.range '0 - 7'
|
||||
iface MIXER
|
||||
name 'Sidetone Playback Volume'
|
||||
value.0 2
|
||||
value.1 2
|
||||
}
|
||||
control.8 {
|
||||
comment.access 'read write'
|
||||
comment.type INTEGER
|
||||
comment.count 2
|
||||
comment.range '0 - 7'
|
||||
iface MIXER
|
||||
name 'Voice Playback Volume'
|
||||
value.0 2
|
||||
value.1 2
|
||||
}
|
||||
control.9 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 2
|
||||
iface MIXER
|
||||
name 'Headphone Playback ZC Switch'
|
||||
value.0 false
|
||||
value.1 false
|
||||
}
|
||||
control.10 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 2
|
||||
iface MIXER
|
||||
name 'Speaker Playback ZC Switch'
|
||||
value.0 false
|
||||
value.1 false
|
||||
}
|
||||
control.11 {
|
||||
comment.access 'read write'
|
||||
comment.type INTEGER
|
||||
comment.count 1
|
||||
comment.range '0 - 7'
|
||||
iface MIXER
|
||||
name 'Mono Bypass Playback Volume'
|
||||
value 2
|
||||
}
|
||||
control.12 {
|
||||
comment.access 'read write'
|
||||
comment.type INTEGER
|
||||
comment.count 1
|
||||
comment.range '0 - 7'
|
||||
iface MIXER
|
||||
name 'Mono Sidetone Playback Volume'
|
||||
value 2
|
||||
}
|
||||
control.13 {
|
||||
comment.access 'read write'
|
||||
comment.type INTEGER
|
||||
comment.count 1
|
||||
comment.range '0 - 7'
|
||||
iface MIXER
|
||||
name 'Mono Voice Playback Volume'
|
||||
value 2
|
||||
}
|
||||
control.14 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'Mono Playback ZC Switch'
|
||||
value false
|
||||
}
|
||||
control.15 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 'Linear Control'
|
||||
comment.item.1 'Adaptive Boost'
|
||||
iface MIXER
|
||||
name 'Bass Boost'
|
||||
value 'Linear Control'
|
||||
}
|
||||
control.16 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 '130Hz @ 48kHz'
|
||||
comment.item.1 '200Hz @ 48kHz'
|
||||
comment.item.2 '100Hz @ 16kHz'
|
||||
comment.item.3 '400Hz @ 48kHz'
|
||||
comment.item.4 '100Hz @ 8kHz'
|
||||
comment.item.5 '200Hz @ 8kHz'
|
||||
iface MIXER
|
||||
name 'Bass Filter'
|
||||
value '130Hz @ 48kHz'
|
||||
}
|
||||
control.17 {
|
||||
comment.access 'read write'
|
||||
comment.type INTEGER
|
||||
comment.count 1
|
||||
comment.range '0 - 15'
|
||||
iface MIXER
|
||||
name 'Bass Volume'
|
||||
value 0
|
||||
}
|
||||
control.18 {
|
||||
comment.access 'read write'
|
||||
comment.type INTEGER
|
||||
comment.count 1
|
||||
comment.range '0 - 15'
|
||||
iface MIXER
|
||||
name 'Treble Volume'
|
||||
value 0
|
||||
}
|
||||
control.19 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 '8kHz'
|
||||
comment.item.1 '4kHz'
|
||||
iface MIXER
|
||||
name 'Treble Cut-off'
|
||||
value '8kHz'
|
||||
}
|
||||
control.20 {
|
||||
comment.access 'read write'
|
||||
comment.type INTEGER
|
||||
comment.count 2
|
||||
comment.range '0 - 7'
|
||||
iface MIXER
|
||||
name 'Sidetone Capture Volume'
|
||||
value.0 2
|
||||
value.1 2
|
||||
}
|
||||
control.21 {
|
||||
comment.access 'read write'
|
||||
comment.type INTEGER
|
||||
comment.count 1
|
||||
comment.range '0 - 7'
|
||||
iface MIXER
|
||||
name 'Voice Sidetone Capture Volume'
|
||||
value 2
|
||||
}
|
||||
control.22 {
|
||||
comment.access 'read write'
|
||||
comment.type INTEGER
|
||||
comment.count 2
|
||||
comment.range '0 - 63'
|
||||
iface MIXER
|
||||
name 'Capture Volume'
|
||||
value.0 23
|
||||
value.1 23
|
||||
}
|
||||
control.23 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 2
|
||||
iface MIXER
|
||||
name 'Capture ZC Switch'
|
||||
value.0 false
|
||||
value.1 false
|
||||
}
|
||||
control.24 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 2
|
||||
iface MIXER
|
||||
name 'Capture Switch'
|
||||
value.0 false
|
||||
value.1 false
|
||||
}
|
||||
control.25 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 '3.4Hz @ 48kHz'
|
||||
comment.item.1 '82Hz @ 16k'
|
||||
comment.item.2 '82Hz @ 8kHz'
|
||||
comment.item.3 '170Hz @ 8kHz'
|
||||
iface MIXER
|
||||
name 'Capture Filter Select'
|
||||
value '3.4Hz @ 48kHz'
|
||||
}
|
||||
control.26 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 HiFi
|
||||
comment.item.1 Voice
|
||||
iface MIXER
|
||||
name 'Capture Filter Cut-off'
|
||||
value HiFi
|
||||
}
|
||||
control.27 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'Capture Filter Switch'
|
||||
value true
|
||||
}
|
||||
control.28 {
|
||||
comment.access 'read write'
|
||||
comment.type INTEGER
|
||||
comment.count 1
|
||||
comment.range '0 - 7'
|
||||
iface MIXER
|
||||
name 'ALC Capture Target Volume'
|
||||
value 3
|
||||
}
|
||||
control.29 {
|
||||
comment.access 'read write'
|
||||
comment.type INTEGER
|
||||
comment.count 1
|
||||
comment.range '0 - 7'
|
||||
iface MIXER
|
||||
name 'ALC Capture Max Volume'
|
||||
value 7
|
||||
}
|
||||
control.30 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 Off
|
||||
comment.item.1 Right
|
||||
comment.item.2 Left
|
||||
comment.item.3 Stereo
|
||||
iface MIXER
|
||||
name 'ALC Capture Function'
|
||||
value Off
|
||||
}
|
||||
control.31 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'ALC Capture ZC Switch'
|
||||
value false
|
||||
}
|
||||
control.32 {
|
||||
comment.access 'read write'
|
||||
comment.type INTEGER
|
||||
comment.count 1
|
||||
comment.range '0 - 15'
|
||||
iface MIXER
|
||||
name 'ALC Capture Hold Time'
|
||||
value 15
|
||||
}
|
||||
control.33 {
|
||||
comment.access 'read write'
|
||||
comment.type INTEGER
|
||||
comment.count 1
|
||||
comment.range '0 - 15'
|
||||
iface MIXER
|
||||
name 'ALC Capture Decay Time'
|
||||
value 12
|
||||
}
|
||||
control.34 {
|
||||
comment.access 'read write'
|
||||
comment.type INTEGER
|
||||
comment.count 1
|
||||
comment.range '0 - 15'
|
||||
iface MIXER
|
||||
name 'ALC Capture Attack Time'
|
||||
value 2
|
||||
}
|
||||
control.35 {
|
||||
comment.access 'read write'
|
||||
comment.type INTEGER
|
||||
comment.count 1
|
||||
comment.range '0 - 31'
|
||||
iface MIXER
|
||||
name 'ALC Capture NG Threshold'
|
||||
value 0
|
||||
}
|
||||
control.36 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 'Constant PGA Gain'
|
||||
comment.item.1 'Mute ADC Output'
|
||||
iface MIXER
|
||||
name 'ALC Capture NG Type'
|
||||
value 'Constant PGA Gain'
|
||||
}
|
||||
control.37 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'ALC Capture NG Switch'
|
||||
value false
|
||||
}
|
||||
control.38 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 Capture
|
||||
comment.item.1 Playback
|
||||
iface MIXER
|
||||
name '3D Function'
|
||||
value Capture
|
||||
}
|
||||
control.39 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 '2.2kHz'
|
||||
comment.item.1 '1.5kHz'
|
||||
iface MIXER
|
||||
name '3D Upper Cut-off'
|
||||
value '2.2kHz'
|
||||
}
|
||||
control.40 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 '200Hz'
|
||||
comment.item.1 '500Hz'
|
||||
iface MIXER
|
||||
name '3D Lower Cut-off'
|
||||
value '200Hz'
|
||||
}
|
||||
control.41 {
|
||||
comment.access 'read write'
|
||||
comment.type INTEGER
|
||||
comment.count 1
|
||||
comment.range '0 - 15'
|
||||
iface MIXER
|
||||
name '3D Volume'
|
||||
value 0
|
||||
}
|
||||
control.42 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name '3D Switch'
|
||||
value false
|
||||
}
|
||||
control.43 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'Capture 6dB Attenuate'
|
||||
value false
|
||||
}
|
||||
control.44 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'Playback 6dB Attenuate'
|
||||
value false
|
||||
}
|
||||
control.45 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 None
|
||||
comment.item.1 '32kHz'
|
||||
comment.item.2 '44.1kHz'
|
||||
comment.item.3 '48kHz'
|
||||
iface MIXER
|
||||
name De-emphasis
|
||||
value None
|
||||
}
|
||||
control.46 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 Stereo
|
||||
comment.item.1 Left
|
||||
comment.item.2 Right
|
||||
comment.item.3 Mono
|
||||
iface MIXER
|
||||
name 'Playback Mono Mix'
|
||||
value Stereo
|
||||
}
|
||||
control.47 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 'Non Inverted'
|
||||
comment.item.1 Inverted
|
||||
iface MIXER
|
||||
name 'Playback Phase'
|
||||
value 'Non Inverted'
|
||||
}
|
||||
control.48 {
|
||||
comment.access 'read write'
|
||||
comment.type INTEGER
|
||||
comment.count 1
|
||||
comment.range '0 - 3'
|
||||
iface MIXER
|
||||
name 'Mic2 Capture Volume'
|
||||
value 0
|
||||
}
|
||||
control.49 {
|
||||
comment.access 'read write'
|
||||
comment.type INTEGER
|
||||
comment.count 1
|
||||
comment.range '0 - 3'
|
||||
iface MIXER
|
||||
name 'Mic1 Capture Volume'
|
||||
value 0
|
||||
}
|
||||
control.50 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 'DAI 0'
|
||||
comment.item.1 'DAI 1'
|
||||
comment.item.2 'DAI 2'
|
||||
comment.item.3 'DAI 3'
|
||||
iface MIXER
|
||||
name 'DAI Mode'
|
||||
value 'DAI 0'
|
||||
}
|
||||
control.51 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 Stereo
|
||||
comment.item.1 'Left ADC'
|
||||
comment.item.2 'Right ADC'
|
||||
comment.item.3 'Channel Swap'
|
||||
iface MIXER
|
||||
name 'ADC Data Select'
|
||||
value Stereo
|
||||
}
|
||||
control.52 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 'Non Inverted'
|
||||
comment.item.1 Inverted
|
||||
iface MIXER
|
||||
name 'ROUT2 Phase'
|
||||
value Inverted
|
||||
}
|
||||
control.53 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 'Mic 1'
|
||||
comment.item.1 'Mic 2'
|
||||
comment.item.2 'Mic 3'
|
||||
iface MIXER
|
||||
name 'Mic Selection Mux'
|
||||
value 'Mic 1'
|
||||
}
|
||||
control.54 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 'RXP - RXN'
|
||||
comment.item.1 'RXP + RXN'
|
||||
comment.item.2 RXP
|
||||
comment.item.3 RXN
|
||||
iface MIXER
|
||||
name 'Rx Mixer'
|
||||
value 'RXP - RXN'
|
||||
}
|
||||
control.55 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 'Line 1 + 2'
|
||||
comment.item.1 'Line 1 - 2'
|
||||
comment.item.2 'Line 1'
|
||||
comment.item.3 'Line 2'
|
||||
iface MIXER
|
||||
name 'Line Mixer'
|
||||
value 'Line 1 + 2'
|
||||
}
|
||||
control.56 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 'Line Mix'
|
||||
comment.item.1 'Rx Mix'
|
||||
iface MIXER
|
||||
name 'Line Mono Mux'
|
||||
value 'Line Mix'
|
||||
}
|
||||
control.57 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 'Line 2'
|
||||
comment.item.1 'Rx Mix'
|
||||
iface MIXER
|
||||
name 'Line Right Mux'
|
||||
value 'Rx Mix'
|
||||
}
|
||||
control.58 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 'Line 1'
|
||||
comment.item.1 'Rx Mix'
|
||||
iface MIXER
|
||||
name 'Line Left Mux'
|
||||
value 'Rx Mix'
|
||||
}
|
||||
control.59 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'ALC Mixer Line Capture Switch'
|
||||
value false
|
||||
}
|
||||
control.60 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'ALC Mixer Mic2 Capture Switch'
|
||||
value false
|
||||
}
|
||||
control.61 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'ALC Mixer Mic1 Capture Switch'
|
||||
value false
|
||||
}
|
||||
control.62 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'ALC Mixer Rx Capture Switch'
|
||||
value false
|
||||
}
|
||||
control.63 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 'Left PGA'
|
||||
comment.item.1 'Mic 1'
|
||||
comment.item.2 'Mic 2'
|
||||
comment.item.3 'Right PGA'
|
||||
iface MIXER
|
||||
name 'Mic Sidetone Mux'
|
||||
value 'Left PGA'
|
||||
}
|
||||
control.64 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 PGA
|
||||
comment.item.1 'Line or RXP-RXN'
|
||||
comment.item.2 Sidetone
|
||||
iface MIXER
|
||||
name 'Capture Right Mux'
|
||||
value PGA
|
||||
}
|
||||
control.65 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 PGA
|
||||
comment.item.1 'Line or RXP-RXN'
|
||||
comment.item.2 Line
|
||||
iface MIXER
|
||||
name 'Capture Left Mux'
|
||||
value PGA
|
||||
}
|
||||
control.66 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 Stereo
|
||||
comment.item.1 'Analogue Mix Left'
|
||||
comment.item.2 'Analogue Mix Right'
|
||||
comment.item.3 'Digital Mono Mix'
|
||||
iface MIXER
|
||||
name 'Capture Right Mixer'
|
||||
value Stereo
|
||||
}
|
||||
control.67 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 Stereo
|
||||
comment.item.1 'Analogue Mix Left'
|
||||
comment.item.2 'Analogue Mix Right'
|
||||
comment.item.3 'Digital Mono Mix'
|
||||
iface MIXER
|
||||
name 'Capture Left Mixer'
|
||||
value Stereo
|
||||
}
|
||||
control.68 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'Playback Mixer Voice Capture Sw'
|
||||
value false
|
||||
}
|
||||
control.69 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'Playback Mixer Left Capture Swi'
|
||||
value false
|
||||
}
|
||||
control.70 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'Playback Mixer Right Capture Sw'
|
||||
value false
|
||||
}
|
||||
control.71 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 VREF
|
||||
comment.item.1 'Capture ST'
|
||||
comment.item.2 LOUT2
|
||||
iface MIXER
|
||||
name 'Out4 Mux'
|
||||
value VREF
|
||||
}
|
||||
control.72 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 VREF
|
||||
comment.item.1 ROUT2
|
||||
comment.item.2 'Left + Right'
|
||||
iface MIXER
|
||||
name 'Out3 Mux'
|
||||
value VREF
|
||||
}
|
||||
control.73 {
|
||||
comment.access 'read write'
|
||||
comment.type ENUMERATED
|
||||
comment.count 1
|
||||
comment.item.0 'Inverted Mono 1'
|
||||
comment.item.1 Left
|
||||
comment.item.2 Right
|
||||
comment.item.3 'Left + Right'
|
||||
iface MIXER
|
||||
name 'Mono 2 Mux'
|
||||
value 'Inverted Mono 1'
|
||||
}
|
||||
control.74 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'Mono Mixer Left Playback Switch'
|
||||
value false
|
||||
}
|
||||
control.75 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'Mono Mixer Right Playback Switc'
|
||||
value false
|
||||
}
|
||||
control.76 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'Mono Mixer Voice Playback Switc'
|
||||
value false
|
||||
}
|
||||
control.77 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'Mono Mixer Sidetone Playback Sw'
|
||||
value false
|
||||
}
|
||||
control.78 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'Mono Mixer Bypass Playback Swit'
|
||||
value false
|
||||
}
|
||||
control.79 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'Right Mixer Voice Playback Swit'
|
||||
value false
|
||||
}
|
||||
control.80 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'Right Mixer Sidetone Playback S'
|
||||
value false
|
||||
}
|
||||
control.81 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'Right Mixer Right Playback Swit'
|
||||
value true
|
||||
}
|
||||
control.82 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'Right Mixer Bypass Playback Swi'
|
||||
value false
|
||||
}
|
||||
control.83 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'Left Mixer Voice Playback Switc'
|
||||
value false
|
||||
}
|
||||
control.84 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'Left Mixer Sidetone Playback Sw'
|
||||
value false
|
||||
}
|
||||
control.85 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'Left Mixer Left Playback Switch'
|
||||
value true
|
||||
}
|
||||
control.86 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'Left Mixer Bypass Playback Swit'
|
||||
value false
|
||||
}
|
||||
control.87 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'DAPM Stereo Out Switch'
|
||||
value true
|
||||
}
|
||||
control.88 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'DAPM GSM Line Out Switch'
|
||||
value false
|
||||
}
|
||||
control.89 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'DAPM GSM Line In Switch'
|
||||
value false
|
||||
}
|
||||
control.90 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'DAPM Headset Mic Switch'
|
||||
value false
|
||||
}
|
||||
control.91 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'DAPM Handset Mic Switch'
|
||||
value false
|
||||
}
|
||||
control.92 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'DAPM Handset Spk Switch'
|
||||
value false
|
||||
}
|
||||
control.93 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'Amp State Switch'
|
||||
value false
|
||||
}
|
||||
control.94 {
|
||||
comment.access 'read write'
|
||||
comment.type BOOLEAN
|
||||
comment.count 1
|
||||
iface MIXER
|
||||
name 'Amp Spk Switch'
|
||||
value true
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue