Set audio metadata to make application name and currently playing file available to other applications, eg. let pavucontrol (PulseAudio mixer app) show this ( :eye: bottom row):
I have implemented this for these audio backends:
plugout_pipewire
plugout_pulse
plugout_sdl (metadata is passed through to the audio backend SDL is using; whether it is shown depends on the chosen backend. PipeWire and PulseAudio should both work)
This might be added to other plugouts, too, but I don't know of they support meta data.
Theoretically we could also use plugout_skip_fn to append the currently playing subsong, but I did not implement this because for both PipeWire and Pulseaudio we would have to update from their "simple" stream access methods to a full-blown client implementation to be able to switch stream metadata on the fly. This would be quite a rewrite of both plugouts and I did not want to do that.
As the current filename now is available in the plugouts, we could use it in file writing operations (MIDI, VGM or WAV plugouts using file_open() from `filewriter.c) in the future.
Set audio metadata to make application name and currently playing file available to other applications, eg. let pavucontrol (PulseAudio mixer app) show this ( :eye: bottom row):
I have implemented this for these audio backends:
This might be added to other plugouts, too, but I don't know of they support meta data.
Theoretically we could also use
plugout_skip_fn
to append the currently playing subsong, but I did not implement this because for both PipeWire and Pulseaudio we would have to update from their "simple" stream access methods to a full-blown client implementation to be able to switch stream metadata on the fly. This would be quite a rewrite of both plugouts and I did not want to do that.As the current filename now is available in the plugouts, we could use it in file writing operations (MIDI, VGM or WAV plugouts using
file_open()
from `filewriter.c) in the future.