1 zone { name = "driver" }
2 zone { name = "passanger1" }
3 zone { name = "passanger2" }
4 zone { name = "passanger3" }
5 zone { name = "passanger4" }
9 node_type = node.output,
10 accept = builtin.method.accept_default,
11 compare = builtin.method.compare_default
16 node_type = node.input,
17 accept = builtin.method.accept_phone,
18 compare = builtin.method.compare_phone
23 node_type = node.output,
24 accept = builtin.method.accept_phone,
25 compare = builtin.method.compare_phone
29 node_type = node.event,
32 output = routing_group.default_output
34 roles = { event = no_resource }
39 node_type = node.phone,
42 input = routing_group.phone_input,
43 output = routing_group.phone_output
45 roles = { phone = no_resource, carkit = no_resource }
49 node_type = node.alert,
52 output = routing_group.default_output
54 roles = { ringtone = no_resource, alarm = no_resource }
59 node_type = node.navigator,
62 output = routing_group.default_output
64 roles = { navigator = {0, "autorelease", "mandatory", "shared"} }
69 node_type = node.game,
72 output = routing_group.default_output
74 roles = { game = {0, "mandatory", "exclusive"} }
79 node_type = node.radio,
82 output = routing_group.default_output
84 roles = { radio = {1, "mandatory", "exclusive"} },
89 node_type = node.player,
92 output = routing_group.default_output
94 roles = { music = {0, "mandatory", "exclusive"},
95 video = {0, "mandatory", "exclusive"},
96 test = {0, "mandatory", "exclusive"}
102 node_type = node.browser,
105 output = routing_group.default_output
107 roles = { browser = {0, "mandatory", "shared"} }
113 name = { recording = "audio_recording", playback = "audio_playback" },
115 role = {"media.role", mdb.string, "music"},
116 pid = {"application.process.id", mdb.string, "<unknown>"}
123 condition = "zone = 'driver' AND device = 'speaker'",
125 update = builtin.method.make_volumes
129 table = "audio_playback_owner",
130 columns = {"zone_id", "application_class", "role"},
131 condition = "zone_name = 'driver'",
133 update = function(self)
134 zid = self[1].zone_id
135 if (zid == nil) then zid = "<nil>" end
136 class = self[1].application_class
137 if (class == nil) then class = "<nil>" end
139 if (role == nil) then role = "<nil>" end
140 -- print("*** import "..self.table.." update: zone:"..zid.." class:"..class.." role:"..role)
145 table = "amb_shift_position",
146 columns = {"shift_position"},
147 condition = "id = 0",
149 update = builtin.method.make_volumes
153 name = "speed_adjust",
154 type = volume_limit.generic,
155 limit = mdb.import.speedvol:link(1,"value"),
156 calculate = builtin.method.volume_correct
161 type = volume_limit.class,
163 node_type = { node.phone, node.navigator },
164 calculate = builtin.method.volume_supress
169 type = volume_limit.class,
171 node_type = { node.player, node.game },
172 calculate = function(self, class, device)
173 -- print("*** limit "..self.name.." class:"..class.." stream:"..device.name)
174 position = mdb.import.amb_shift_position[1].shift_position
175 if (position and position == 128) then