Package: fluidsynth Version: 2.4.3+dfsg-4 Severity: minor Tags: patch * What led up to the situation?
Checking for defects with a new version test-[g|n]roff -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=10 -ww -z < "man page" [Use "groff -e ' $' -e '\\~$' <file>" to find obvious trailing spaces.] ["test-groff" is a script in the repository for "groff"; is not shipped] (local copy and "troff" slightly changed by me). [The fate of "test-nroff" was decided in groff bug #55941.] * What was the outcome of this action? an.tmac:<stdin>:16: style: .TH missing fourth argument; consider package/project name and version (e.g., "groff 1.23.0") troff:<stdin>:34: warning: trailing space in the line troff:<stdin>:35: warning: trailing space in the line troff:<stdin>:132: warning: ignoring escape character before 'T' troff:<stdin>:256: warning: trailing space in the line troff:<stdin>:283: warning: trailing space in the line troff:<stdin>:286: warning: trailing space in the line troff:<stdin>:300: warning: trailing space in the line * What outcome did you expect instead? No output (no warnings). -.- General remarks and further material, if a diff-file exist, are in the attachments. -- System Information: Debian Release: trixie/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 6.12.12-amd64 (SMP w/2 CPU threads; PREEMPT) Locale: LANG=is_IS.iso88591, LC_CTYPE=is_IS.iso88591 (charmap=ISO-8859-1), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: sysvinit (via /sbin/init) Versions of packages fluidsynth depends on: ii init-system-helpers 1.68 ii libc6 2.40-7 ii libfluidsynth3 2.4.3+dfsg-4 ii libglib2.0-0t64 2.83.4-1 ii libpipewire-0.3-0t64 1.2.7-1+b2 ii libsdl2-2.0-0 2.32.2+dfsg-1 ii libsystemd0 257.3-1 Versions of packages fluidsynth recommends: pn qsynth <none> fluidsynth suggests no packages. -- no debconf information
Input file is fluidsynth.1 Output from "mandoc -T lint fluidsynth.1": (shortened list) 1 input text line longer than 80 bytes: If the channel falls... 1 input text line longer than 80 bytes: Limits parameter 2 (... 1 input text line longer than 80 bytes: Print out verbose me... 1 input text line longer than 80 bytes: Prints out list of h... 1 input text line longer than 80 bytes: Run fluidsynth with ... 1 input text line longer than 80 bytes: The settings to be s... 1 normalizing date format to: TH January 1, 2025 1 undefined escape, printing literally: \T 8 whitespace at end of input line Remove trailing space with: sed -e 's/ *$//' -.-. Output from "test-nroff -mandoc -t -ww -z fluidsynth.1": (shortened list) 1 ignoring escape character before 'T' 6 trailing space in the line Remove trailing space with: sed -e 's/ *$//' -.-. Remove space characters (whitespace) at the end of lines. Use "git apply ... --whitespace=fix" to fix extra space issues, or use global configuration "core.whitespace". Number of lines affected is 13 -.-. Wrong distance between sentences in the input file. Separate the sentences and subordinate clauses; each begins on a new line. See man-pages(7) ("Conventions for source file layout") and "info groff" ("Input Conventions"). The best procedure is to always start a new sentence on a new line, at least, if you are typing on a computer. Remember coding: Only one command ("sentence") on each (logical) line. E-mail: Easier to quote exactly the relevant lines. Generally: Easier to edit the sentence. Patches: Less unaffected text. Search for two adjacent words is easier, when they belong to the same line, and the same phrase. The amount of space between sentences in the output can then be controlled with the ".ss" request. Mark a final abbreviation point as such by suffixing it with "\&". Some sentences (etc.) do not begin on a new line. Split (sometimes) lines after a punctuation mark; before a conjunction. Lines with only one (or two) space(s) between sentences could be split, so latter sentences begin on a new line. Use #!/usr/bin/sh sed -e '/^\./n' \ -e 's/\([[:alpha:]]\)\. */\1.\n/g' $1 to split lines after a sentence period. Check result with the difference between the formatted outputs. See also the attachment "general.bugs" 38:SoundFont(R) 2 specifications. It can be used to render MIDI input or 39:MIDI files to audio. The MIDI events are read from a MIDI device. The 43:the command line: 'fluidsynth soundfont.sf2'. fluidsynth will load the 45:default MIDI driver. Once FluidSynth is running, it reads commands 46:from the stdin. There are commands to send MIDI events manually, to 47:load or unload SoundFonts, and so forth. All the available commands are 50:FluidSynth can also be used to play a list of MIDI files. Simply run 51:FluidSynth with the SoundFont and the list of MIDI files to play. In 53:events. Use the \-n option to deactivate MIDI input. If you also 63:The audio driver to use. "\-a help" to list valid options 105:The name of the midi driver to use. "\-m help" to list valid options. 144:The settings to be specified with \-o are documented in the fluidsettings.xml hopefully shipped with this distribution or online at https://www.fluidsynth.org/api/fluidsettings.xml . We recommend viewing this file in a webbrowser, favourably Firefox. 162:Unload a SoundFont. The number is the index of the SoundFont on the stack. 252:Limits parameter 1 (for example note number in a note events). Similar 256:Limits parameter 2 (for example velocity in a note event). Similar to router_chan 272:channels. Regardless of the channel, the synthesizer plays the note on 300:SoundFont(R) is a registered trademark of E-mu Systems, Inc. -.-. Split lines longer than 80 characters into two or more lines. Appropriate break points are the end of a sentence and a subordinate clause; after punctuation marks. Add "\:" to split the string for the output, "\<newline>" in the source. Line 57, length 84 Run fluidsynth with the \-\-help option to check for changes in the list of options. Line 135, length 94 Print out verbose messages about midi events (synth.verbose=1) as well as other debug messages Line 144, length 250 The settings to be specified with \-o are documented in the fluidsettings.xml hopefully shipped with this distribution or online at https://www.fluidsynth.org/api/fluidsettings.xml . We recommend viewing this file in a webbrowser, favourably Firefox. Line 151, length 90 Prints out list of help topics (type "help <topic>" to view details on available commands) Line 249, length 85 If the channel falls into the window, it is multiplied by 'mul', then 'add' is added. Line 256, length 82 Limits parameter 2 (for example velocity in a note event). Similar to router_chan -.-. Put a parenthetical sentence, phrase on a separate line, if not part of a code. See man-pages(7), item "semantic newline". fluidsynth.1:75:Audio file endian for fast rendering or aufile driver ("\-E help" for list) fluidsynth.1:78:Load command configuration file (shell commands) fluidsynth.1:111:Define a setting, \-o name=value ("\-o help" to dump current values) fluidsynth.1:114:Audio file format for fast rendering or aufile driver ("\-O help" for list) fluidsynth.1:117:Set MIDI port name (alsa_seq, coremidi drivers) fluidsynth.1:132:Audio file type for fast rendering or aufile driver ("\T help" for list) fluidsynth.1:151:Prints out list of help topics (type "help <topic>" to view details on available commands) fluidsynth.1:193:Set the master gain (0 < gain < 5) fluidsynth.1:224:Use n delay lines (default 3) fluidsynth.1:252:Limits parameter 1 (for example note number in a note events). Similar fluidsynth.1:256:Limits parameter 2 (for example velocity in a note event). Similar to router_chan -.-. Space after an end of sentence. fluidsynth.1:38:SoundFont(R) 2 specifications. It can be used to render MIDI input or fluidsynth.1:39:MIDI files to audio. The MIDI events are read from a MIDI device. The fluidsynth.1:43:the command line: 'fluidsynth soundfont.sf2'. fluidsynth will load the fluidsynth.1:45:default MIDI driver. Once FluidSynth is running, it reads commands fluidsynth.1:46:from the stdin. There are commands to send MIDI events manually, to fluidsynth.1:47:load or unload SoundFonts, and so forth. All the available commands are fluidsynth.1:50:FluidSynth can also be used to play a list of MIDI files. Simply run fluidsynth.1:51:FluidSynth with the SoundFont and the list of MIDI files to play. In fluidsynth.1:53:events. Use the \-n option to deactivate MIDI input. If you also fluidsynth.1:63:The audio driver to use. "\-a help" to list valid options fluidsynth.1:105:The name of the midi driver to use. "\-m help" to list valid options. fluidsynth.1:144:The settings to be specified with \-o are documented in the fluidsettings.xml hopefully shipped with this distribution or online at https://www.fluidsynth.org/api/fluidsettings.xml . We recommend viewing this file in a webbrowser, favourably Firefox. fluidsynth.1:162:Unload a SoundFont. The number is the index of the SoundFont on the stack. fluidsynth.1:252:Limits parameter 1 (for example note number in a note events). Similar fluidsynth.1:256:Limits parameter 2 (for example velocity in a note event). Similar to router_chan fluidsynth.1:272:channels. Regardless of the channel, the synthesizer plays the note on -.-. Put a subordinate sentence (after a comma) on a new line. fluidsynth.1:45:default MIDI driver. Once FluidSynth is running, it reads commands fluidsynth.1:46:from the stdin. There are commands to send MIDI events manually, to fluidsynth.1:47:load or unload SoundFonts, and so forth. All the available commands are fluidsynth.1:54:want to deactivate the use of the shell, start FluidSynth with the \-i fluidsynth.1:69:Turn the chorus on or off [0|1|yes|no, default = on] fluidsynth.1:84:Set the master gain [0 < gain < 10, default = 0.2] fluidsynth.1:111:Define a setting, \-o name=value ("\-o help" to dump current values) fluidsynth.1:117:Set MIDI port name (alsa_seq, coremidi drivers) fluidsynth.1:126:Turn the reverb on or off [0|1|yes|no, default = on] fluidsynth.1:144:The settings to be specified with \-o are documented in the fluidsettings.xml hopefully shipped with this distribution or online at https://www.fluidsynth.org/api/fluidsettings.xml . We recommend viewing this file in a webbrowser, favourably Firefox. fluidsynth.1:249:If the channel falls into the window, it is multiplied by 'mul', then 'add' is added. fluidsynth.1:272:channels. Regardless of the channel, the synthesizer plays the note on fluidsynth.1:283:1 to CC 64 on the lower 8 MIDI channels, routes to ch 15) -.-. Trailing space in a macro call. Remove with "sed -i -e 's/ *$//'" 33:.RI [ options ] 172:.B noteon channel key velocity -.-. Output from "test-groff -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=10 -ww -z ": an.tmac:<stdin>:16: style: .TH missing fourth argument; consider package/project name and version (e.g., "groff 1.23.0") troff:<stdin>:34: warning: trailing space in the line troff:<stdin>:35: warning: trailing space in the line troff:<stdin>:132: warning: ignoring escape character before 'T' troff:<stdin>:256: warning: trailing space in the line troff:<stdin>:283: warning: trailing space in the line troff:<stdin>:286: warning: trailing space in the line troff:<stdin>:300: warning: trailing space in the line -.-. Generally: Split (sometimes) lines after a punctuation mark; before a conjunction.
--- fluidsynth.1 2025-03-07 19:42:16.844397865 +0000 +++ fluidsynth.1.new 2025-03-07 20:11:44.018676378 +0000 @@ -30,58 +30,73 @@ FluidSynth \- a SoundFont synthesizer .SH SYNOPSIS .B fluidsynth -.RI [ options ] -[ SoundFonts ] -[ midifiles ] +.RI [ options ] +[ SoundFonts ] +[ midifiles ] .SH DESCRIPTION \fBFluidSynth\fP is a real-time MIDI synthesizer based on the -SoundFont(R) 2 specifications. It can be used to render MIDI input or -MIDI files to audio. The MIDI events are read from a MIDI device. The -sound is rendered in real-time to the sound output device. +SoundFont(R) 2 specifications. +It can be used to render MIDI input or MIDI files to audio. +The MIDI events are read from a MIDI device. +The sound is rendered in real-time to the sound output device. .PP The easiest way to start the synthesizer is to give it a SoundFont on -the command line: 'fluidsynth soundfont.sf2'. fluidsynth will load the -SoundFont and read MIDI events from the default MIDI device using the -default MIDI driver. Once FluidSynth is running, it reads commands -from the stdin. There are commands to send MIDI events manually, to -load or unload SoundFonts, and so forth. All the available commands are -discussed below. +the command line: +\&'fluidsynth soundfont.sf2'. +fluidsynth will load the SoundFont +and read MIDI events from the default MIDI device using the default MIDI +driver. +Once FluidSynth is running, +it reads commands from the stdin. +There are commands to send MIDI events manually, +to load or unload SoundFonts, +and so forth. +All the available commands are discussed below. .PP -FluidSynth can also be used to play a list of MIDI files. Simply run -FluidSynth with the SoundFont and the list of MIDI files to play. In -this case you might not want to open the MIDI device to read external -events. Use the \-n option to deactivate MIDI input. If you also -want to deactivate the use of the shell, start FluidSynth with the \-i -option: 'fluidsynth \-ni soundfont.sf2 midifile1.mid midifile2.mid'. +FluidSynth can also be used to play a list of MIDI files. +Simply run FluidSynth with the SoundFont +and the list of MIDI files to play. +In this case you might not want to open the MIDI device to read external +events. +Use the \-n option to deactivate MIDI input. +If you also want to deactivate the use of the shell, +start FluidSynth with the \-i option: +\&'fluidsynth \-ni soundfont.sf2 midifile1.mid midifile2.mid'. .PP -Run fluidsynth with the \-\-help option to check for changes in the list of options. +Run fluidsynth with the \-\-help option to check for changes in the list +of options. .SH OPTIONS \fBfluidsynth\fP accepts the following options: .TP .B \-a, \-\-audio\-driver=[label] -The audio driver to use. "\-a help" to list valid options +The audio driver to use. +"\-a help" to list valid options .TP .B \-c, \-\-audio\-bufcount=[count] Number of audio buffers .TP .B \-C, \-\-chorus -Turn the chorus on or off [0|1|yes|no, default = on] +Turn the chorus on or off +[0|1|yes|no, default = on] .TP .B \-d, \-\-dump Dump incoming and outgoing MIDI events to stdout .TP .B \-E, \-\-audio\-file\-endian -Audio file endian for fast rendering or aufile driver ("\-E help" for list) +Audio file endian for fast rendering or aufile driver +("\-E help" for list) .TP .B \-f, \-\-load\-config -Load command configuration file (shell commands) +Load command configuration file +(shell commands) .TP .B \-F, \-\-fast\-render=[file] Render MIDI file to raw audio data and store in [file] .TP .B \-g, \-\-gain -Set the master gain [0 < gain < 10, default = 0.2] +Set the master gain +[0 < gain < 10, default = 0.2] .TP .B \-G, \-\-audio\-groups Defines the number of LADSPA audio nodes @@ -102,19 +117,23 @@ The number of midi channels [default = 1 The number of stereo audio channels [default = 1] .TP .B \-m, \-\-midi\-driver=[label] -The name of the midi driver to use. "\-m help" to list valid options. +The name of the midi driver to use. +"\-m help" to list valid options. .TP .B \-n, \-\-no\-midi\-in Don't create a midi driver to read MIDI input events [default = yes] .TP .B \-o -Define a setting, \-o name=value ("\-o help" to dump current values) +Define a setting, \-o name=value +("\-o help" to dump current values) .TP .B \-O, \-\-audio\-file\-format -Audio file format for fast rendering or aufile driver ("\-O help" for list) +Audio file format for fast rendering or aufile driver +("\-O help" for list) .TP .B \-p, \-\-portname=[label] -Set MIDI port name (alsa_seq, coremidi drivers) +Set MIDI port name +(alsa_seq, coremidi drivers) .TP .B \-q, \-\-quiet Do not print welcome message or other informational output @@ -123,16 +142,20 @@ Do not print welcome message or other in Set the sample rate .TP .B \-R, \-\-reverb -Turn the reverb on or off [0|1|yes|no, default = on] +Turn the reverb on or off +[0|1|yes|no, default = on] .TP .B \-s, \-\-server Start FluidSynth as a server process .TP .B \-T, \-\-audio\-file\-type -Audio file type for fast rendering or aufile driver ("\T help" for list) +Audio file type for fast rendering or aufile driver +("\-T help" for list) .TP .B \-v, \-\-verbose -Print out verbose messages about midi events (synth.verbose=1) as well as other debug messages +Print out verbose messages about midi events +(synth.verbose=1) +as well as other debug messages .TP .B \-V, \-\-version Show version of program @@ -141,14 +164,22 @@ Show version of program Size of each audio buffer .SH SETTINGS -The settings to be specified with \-o are documented in the fluidsettings.xml hopefully shipped with this distribution or online at https://www.fluidsynth.org/api/fluidsettings.xml . We recommend viewing this file in a webbrowser, favourably Firefox. +The settings to be specified with \-o are documented in the +fluidsettings.xml +hopefully shipped with this distribution +or online at +https://www.fluidsynth.org/api/fluidsettings.xml . +We recommend viewing this file in a webbrowser, +favourably Firefox. .SH SHELL COMMANDS .TP .B GENERAL .TP .B help -Prints out list of help topics (type "help <topic>" to view details on available commands) +Prints out list of help topics +(type "help <topic>" +to view details on available commands) .TP .B quit Quit the synthesizer @@ -159,7 +190,8 @@ Quit the synthesizer Load a SoundFont .TP .B unload number -Unload a SoundFont. The number is the index of the SoundFont on the stack. +Unload a SoundFont. +The number is the index of the SoundFont on the stack. .TP .B fonts Lists the current SoundFonts on the stack @@ -169,7 +201,7 @@ Print out the available instruments for .TP .B MIDI MESSAGES .TP -.B noteon channel key velocity +.B noteon channel key velocity Send a note-on event .TP .B noteoff channel key @@ -190,7 +222,8 @@ Print out the presets of all channels. .B AUDIO SYNTHESIS .TP .B gain value -Set the master gain (0 < gain < 5) +Set the master gain +(0 < gain < 5) .TP .B interp num Choose interpolation method for all channels @@ -221,7 +254,8 @@ Change reverb level Turn the chorus on or off .TP .B set synth.chorus.nr n -Use n delay lines (default 3) +Use n delay lines +(default 3) .TP .B set synth.chorus.level num Set output level of each chorus line to num @@ -235,8 +269,8 @@ Set chorus modulation depth to num (ms) .B MIDI ROUTER .TP .B router_default -Reloads the default MIDI routing rules (input channels are mapped 1:1 -to the synth) +Reloads the default MIDI routing rules +(input channels are mapped 1:1 to the synth) .TP .B router_clear Deletes all MIDI routing rules. @@ -246,14 +280,19 @@ Starts a new routing rule for events of .TP .B router_chan min max mul add Limits the rule for events on min <= chan <= max. -If the channel falls into the window, it is multiplied by 'mul', then 'add' is added. +If the channel falls into the window, +it is multiplied by 'mul', +then 'add' is added. .TP .B router_par1 min max mul add -Limits parameter 1 (for example note number in a note events). Similar -to router_chan. +Limits parameter 1 +(for example note number in a note events). +Similar to router_chan. .TP .B router_par2 min max mul add -Limits parameter 2 (for example velocity in a note event). Similar to router_chan +Limits parameter 2 +(for example velocity in a note event). +Similar to router_chan .TP .B router_end Finishes the current rule and adds it to the router. @@ -267,10 +306,11 @@ router_begin note router_chan 0 7 0 15 .TP router_end -.TP -Will accept only note events from the lower 8 MIDI -channels. Regardless of the channel, the synthesizer plays the note on -ch 15 (synthchannel=midichannel*0+15) +.\".TP +Will accept only note events from the lower 8 MIDI channels. +Regardless of the channel, +the synthesizer plays the note on ch 15 +(synthchannel=midichannel*0+15) .TP router_begin cc .TP @@ -279,22 +319,23 @@ router_chan 0 7 0 15 router_par1 1 1 0 64 .TP router_add -Configures the modulation wheel to act as sustain pedal (transforms CC -1 to CC 64 on the lower 8 MIDI channels, routes to ch 15) +Configures the modulation wheel to act as sustain pedal +(transforms CC 1 to CC 64 on the lower 8 MIDI channels, +routes to ch 15) .SH AUTHORS -Peter Hanappe <hana...@fluid-synth.org> -.br +Peter Hanappe <hana...@fluid-synth.org> +.br Markus Nentwig <nent...@users.sourceforge.net> -.br +.br Antoine Schmitt <a...@gratin.org> -.br +.br Josh Green <jgr...@users.sourceforge.net> -.br +.br Stephane Letz <l...@grame.fr> -.br +.br Tom Moebert <tom[d0t]mbrt[ÃT]gmail[d0t]com> Please check the AUTHORS and THANKS files for all credits .SH DISCLAIMER -SoundFont(R) is a registered trademark of E-mu Systems, Inc. +SoundFont(R) is a registered trademark of E-mu Systems, Inc.
Any program (person), that produces man pages, should check the output for defects by using (both groff and nroff) [gn]roff -mandoc -t -ww -b -z -K utf8 <man page> The same goes for man pages that are used as an input. For a style guide use mandoc -T lint -.- Any "autogenerator" should check its products with the above mentioned 'groff', 'mandoc', and additionally with 'nroff ...'. It should also check its input files for too long (> 80) lines. This is just a simple quality control measure. The "autogenerator" may have to be corrected to get a better man page, the source file may, and any additional file may. Common defects: Not removing trailing spaces (in in- and output). The reason for these trailing spaces should be found and eliminated. "git" has a "tool" to point out whitespace, see for example "git-apply(1)" and git-config(1)") Not beginning each input sentence on a new line. Line length and patch size should thus be reduced. The script "reportbug" uses 'quoted-printable' encoding when a line is longer than 1024 characters in an 'ascii' file. See man-pages(7), item "semantic newline". -.- The difference between the formatted output of the original and patched file can be seen with: nroff -mandoc <file1> > <out1> nroff -mandoc <file2> > <out2> diff -d -u <out1> <out2> and for groff, using \"printf '%s\n%s\n' '.kern 0' '.ss 12 0' | groff -mandoc -Z - \" instead of 'nroff -mandoc' Add the option '-t', if the file contains a table. Read the output from 'diff -d -u ...' with 'less -R' or similar. -.-. If 'man' (man-db) is used to check the manual for warnings, the following must be set: The option \"-warnings=w\" The environmental variable: export MAN_KEEP_STDERR=yes (or any non-empty value) or (produce only warnings): export MANROFFOPT=\"-ww -b -z\" export MAN_KEEP_STDERR=yes (or any non-empty value) -.-