jack: add option and disable MIDI2 port flags by default

Add an option to add the MIDI2 flag on ports. This is disabled by
default because most JACK apps don't know about the flag and then
refuse to show the MIDI ports.

Fixes #4584
This commit is contained in:
Wim Taymans 2025-03-04 15:51:39 +01:00
parent 3905e3b3d3
commit 0b5d669679
3 changed files with 13 additions and 2 deletions

View file

@ -472,6 +472,7 @@ struct client {
unsigned int fill_aliases:1;
unsigned int writable_input:1;
unsigned int async:1;
unsigned int flag_midi2:1;
uint32_t max_frames;
uint32_t max_align;
@ -3818,7 +3819,7 @@ static void registry_event_global(void *data, uint32_t id,
if ((str = spa_dict_lookup(props, PW_KEY_PORT_NAME)) == NULL)
goto exit;
if (type_id == TYPE_ID_UMP)
if (type_id == TYPE_ID_UMP && c->flag_midi2)
flags |= JackPortIsMIDI2;
spa_dict_for_each(item, props) {
@ -4400,6 +4401,7 @@ jack_client_t * jack_client_open (const char *client_name,
client->fill_aliases = pw_properties_get_bool(client->props, "jack.fill-aliases", false);
client->writable_input = pw_properties_get_bool(client->props, "jack.writable-input", true);
client->async = pw_properties_get_bool(client->props, PW_KEY_NODE_ASYNC, false);
client->flag_midi2 = pw_properties_get_bool(client->props, "jack.flag-midi2", false);
client->self_connect_mode = SELF_CONNECT_ALLOW;
if ((str = pw_properties_get(client->props, "jack.self-connect-mode")) != NULL) {