4 node_type = node.output,
5 accept = builtin.method.accept_default,
6 compare = builtin.method.compare_default
11 node_type = node.input,
12 accept = builtin.method.accept_phone,
13 compare = builtin.method.compare_phone
18 node_type = node.output,
19 accept = builtin.method.accept_phone,
20 compare = builtin.method.compare_phone
24 node_type = node.event,
27 output = routing_group.default_output
29 roles = { event = no_resource }
34 node_type = node.phone,
37 input = routing_group.phone_input,
38 output = routing_group.phone_output
40 roles = { phone = no_resource, carkit = no_resource }
44 node_type = node.alert,
47 output = routing_group.default_output
49 roles = { ringtone = no_resource, alarm = no_resource }
54 node_type = node.navigator,
57 output = routing_group.default_output
59 roles = { navigator = {0, "autorelease", "mandatory", "shared"} }
64 node_type = node.game,
67 output = routing_group.default_output
69 roles = { game = {0, "mandatory", "exclusive"} }
74 node_type = node.radio,
77 output = routing_group.default_output
79 roles = { radio = {1, "mandatory", "exclusive"} },
84 node_type = node.player,
87 output = routing_group.default_output
89 roles = { music = {1, "mandatory", "exclusive"},
90 video = {1, "mandatory", "exclusive"},
91 test = {0, "mandatory", "exclusive"}
97 node_type = node.browser,
100 output = routing_group.default_output
102 roles = { animation = {0, "mandatory", "shared"} },
103 binaries = { firefox = {0, "mandatory","exclusive"},
104 chrome = {0, "mandatory", "exclusive"}
109 name = { recording = "audio_recording", playback = "audio_playback" },
111 role = {"media.role", mdb.string, "music"},
112 pid = {"application.process.id", mdb.string, "<unknown>"}
119 condition = "zone = 'driver' AND device = 'speaker'",
121 update = builtin.method.make_volumes
125 table = "audio_playback_owner",
126 columns = {"zone_id", "application_class", "role"},
127 condition = "zone_name = 'driver'",
129 update = function(self)
130 zid = self[1].zone_id
131 if (zid == nil) then zid = "<nil>" end
132 class = self[1].application_class
133 if (class == nil) then class = "<nil>" end
135 if (role == nil) then role = "<nil>" end
136 -- print("*** import "..self.table.." update: zone:"..zid.." class:"..class.." role:"..role)
141 table = "amb_shift_position",
142 columns = {"shift_position"},
143 condition = "id = 0",
145 update = builtin.method.make_volumes
149 name = "speed_adjust",
150 type = volume_limit.generic,
151 limit = mdb.import.speedvol:link(1,"value"),
152 calculate = builtin.method.volume_correct
157 type = volume_limit.class,
159 node_type = { node.phone, node.navigator },
160 calculate = builtin.method.volume_supress
165 type = volume_limit.class,
167 node_type = { node.player, node.game },
168 calculate = function(self, class, device)
169 -- print("*** limit "..self.name.." class:"..class.." stream:"..device.name)
170 position = mdb.import.amb_shift_position[1].shift_position
171 if (position and position == 128) then