tools: add pw-midi2play and pw-midi2record aliases

And update the documentation.
This commit is contained in:
Wim Taymans 2025-08-29 17:43:13 +02:00
parent eda3290883
commit 9eb6cda245
3 changed files with 28 additions and 8 deletions

View file

@ -14,6 +14,10 @@ Play and record media with PipeWire
**pw-midirecord** \[*options*\] \[*FILE* \| -\]
**pw-midi2play** \[*options*\] \[*FILE* \| -\]
**pw-midi2record** \[*options*\] \[*FILE* \| -\]
**pw-dsdplay** \[*options*\] \[*FILE* \| -\]
# DESCRIPTION
@ -24,10 +28,10 @@ supported by `libsndfile` for PCM capture and playback. When capturing
PCM, the filename extension is used to guess the file format with the
WAV file format as the default.
It understands standard MIDI files for playback and recording. This tool
will not render MIDI files, it will simply make the MIDI events
available to the graph. You need a MIDI renderer such as qsynth,
timidity or a hardware MIDI rendered to hear the MIDI.
It understands standard MIDI files and MIDI 2.0 clip files for playback
and recording. This tool will not render MIDI files, it will simply make
the MIDI events available to the graph. You need a MIDI renderer such as
qsynth, timidity or a hardware MIDI renderer to hear the MIDI.
DSD playback is supported with the DSF file format. This tool will only
work with native DSD capable hardware and will produce an error when no
@ -53,13 +57,13 @@ connection is made to the default PipeWire instance.
\par -p | \--playback
Playback mode. Read data from the specified file, and play it back. If
the tool is called under the name **pw-play** or **pw-midiplay** this is
the default.
the tool is called under the name **pw-play**, **pw-midiplay** or
**pw-midi2play** this is the default.
\par -r | \--record
Recording mode. Capture data and write it to the specified file. If the
tool is called under the name **pw-record** or **pw-midirecord** this is
the default.
tool is called under the name **pw-record**, **pw-midirecord** or
**pw-midi2record** this is the default.
\par -m | \--midi
MIDI mode. *FILE* is a MIDI file. If the tool is called under the name
@ -69,6 +73,14 @@ simply provide the MIDI events in the graph. You need a separate MIDI
renderer such as qsynth, timidity or a hardware renderer to hear the
MIDI.
\par -c | \--midi-clip
MIDI 2.0 clip mode. *FILE* is a MIDI 2.0 clip file. If the tool is called
under the name **pw-midi2play** or **pw-midi2record** this is the default.
Note that this program will *not* render the MIDI events into audible
samples, it will simply provide the MIDI events in the graph. You need a
separate MIDI renderer such as qsynth, timidity or a hardware renderer to
hear the MIDI.
\par -d | \--dsd
DSD mode. *FILE* is a DSF file. If the tool is called under the name
**pw-dsdplay** this is the default. Note that this program will *not*

View file

@ -59,6 +59,8 @@ if get_option('pw-cat').allowed() and sndfile_dep.found()
'pw-record',
'pw-midiplay',
'pw-midirecord',
'pw-midi2play',
'pw-midi2record',
'pw-dsdplay',
'pw-encplay',
'pw-sysex',

View file

@ -1997,6 +1997,12 @@ int main(int argc, char *argv[])
} else if (spa_streq(prog, "pw-midirecord")) {
data.mode = mode_record;
data.data_type = TYPE_MIDI;
} else if (spa_streq(prog, "pw-midi2play")) {
data.mode = mode_playback;
data.data_type = TYPE_MIDI2;
} else if (spa_streq(prog, "pw-midi2record")) {
data.mode = mode_record;
data.data_type = TYPE_MIDI2;
} else if (spa_streq(prog, "pw-sysex")) {
data.mode = mode_playback;
data.data_type = TYPE_SYSEX;