Skip to content
Snippets Groups Projects
Commit 3307e48d authored by Dylan Aïssi's avatar Dylan Aïssi Committed by Dylan Aïssi
Browse files

Import Debian changes 0.4.14-4~bpo12+1

parents 4d0cf8a4 8ccfd0c5
No related branches found
Tags debian/0.4.14-4_bpo12+1
1 merge request!39Update from debian/bookworm-backports for apertis/v2024pre
Pipeline #623995 canceled
Showing
with 339 additions and 91 deletions
WirePlumber 0.4.13
WirePlumber 0.4.14
~~~~~~~~~~~~~~~~~~
Additions:
- Added support for managing Bluetooth-MIDI, complimenting the parts that
were merged in PipeWire recently (!453)
- Added a default volume configuration option for streams whose volume
has never been saved before; that allows starting new streams at a lower
volume than 100% by default, if desired (!480)
- Added support for managing link errors and propagating them to the
client(s) involved. This allows better error handling on the application
side in case a format cannot be negotiated - useful in video streams
(see !484, pipewire#2935)
- snd_aloop devices are now described as being "Loopback" devices
(pipewire#2214)
- ALSA nodes in the pro audio profile now get increased graph priority, so
that they are more likely to become the driver in the graph
- Added support for disabling libcamera nodes & devices with ``node.disabled``
and ``device.disabled``, like it works for ALSA and V4L2 (#418)
Past releases
~~~~~~~~~~~~~
WirePlumber 0.4.13
..................
Additions:
- Added bluetooth SCO (HSP/HFP) hardware offload support, together with an
......
wireplumber (0.4.14-4~bpo12+1) bookworm-backports; urgency=medium
* Rebuild for bookworm-backports.
-- Dylan Aïssi <daissi@debian.org> Mon, 24 Jul 2023 09:47:54 +0200
wireplumber (0.4.14-4) unstable; urgency=medium
* Wireplumber depends on 'default-dbus-session-bus | dbus-session-bus'
instead of dbus-user-session (Closes: #1040513)
-- Dylan Aïssi <daissi@debian.org> Fri, 07 Jul 2023 10:40:06 +0200
wireplumber (0.4.14-3) unstable; urgency=medium
* Wireplumber depends on dbus-user-session (Closes: #1037513)
* Wireplumber suggests libspa-0.2-libcamera (Closes: #1037941)
-- Dylan Aïssi <daissi@debian.org> Mon, 03 Jul 2023 10:18:13 +0200
wireplumber (0.4.14-2) unstable; urgency=medium
* Upload to unstable
-- Dylan Aïssi <daissi@debian.org> Mon, 12 Jun 2023 11:43:17 +0200
wireplumber (0.4.14-1) experimental; urgency=medium
* New upstream version
* Install NEWS.rst only in the main wireplumber package (Closes: #1026099)
* Standards-Version: 4.6.2 (no changes needed)
* Upload to experimental because of the Bookworm freeze
-- Dylan Aïssi <daissi@debian.org> Thu, 09 Mar 2023 18:00:49 +0100
wireplumber (0.4.13-1) unstable; urgency=medium
* New upstream version
......
......@@ -24,7 +24,7 @@ Build-Depends: debhelper-compat (= 13),
python3-breathe <!nodoc>,
python3-sphinx <!nodoc>,
python3-sphinx-rtd-theme <!nodoc>,
Standards-Version: 4.6.1
Standards-Version: 4.6.2
Homepage: https://gitlab.freedesktop.org/pipewire/wireplumber
Vcs-Browser: https://salsa.debian.org/utopia-team/wireplumber
Vcs-Git: https://salsa.debian.org/utopia-team/wireplumber.git
......@@ -65,10 +65,12 @@ Package: wireplumber
Architecture: linux-any
Depends: ${shlibs:Depends},
${misc:Depends},
default-dbus-session-bus | dbus-session-bus,
libwireplumber-0.4-0 (= ${binary:Version}),
pipewire (>= 0.3.52),
Recommends: pipewire-pulse
Suggests: libspa-0.2-bluetooth,
libspa-0.2-libcamera,
wireplumber-doc
Conflicts: pipewire-media-session
Replaces: pipewire-media-session
......
......@@ -25,6 +25,3 @@ override_dh_auto_configure:
-Dtests=true \
-Ddbus-tests=true \
$(NULL)
override_dh_installchangelogs:
dh_installchangelogs NEWS.rst
NEWS.rst
......@@ -198,6 +198,21 @@ default disabled because the session manager handles the task of selecting and
restoring ports. It can, for example, restore previously saved volumes. Enable
this here when the session manager does not handle port restore.
.. code-block:: lua
["api.acp.probe-rate"] = 48000
Sets the samplerate used for probing the ALSA devices and collecting the profiles
and ports.
.. code-block:: lua
["api.acp.pro-channels"] = 64
Sets the number of channels to use when probing the Pro Audio profile. Normally,
the maximum amount of channels will be used but with this setting this can be
reduced, which can make it possible to use other samplerates on some devices.
Some of the other properties that might be configured on devices:
.. code-block:: lua
......
......@@ -14,7 +14,9 @@ There are currently two uses for Lua in WirePlumber:
- To implement the scripting engine
- To implement lua-based :ref:`config files <config_lua>`
This section is only documenting the API of the **scripting engine**
This section is only documenting the API of the **scripting engine**. Scripts can be ran with the ``wpexec`` tool.
Example scripts can be found in the `tests/examples` directory of the wireplumber source tree.
Lua Reference
-------------
......
......@@ -391,9 +391,8 @@ wp_spa_json_new_string (const gchar *value)
{
size_t size = (strlen (value) * 4) + 2;
gchar dst[size];
spa_json_encode_string (dst, sizeof(dst), value);
return wp_spa_json_new_from_builder (
wp_spa_json_builder_new_formatted ("%s", dst));
gint enc_size = spa_json_encode_string (dst, sizeof(dst), value);
return wp_spa_json_new_from_builder (wp_spa_json_builder_new (dst, enc_size));
}
/* Args is not a pointer in some architectures, so this needs to be a macro to
......@@ -970,6 +969,14 @@ builder_add_formatted (WpSpaJsonBuilder *self, const gchar *fmt, ...)
self->size += s;
}
static void
builder_add (WpSpaJsonBuilder *self, const gchar *data, size_t size)
{
g_return_if_fail (self->max_size - self->size >= size + 1);
snprintf (self->data + self->size, size + 1, "%s", data);
self->size += size;
}
static void
builder_add_json (WpSpaJsonBuilder *self, WpSpaJson *json)
{
......@@ -990,10 +997,12 @@ wp_spa_json_builder_add_property (WpSpaJsonBuilder *self, const gchar *key)
{
size_t size = (strlen (key) * 4) + 3;
gchar dst[size];
gint enc_size;
ensure_separator (self, TRUE);
ensure_allocated_max_size (self, size);
spa_json_encode_string (dst, sizeof(dst), key);
builder_add_formatted (self, "%s:", dst);
enc_size = spa_json_encode_string (dst, sizeof(dst), key);
builder_add (self, dst, enc_size);
builder_add (self, ":", 1);
}
/*!
......@@ -1067,10 +1076,11 @@ wp_spa_json_builder_add_string (WpSpaJsonBuilder *self, const gchar *value)
{
size_t size = (strlen (value) * 4) + 2;
gchar dst[size];
gint enc_size;
ensure_separator (self, FALSE);
ensure_allocated_max_size (self, size);
spa_json_encode_string (dst, sizeof(dst), value);
builder_add_formatted (self, "%s", dst);
enc_size = spa_json_encode_string (dst, sizeof(dst), value);
builder_add (self, dst, enc_size);
}
/*!
......
project('wireplumber', ['c'],
version : '0.4.13',
version : '0.4.14',
license : 'MIT',
meson_version : '>= 0.59.0',
default_options : [
......
......@@ -242,31 +242,33 @@ spa_json_array_new (lua_State *L)
luaL_checktype (L, 1, LUA_TTABLE);
lua_pushnil (L);
while (lua_next (L, 1)) {
switch (lua_type (L, -1)) {
case LUA_TBOOLEAN:
wp_spa_json_builder_add_boolean (builder, lua_toboolean (L, -1));
break;
case LUA_TNUMBER:
if (lua_isinteger (L, -1))
wp_spa_json_builder_add_int (builder, lua_tointeger (L, -1));
else
wp_spa_json_builder_add_float (builder, lua_tonumber (L, -1));
break;
case LUA_TSTRING:
wp_spa_json_builder_add_string (builder, lua_tostring (L, -1));
break;
case LUA_TUSERDATA: {
WpSpaJson *json = wplua_checkboxed (L, -1, WP_TYPE_SPA_JSON);
wp_spa_json_builder_add_json (builder, json);
break;
while (lua_next (L, -2)) {
/* We only add table values with integer keys */
if (lua_isinteger (L, -2)) {
switch (lua_type (L, -1)) {
case LUA_TBOOLEAN:
wp_spa_json_builder_add_boolean (builder, lua_toboolean (L, -1));
break;
case LUA_TNUMBER:
if (lua_isinteger (L, -1))
wp_spa_json_builder_add_int (builder, lua_tointeger (L, -1));
else
wp_spa_json_builder_add_float (builder, lua_tonumber (L, -1));
break;
case LUA_TSTRING:
wp_spa_json_builder_add_string (builder, lua_tostring (L, -1));
break;
case LUA_TUSERDATA: {
WpSpaJson *json = wplua_checkboxed (L, -1, WP_TYPE_SPA_JSON);
wp_spa_json_builder_add_json (builder, json);
break;
}
default:
luaL_error (L, "Json does not support lua type ",
lua_typename(L, lua_type(L, -1)));
break;
}
default:
luaL_error (L, "Json does not support lua type ",
lua_typename(L, lua_type(L, -1)));
break;
}
lua_pop (L, 1);
}
......@@ -285,30 +287,33 @@ spa_json_object_new (lua_State *L)
lua_pushnil (L);
while (lua_next (L, -2)) {
wp_spa_json_builder_add_property (builder, lua_tostring (L, -2));
switch (lua_type (L, -1)) {
case LUA_TBOOLEAN:
wp_spa_json_builder_add_boolean (builder, lua_toboolean (L, -1));
break;
case LUA_TNUMBER:
if (lua_isinteger (L, -1))
wp_spa_json_builder_add_int (builder, lua_tointeger (L, -1));
else
wp_spa_json_builder_add_float (builder, lua_tonumber (L, -1));
break;
case LUA_TSTRING:
wp_spa_json_builder_add_string (builder, lua_tostring (L, -1));
break;
case LUA_TUSERDATA: {
WpSpaJson *json = wplua_checkboxed (L, -1, WP_TYPE_SPA_JSON);
wp_spa_json_builder_add_json (builder, json);
break;
/* We only add table values with string keys */
if (lua_type (L, -2) == LUA_TSTRING) {
wp_spa_json_builder_add_property (builder, lua_tostring (L, -2));
switch (lua_type (L, -1)) {
case LUA_TBOOLEAN:
wp_spa_json_builder_add_boolean (builder, lua_toboolean (L, -1));
break;
case LUA_TNUMBER:
if (lua_isinteger (L, -1))
wp_spa_json_builder_add_int (builder, lua_tointeger (L, -1));
else
wp_spa_json_builder_add_float (builder, lua_tonumber (L, -1));
break;
case LUA_TSTRING:
wp_spa_json_builder_add_string (builder, lua_tostring (L, -1));
break;
case LUA_TUSERDATA: {
WpSpaJson *json = wplua_checkboxed (L, -1, WP_TYPE_SPA_JSON);
wp_spa_json_builder_add_json (builder, json);
break;
}
default:
luaL_error (L, "Json does not support lua type ",
lua_typename(L, lua_type(L, -1)));
break;
}
default:
luaL_error (L, "Json does not support lua type ",
lua_typename(L, lua_type(L, -1)));
break;
}
lua_pop (L, 1);
......
......@@ -549,7 +549,7 @@ spa_pod_bytes_new (lua_State *L)
return 1;
}
default:
luaL_error (L, "Only numner and strings are valid for bytes pod");
luaL_error (L, "Only number and strings are valid for bytes pod");
break;
}
return 0;
......
......@@ -121,7 +121,7 @@ wp_lua_scripting_plugin_enable (WpPlugin * plugin, WpTransition * transition)
export_core = g_object_get_data (G_OBJECT (core), "wireplumber.export-core");
if (export_core) {
lua_pushliteral (self->L, "wireplumber_export_core");
wplua_pushobject (self->L, export_core);
wplua_pushobject (self->L, g_object_ref (export_core));
lua_settable (self->L, LUA_REGISTRYINDEX);
}
......
......@@ -32,6 +32,13 @@ struct _WpSiStandardLink
guint n_async_ops_wait;
};
enum {
SIGNAL_LINK_ERROR,
LAST_SIGNAL,
};
static guint signals[LAST_SIGNAL] = { 0 };
static void si_standard_link_link_init (WpSiLinkInterface * iface);
G_DECLARE_FINAL_TYPE (WpSiStandardLink, si_standard_link, WP, SI_STANDARD_LINK,
......@@ -215,6 +222,17 @@ on_link_activated (WpObject * proxy, GAsyncResult * res,
}
}
static void
on_link_state_changed (WpLink *link, WpLinkState old_state,
WpLinkState new_state, WpSiStandardLink * self)
{
if (new_state == WP_LINK_STATE_ERROR) {
const gchar *error_msg;
wp_link_get_state (link, &error_msg);
g_signal_emit_by_name (self, "link-error", error_msg);
}
}
struct port
{
guint32 node_id;
......@@ -352,6 +370,9 @@ create_links (WpSiStandardLink * self, WpTransition * transition,
WP_OBJECT_FEATURES_ALL & ~WP_LINK_FEATURE_ESTABLISHED, NULL,
g_cclosure_new_object (
(GCallback) on_link_activated, G_OBJECT (transition)));
g_signal_connect_object (link, "state-changed",
G_CALLBACK (on_link_state_changed), self, 0);
}
g_variant_iter_free (iter);
return self->node_links->len > 0;
......@@ -718,6 +739,10 @@ si_standard_link_class_init (WpSiStandardLinkClass * klass)
si_class->get_associated_proxy = si_standard_link_get_associated_proxy;
si_class->disable_active = si_standard_link_disable_active;
si_class->enable_active = si_standard_link_enable_active;
signals[SIGNAL_LINK_ERROR] = g_signal_new (
"link-error", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST,
0, NULL, NULL, NULL, G_TYPE_NONE, 1, G_TYPE_STRING);
}
static GVariant *
......
# translation of pipewire.master-tx.de.po to
# German translation of pipewire
# Copyright (C) 2008 pipewire
# This file is distributed under the same license as the pipewire package.
# translation of WirePlumber
# German translation of WirePlumber
# Copyright (C) 2008 WirePlumber
# This file is distributed under the same license as the WirePlumber package.
#
#
# Fabian Affolter <fab@fedoraproject.org>, 2008-2009.
# Micha Pietsch <barney@fedoraproject.org>, 2008, 2009.
# Hedda Peters <hpeters@redhat.com>, 2009, 2012.
# Mario Blättermann <mario.blaettermann@gmail.com>, 2016.
# Jürgen Benvenuti <gastornis@posteo.org>, 2023.
#
msgid ""
msgstr ""
"Project-Id-Version: pipewire.master-tx.de\n"
"Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/pipewire/wireplumber/"
"issues/new\n"
"POT-Creation-Date: 2022-04-09 15:19+0300\n"
"PO-Revision-Date: 2021-01-09 11:36+0000\n"
"Last-Translator: Tobias Weise <tobias.weise@web.de>\n"
"Language-Team: German <https://translate.fedoraproject.org/projects/pipewire/"
"pipewire/de/>\n"
"Project-Id-Version: WirePlumber\n"
"Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/pipewire/wireplumber/-/"
"issues\n"
"POT-Creation-Date: 2023-01-30 15:31+0000\n"
"PO-Revision-Date: 2023-01-28 20:55+0100\n"
"Last-Translator: Jürgen Benvenuti <gastornis@posteo.org>\n"
"Language-Team: German <gnome-de@gnome.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.4\n"
"X-Generator: Poedit 3.1.1\n"
#. WirePlumber
#.
......@@ -34,6 +34,7 @@ msgstr ""
#. SPDX-License-Identifier: MIT
#. Receive script arguments from config.lua
#. ensure config.properties is not nil
#. unique device/node name tables
#. preprocess rules and create Interest objects
#. applies properties from config.rules when asked to
#. set the device id and spa factory name; REQUIRED, do not change
......@@ -49,15 +50,68 @@ msgstr ""
#. ensure the node has a description
#. also sanitize description, replace ':' with ' '
#. add api.alsa.card.* properties for rule matching purposes
#. apply VM overrides
#. apply properties from config.rules
#. create the node
#. ensure the device has an appropriate name
#. deduplicate devices with the same name
#. ensure the device has a description
#: src/scripts/monitors/alsa.lua:222
#: src/scripts/monitors/alsa.lua:234
msgid "Loopback"
msgstr "Schleifenschaltung"
#: src/scripts/monitors/alsa.lua:236
msgid "Built-in Audio"
msgstr "Internes Audio"
#: src/scripts/monitors/alsa.lua:224
#: src/scripts/monitors/alsa.lua:238
msgid "Modem"
msgstr "Modem"
#. ensure the device has a nick
#. set the icon name
#. form factor -> icon
#. apply properties from config.rules
#. override the device factory to use ACP
#. use device reservation, if available
#. unlike pipewire-media-session, this logic here keeps the device
#. acquired at all times and destroys it if someone else acquires
#. create the device
#. attempt to acquire again
#. destroy the device
#. TODO enable the jack device
#. TODO disable the jack device
#. create the device
#. handle create-object to prepare device
#. handle object-removed to destroy device reservations and recycle device name
#. reset the name tables to make sure names are recycled
#. activate monitor
#. create the JACK device (for PipeWire to act as client to a JACK server)
#. enable device reservation if requested
#. if the reserve-device plugin is enabled, at the point of script execution
#. it is expected to be connected. if it is not, assume the d-bus connection
#. has failed and continue without it
#. handle rd_plugin state changes to destroy and re-create the ALSA monitor in
#. case D-Bus service is restarted
#. create the monitor
#. WirePlumber
#.
#. Copyright © 2021 Collabora Ltd.
#. @author George Kiagiadakis <george.kiagiadakis@collabora.com>
#.
#. SPDX-License-Identifier: MIT
#. preprocess rules and create Interest objects
#. applies properties from config.rules when asked to
#. set the device id and spa factory name; REQUIRED, do not change
#. set the default pause-on-idle setting
#. set the node name
#. sanitize name
#. deduplicate nodes with the same name
#. set the node description
#: src/scripts/monitors/libcamera.lua:88
msgid "Built-in Front Camera"
msgstr "Interne vordere Kamera"
#: src/scripts/monitors/libcamera.lua:90
msgid "Built-in Back Camera"
msgstr "Interne hintere Kamera"
# Polish translation for wireplumber.
# Copyright © 2008-2022 the wireplumber authors.
# Copyright © 2008-2023 the wireplumber authors.
# This file is distributed under the same license as the wireplumber package.
# Piotr Drąg <piotrdrag@gmail.com>, 2008, 2012-2022.
# Piotr Drąg <piotrdrag@gmail.com>, 2008, 2012-2023.
#
msgid ""
msgstr ""
"Project-Id-Version: wireplumber\n"
"Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/pipewire/wireplumber/-/"
"issues\n"
"POT-Creation-Date: 2022-06-15 15:30+0000\n"
"PO-Revision-Date: 2022-06-16 13:20+0200\n"
"POT-Creation-Date: 2023-03-04 13:34+0000\n"
"PO-Revision-Date: 2023-03-04 14:35+0100\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <community-poland@mozilla.org>\n"
"Language: pl\n"
......@@ -43,16 +43,21 @@ msgstr ""
#. ensure the node has a description
#. also sanitize description, replace ':' with ' '
#. add api.alsa.card.* properties for rule matching purposes
#. apply VM overrides
#. apply properties from config.rules
#. create the node
#. ensure the device has an appropriate name
#. deduplicate devices with the same name
#. ensure the device has a description
#: src/scripts/monitors/alsa.lua:220
#: src/scripts/monitors/alsa.lua:236
msgid "Loopback"
msgstr "Urządzenie zwrotne"
#: src/scripts/monitors/alsa.lua:238
msgid "Built-in Audio"
msgstr "Wbudowany dźwięk"
#: src/scripts/monitors/alsa.lua:222
#: src/scripts/monitors/alsa.lua:240
msgid "Modem"
msgstr "Modem"
......
# Copyright (C) 2009 Free Software Foundation, Inc.
# This file is distributed under the same license as the pipewire package.
#
# Yuri Chornoivan <yurchor@ukr.net>, 2009-2021, 2022.
# Yuri Chornoivan <yurchor@ukr.net>, 2009-2021, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: pipewire\n"
"Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/pipewire/wireplumber/-/is"
"sues\n"
"POT-Creation-Date: 2022-06-15 15:30+0000\n"
"PO-Revision-Date: 2022-06-18 12:57+0300\n"
"Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/pipewire/wireplumber/-/i"
"ssues\n"
"POT-Creation-Date: 2022-12-13 15:30+0000\n"
"PO-Revision-Date: 2023-02-15 22:44+0200\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
"Language: uk\n"
......@@ -43,16 +43,21 @@ msgstr ""
#. ensure the node has a description
#. also sanitize description, replace ':' with ' '
#. add api.alsa.card.* properties for rule matching purposes
#. apply VM overrides
#. apply properties from config.rules
#. create the node
#. ensure the device has an appropriate name
#. deduplicate devices with the same name
#. ensure the device has a description
#: src/scripts/monitors/alsa.lua:220
#: src/scripts/monitors/alsa.lua:234
msgid "Loopback"
msgstr "Петля"
#: src/scripts/monitors/alsa.lua:236
msgid "Built-in Audio"
msgstr "Вбудоване аудіо"
#: src/scripts/monitors/alsa.lua:222
#: src/scripts/monitors/alsa.lua:238
msgid "Modem"
msgstr "Модем"
......
......@@ -68,6 +68,9 @@ context.modules = [
# Provides factories to make session manager objects.
{ name = libpipewire-module-session-manager }
# Provides factories to make SPA node objects.
{ name = libpipewire-module-spa-node-factory }
]
wireplumber.components = [
......
bluez_midi_monitor = {}
bluez_midi_monitor.properties = {}
bluez_midi_monitor.rules = {}
function bluez_midi_monitor.enable()
if bluez_midi_monitor.enabled == false then
return
end
load_monitor("bluez-midi", {
properties = bluez_midi_monitor.properties,
rules = bluez_midi_monitor.rules,
})
if bluez_midi_monitor.properties["with-logind"] then
load_optional_module("logind")
end
end
......@@ -11,7 +11,7 @@ bluez_monitor.properties = {
-- See bluez-hardware.conf for the hardware database.
-- Enabled headset roles (default: [ hsp_hs hfp_ag ]), this
-- Enabled headset roles (default: [ hfp_hf hfp_ag ]), this
-- property only applies to native backend. Currently some headsets
-- (Sony WH-1000XM3) are not working with both hsp_ag and hfp_ag
-- enabled, disable either hsp_ag or hfp_ag to work around it.
......
-- BLE MIDI is currently disabled by default, because it conflicts with
-- the SELinux policy on Fedora 37 and potentially other systems using
-- SELinux. For a workaround, see
-- https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/spa/plugins/bluez5/README-MIDI.md
bluez_midi_monitor.enabled = false
bluez_midi_monitor.properties = {
-- Enable the logind module, which arbitrates which user will be allowed
-- to have bluetooth audio enabled at any given time (particularly useful
-- if you are using GDM as a display manager, as the gdm user also launches
-- pipewire and wireplumber).
-- This requires access to the D-Bus user session; disable if you are running
-- a system-wide instance of wireplumber.
["with-logind"] = true,
-- List of MIDI server node names. Each node name given will create a new instance
-- of a BLE MIDI service. Typical BLE MIDI instruments have on service instance,
-- so adding more than one here may confuse some clients. The node property matching
-- rules below apply also to these servers.
--["servers"] = { "bluez_midi.server" },
}
bluez_midi_monitor.rules = {
-- An array of matches/actions to evaluate.
{
matches = {
{
-- Matches all nodes.
{ "node.name", "matches", "bluez_midi.*" },
},
},
apply_properties = {
--["node.nick"] = "My Node",
--["priority.driver"] = 100,
--["priority.session"] = 100,
--["node.pause-on-idle"] = false,
--["session.suspend-timeout-seconds"] = 5, -- 0 disables suspend
--["monitor.channel-volumes"] = false,
--["node.latency-offset-msec"] = -10, -- delay (<0) input to reduce jitter
},
},
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment