mirror of
https://github.com/ZDoom/fluidsynth.git
synced 2024-11-10 15:01:40 +00:00
Merge pull request #702 from FluidSynth/settings-stylesheet
New style for FluidSynth Settings XML and other small cleanup
This commit is contained in:
commit
780eebcb2c
2 changed files with 338 additions and 263 deletions
|
@ -15,9 +15,8 @@ Developers: Settings can be deprecated by adding: <deprecated>SOME TEXT</depreca
|
||||||
-->
|
-->
|
||||||
<?xml-stylesheet type="text/xsl" href="fluidsettings.xsl"?>
|
<?xml-stylesheet type="text/xsl" href="fluidsettings.xsl"?>
|
||||||
<fluidsettings>
|
<fluidsettings>
|
||||||
<synth>
|
<synth label="Synthesizer settings">
|
||||||
<setting>
|
<setting>
|
||||||
<isFirst>Synthesizer settings</isFirst>
|
|
||||||
<name>audio-channels</name>
|
<name>audio-channels</name>
|
||||||
<type>int</type>
|
<type>int</type>
|
||||||
<def>1</def>
|
<def>1</def>
|
||||||
|
@ -45,18 +44,18 @@ Developers: Settings can be deprecated by adding: <deprecated>SOME TEXT</depreca
|
||||||
<setting>
|
<setting>
|
||||||
<name>chorus.depth</name>
|
<name>chorus.depth</name>
|
||||||
<type>num</type>
|
<type>num</type>
|
||||||
<def>8</def>
|
<def>8.0</def>
|
||||||
<min>0</min>
|
<min>0.0</min>
|
||||||
<max>256</max>
|
<max>256.0</max>
|
||||||
<desc>
|
<desc>
|
||||||
Specifies the modulation depth of the chorus.</desc>
|
Specifies the modulation depth of the chorus.</desc>
|
||||||
</setting>
|
</setting>
|
||||||
<setting>
|
<setting>
|
||||||
<name>chorus.level</name>
|
<name>chorus.level</name>
|
||||||
<type>num</type>
|
<type>num</type>
|
||||||
<def>2</def>
|
<def>2.0</def>
|
||||||
<min>0</min>
|
<min>0.0</min>
|
||||||
<max>10</max>
|
<max>10.0</max>
|
||||||
<desc>
|
<desc>
|
||||||
Specifies the output amplitude of the chorus signal.</desc>
|
Specifies the output amplitude of the chorus signal.</desc>
|
||||||
</setting>
|
</setting>
|
||||||
|
@ -74,7 +73,7 @@ Developers: Settings can be deprecated by adding: <deprecated>SOME TEXT</depreca
|
||||||
<type>num</type>
|
<type>num</type>
|
||||||
<def>0.3</def>
|
<def>0.3</def>
|
||||||
<min>0.1</min>
|
<min>0.1</min>
|
||||||
<max>5</max>
|
<max>5.0</max>
|
||||||
<desc>
|
<desc>
|
||||||
Sets the modulation speed in Hz.</desc>
|
Sets the modulation speed in Hz.</desc>
|
||||||
</setting>
|
</setting>
|
||||||
|
@ -121,7 +120,7 @@ Developers: Settings can be deprecated by adding: <deprecated>SOME TEXT</depreca
|
||||||
<def>2</def>
|
<def>2</def>
|
||||||
<min>2</min>
|
<min>2</min>
|
||||||
<max>2</max>
|
<max>2</max>
|
||||||
<desc>Specifies the number of effects per group. Currently there only are two effects (i.e. reverb and chorus).</desc>
|
<desc>Specifies the number of effects per effects group. Currently this value can not be changed so there are always two effects per group available (reverb and chorus).</desc>
|
||||||
</setting>
|
</setting>
|
||||||
<setting>
|
<setting>
|
||||||
<name>effects-groups</name>
|
<name>effects-groups</name>
|
||||||
|
@ -129,7 +128,7 @@ Developers: Settings can be deprecated by adding: <deprecated>SOME TEXT</depreca
|
||||||
<def>1</def>
|
<def>1</def>
|
||||||
<min>1</min>
|
<min>1</min>
|
||||||
<max>128</max>
|
<max>128</max>
|
||||||
<desc>Specifies the number of effect units. By default, the sound of all voices is rendered by one reverb unit and one chorus unit respectively (even for multi-channel rendering). This setting gives the user control which effects of a voice to render to which independent audio channels. E.g. setting synth.effects-groups == synth.midi-channels allows to render the effects of each MIDI channel to separate audio buffers. If synth.effects-groups is smaller, it will wrap around. Note that any value >1 will significantly increase CPU usage.</desc>
|
<desc>Specifies the number of effects groups. By default, the sound of all voices is rendered by one reverb and one chorus effect respectively (even for multi-channel rendering). This setting gives the user control which effects of a voice to render to which independent audio channels. E.g. setting synth.effects-groups == synth.midi-channels allows to render the effects of each MIDI channel to separate audio buffers. If synth.effects-groups is smaller than the number of MIDI channels, it will wrap around. Note that any value >1 will significantly increase CPU usage.</desc>
|
||||||
</setting>
|
</setting>
|
||||||
<setting>
|
<setting>
|
||||||
<name>gain</name>
|
<name>gain</name>
|
||||||
|
@ -144,7 +143,7 @@ Developers: Settings can be deprecated by adding: <deprecated>SOME TEXT</depreca
|
||||||
<type>bool</type>
|
<type>bool</type>
|
||||||
<def>0 (FALSE)</def>
|
<def>0 (FALSE)</def>
|
||||||
<desc>
|
<desc>
|
||||||
When set to "yes" the LADSPA subsystem will be enabled. This subsystem allows to load and interconnect LADSPA plug-ins. The output of the synthesizer is processed by the LADSPA subsystem. Note that the synthesizer has to be compiled with LADSPA support. More information about the LADSPA subsystem later.</desc>
|
When set to 1 (TRUE) the LADSPA subsystem will be enabled. This subsystem allows to load and interconnect LADSPA plug-ins. The output of the synthesizer is processed by the LADSPA subsystem. Note that the synthesizer has to be compiled with LADSPA support. More information about the LADSPA subsystem can be found in doc/ladspa.md or on the FluidSynth website.</desc>
|
||||||
</setting>
|
</setting>
|
||||||
<setting>
|
<setting>
|
||||||
<name>lock-memory</name>
|
<name>lock-memory</name>
|
||||||
|
@ -166,12 +165,12 @@ Developers: Settings can be deprecated by adding: <deprecated>SOME TEXT</depreca
|
||||||
<name>midi-bank-select</name>
|
<name>midi-bank-select</name>
|
||||||
<type>str</type>
|
<type>str</type>
|
||||||
<def>gs</def>
|
<def>gs</def>
|
||||||
<vals>gm, gs, xg, mma</vals>
|
<vals>gs, gm, xg, mma</vals>
|
||||||
<desc>
|
<desc>
|
||||||
This setting defines how the synthesizer interprets Bank Select messages.
|
This setting defines how the synthesizer interprets Bank Select messages.
|
||||||
<ul>
|
<ul>
|
||||||
<li>gm: ignores CC0 and CC32 messages.</li>
|
|
||||||
<li>gs: (default) CC0 becomes the bank number, CC32 is ignored.</li>
|
<li>gs: (default) CC0 becomes the bank number, CC32 is ignored.</li>
|
||||||
|
<li>gm: ignores CC0 and CC32 messages.</li>
|
||||||
<li>xg: CC32 becomes the bank number, CC0 toggles between melodic or drum channel.</li>
|
<li>xg: CC32 becomes the bank number, CC0 toggles between melodic or drum channel.</li>
|
||||||
<li>mma: bank is calculated as CC0*128+CC32.</li>
|
<li>mma: bank is calculated as CC0*128+CC32.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -189,9 +188,9 @@ Developers: Settings can be deprecated by adding: <deprecated>SOME TEXT</depreca
|
||||||
<setting>
|
<setting>
|
||||||
<name>overflow.age</name>
|
<name>overflow.age</name>
|
||||||
<type>num</type>
|
<type>num</type>
|
||||||
<def>1000</def>
|
<def>1000.0</def>
|
||||||
<min>-10000</min>
|
<min>-10000.0</min>
|
||||||
<max>10000</max>
|
<max>10000.0</max>
|
||||||
<desc>
|
<desc>
|
||||||
This score is divided by the number of seconds this voice has been
|
This score is divided by the number of seconds this voice has been
|
||||||
active and is added to the overflow priority. It is usually a positive
|
active and is added to the overflow priority. It is usually a positive
|
||||||
|
@ -202,9 +201,9 @@ Developers: Settings can be deprecated by adding: <deprecated>SOME TEXT</depreca
|
||||||
<setting>
|
<setting>
|
||||||
<name>overflow.important</name>
|
<name>overflow.important</name>
|
||||||
<type>num</type>
|
<type>num</type>
|
||||||
<def>5000</def>
|
<def>5000.0</def>
|
||||||
<min>-50000</min>
|
<min>-50000.0</min>
|
||||||
<max>50000</max>
|
<max>50000.0</max>
|
||||||
<desc>
|
<desc>
|
||||||
This score is added to voices on channels marked with the
|
This score is added to voices on channels marked with the
|
||||||
synth.overflow.important-channels setting.
|
synth.overflow.important-channels setting.
|
||||||
|
@ -213,7 +212,7 @@ Developers: Settings can be deprecated by adding: <deprecated>SOME TEXT</depreca
|
||||||
<setting>
|
<setting>
|
||||||
<name>overflow.important-channels</name>
|
<name>overflow.important-channels</name>
|
||||||
<type>str</type>
|
<type>str</type>
|
||||||
<def>""</def>
|
<def>(empty string)</def>
|
||||||
<desc>
|
<desc>
|
||||||
This setting is a comma-separated list of MIDI channel numbers that should
|
This setting is a comma-separated list of MIDI channel numbers that should
|
||||||
be treated as "important" by the overflow calculation, adding the score
|
be treated as "important" by the overflow calculation, adding the score
|
||||||
|
@ -227,9 +226,9 @@ Developers: Settings can be deprecated by adding: <deprecated>SOME TEXT</depreca
|
||||||
<setting>
|
<setting>
|
||||||
<name>overflow.percussion</name>
|
<name>overflow.percussion</name>
|
||||||
<type>num</type>
|
<type>num</type>
|
||||||
<def>4000</def>
|
<def>4000.0</def>
|
||||||
<min>-10000</min>
|
<min>-10000.0</min>
|
||||||
<max>10000</max>
|
<max>10000.0</max>
|
||||||
<desc>
|
<desc>
|
||||||
Sets the overflow priority score added to voices on a percussion
|
Sets the overflow priority score added to voices on a percussion
|
||||||
channel. This is usually a positive score, to give percussion voices
|
channel. This is usually a positive score, to give percussion voices
|
||||||
|
@ -240,9 +239,9 @@ Developers: Settings can be deprecated by adding: <deprecated>SOME TEXT</depreca
|
||||||
<setting>
|
<setting>
|
||||||
<name>overflow.released</name>
|
<name>overflow.released</name>
|
||||||
<type>num</type>
|
<type>num</type>
|
||||||
<def>-2000</def>
|
<def>-2000.0</def>
|
||||||
<min>-10000</min>
|
<min>-10000.0</min>
|
||||||
<max>10000</max>
|
<max>10000.0</max>
|
||||||
<desc>
|
<desc>
|
||||||
Sets the overflow priority score added to voices that have already
|
Sets the overflow priority score added to voices that have already
|
||||||
received a note-off event. This is usually a negative score, to give released
|
received a note-off event. This is usually a negative score, to give released
|
||||||
|
@ -253,9 +252,9 @@ Developers: Settings can be deprecated by adding: <deprecated>SOME TEXT</depreca
|
||||||
<setting>
|
<setting>
|
||||||
<name>overflow.sustained</name>
|
<name>overflow.sustained</name>
|
||||||
<type>num</type>
|
<type>num</type>
|
||||||
<def>-1000</def>
|
<def>-1000.0</def>
|
||||||
<min>-10000</min>
|
<min>-10000.0</min>
|
||||||
<max>10000</max>
|
<max>10000.0</max>
|
||||||
<desc>
|
<desc>
|
||||||
Sets the overflow priority score added to voices that are currently
|
Sets the overflow priority score added to voices that are currently
|
||||||
sustained. With the default value, sustained voices are considered less
|
sustained. With the default value, sustained voices are considered less
|
||||||
|
@ -265,9 +264,9 @@ Developers: Settings can be deprecated by adding: <deprecated>SOME TEXT</depreca
|
||||||
<setting>
|
<setting>
|
||||||
<name>overflow.volume</name>
|
<name>overflow.volume</name>
|
||||||
<type>num</type>
|
<type>num</type>
|
||||||
<def>500</def>
|
<def>500.0</def>
|
||||||
<min>-10000</min>
|
<min>-10000.0</min>
|
||||||
<max>10000</max>
|
<max>10000.0</max>
|
||||||
<desc>
|
<desc>
|
||||||
Sets the overflow priority score added to voices based on their current
|
Sets the overflow priority score added to voices based on their current
|
||||||
volume. The voice volume is normalized to a value between 0 and 1 and
|
volume. The voice volume is normalized to a value between 0 and 1 and
|
||||||
|
@ -296,9 +295,9 @@ Developers: Settings can be deprecated by adding: <deprecated>SOME TEXT</depreca
|
||||||
<setting>
|
<setting>
|
||||||
<name>reverb.damp</name>
|
<name>reverb.damp</name>
|
||||||
<type>num</type>
|
<type>num</type>
|
||||||
<def>0</def>
|
<def>0.0</def>
|
||||||
<min>0</min>
|
<min>0.0</min>
|
||||||
<max>1</max>
|
<max>1.0</max>
|
||||||
<desc>
|
<desc>
|
||||||
Sets the amount of reverb damping.</desc>
|
Sets the amount of reverb damping.</desc>
|
||||||
</setting>
|
</setting>
|
||||||
|
@ -306,8 +305,8 @@ Developers: Settings can be deprecated by adding: <deprecated>SOME TEXT</depreca
|
||||||
<name>reverb.level</name>
|
<name>reverb.level</name>
|
||||||
<type>num</type>
|
<type>num</type>
|
||||||
<def>0.9</def>
|
<def>0.9</def>
|
||||||
<min>0</min>
|
<min>0.0</min>
|
||||||
<max>1</max>
|
<max>1.0</max>
|
||||||
<desc>
|
<desc>
|
||||||
Sets the reverb output amplitude.</desc>
|
Sets the reverb output amplitude.</desc>
|
||||||
</setting>
|
</setting>
|
||||||
|
@ -315,8 +314,8 @@ Developers: Settings can be deprecated by adding: <deprecated>SOME TEXT</depreca
|
||||||
<name>reverb.room-size</name>
|
<name>reverb.room-size</name>
|
||||||
<type>num</type>
|
<type>num</type>
|
||||||
<def>0.2</def>
|
<def>0.2</def>
|
||||||
<min>0</min>
|
<min>0.0</min>
|
||||||
<max>1</max>
|
<max>1.0</max>
|
||||||
<desc>
|
<desc>
|
||||||
Sets the room size (i.e. amount of wet) reverb.</desc>
|
Sets the room size (i.e. amount of wet) reverb.</desc>
|
||||||
</setting>
|
</setting>
|
||||||
|
@ -324,8 +323,8 @@ Developers: Settings can be deprecated by adding: <deprecated>SOME TEXT</depreca
|
||||||
<name>reverb.width</name>
|
<name>reverb.width</name>
|
||||||
<type>num</type>
|
<type>num</type>
|
||||||
<def>0.5</def>
|
<def>0.5</def>
|
||||||
<min>0</min>
|
<min>0.0</min>
|
||||||
<max>100</max>
|
<max>100.0</max>
|
||||||
<desc>
|
<desc>
|
||||||
Sets the stereo spread of the reverb signal.</desc>
|
Sets the stereo spread of the reverb signal.</desc>
|
||||||
</setting>
|
</setting>
|
||||||
|
@ -357,9 +356,8 @@ Developers: Settings can be deprecated by adding: <deprecated>SOME TEXT</depreca
|
||||||
</setting>
|
</setting>
|
||||||
</synth>
|
</synth>
|
||||||
|
|
||||||
<audio>
|
<audio label="Audio driver settings">
|
||||||
<setting>
|
<setting>
|
||||||
<isFirst>Audio driver settings</isFirst>
|
|
||||||
<name>driver</name>
|
<name>driver</name>
|
||||||
<type>str</type>
|
<type>str</type>
|
||||||
<def>jack (Linux),<br />
|
<def>jack (Linux),<br />
|
||||||
|
@ -376,8 +374,8 @@ Developers: Settings can be deprecated by adding: <deprecated>SOME TEXT</depreca
|
||||||
<setting>
|
<setting>
|
||||||
<name>periods</name>
|
<name>periods</name>
|
||||||
<type>int</type>
|
<type>int</type>
|
||||||
<def>16 (Linux, Mac OS X),<br />
|
<def>8 (Windows, MacOS9),<br />
|
||||||
8 (Windows)
|
16 (all other)
|
||||||
</def>
|
</def>
|
||||||
<min>2</min>
|
<min>2</min>
|
||||||
<max>64</max>
|
<max>64</max>
|
||||||
|
@ -388,8 +386,8 @@ Developers: Settings can be deprecated by adding: <deprecated>SOME TEXT</depreca
|
||||||
<setting>
|
<setting>
|
||||||
<name>period-size</name>
|
<name>period-size</name>
|
||||||
<type>int</type>
|
<type>int</type>
|
||||||
<def>64 (Linux, Mac OS X),<br />
|
<def>512 (Windows),<br />
|
||||||
512 (Windows)
|
64 (all other)
|
||||||
</def>
|
</def>
|
||||||
<min>64</min>
|
<min>64</min>
|
||||||
<max>8192</max>
|
<max>8192</max>
|
||||||
|
@ -523,7 +521,7 @@ Developers: Settings can be deprecated by adding: <deprecated>SOME TEXT</depreca
|
||||||
<setting>
|
<setting>
|
||||||
<name>jack.server</name>
|
<name>jack.server</name>
|
||||||
<type>str</type>
|
<type>str</type>
|
||||||
<def></def>
|
<def>(empty string)</def>
|
||||||
<desc>
|
<desc>
|
||||||
Jack server to connect to. Defaults to an empty string, which uses default Jack server.
|
Jack server to connect to. Defaults to an empty string, which uses default Jack server.
|
||||||
</desc>
|
</desc>
|
||||||
|
@ -606,9 +604,8 @@ Developers: Settings can be deprecated by adding: <deprecated>SOME TEXT</depreca
|
||||||
</setting>
|
</setting>
|
||||||
</audio>
|
</audio>
|
||||||
|
|
||||||
<midi>
|
<midi label="MIDI driver settings">
|
||||||
<setting>
|
<setting>
|
||||||
<isFirst>MIDI driver settings</isFirst>
|
|
||||||
<name>autoconnect</name>
|
<name>autoconnect</name>
|
||||||
<type>bool</type>
|
<type>bool</type>
|
||||||
<def>0 (FALSE)</def>
|
<def>0 (FALSE)</def>
|
||||||
|
@ -636,7 +633,7 @@ Developers: Settings can be deprecated by adding: <deprecated>SOME TEXT</depreca
|
||||||
<setting>
|
<setting>
|
||||||
<name>portname</name>
|
<name>portname</name>
|
||||||
<type>str</type>
|
<type>str</type>
|
||||||
<def></def>
|
<def>(empty string)</def>
|
||||||
<desc>Used by coremidi and alsa_seq drivers for the portnames registered with the MIDI subsystem.</desc>
|
<desc>Used by coremidi and alsa_seq drivers for the portnames registered with the MIDI subsystem.</desc>
|
||||||
</setting>
|
</setting>
|
||||||
<setting>
|
<setting>
|
||||||
|
@ -666,7 +663,7 @@ Developers: Settings can be deprecated by adding: <deprecated>SOME TEXT</depreca
|
||||||
<setting>
|
<setting>
|
||||||
<name>jack.server</name>
|
<name>jack.server</name>
|
||||||
<type>str</type>
|
<type>str</type>
|
||||||
<def></def>
|
<def>(empty string)</def>
|
||||||
<desc>Jack server to connect to for Jack MIDI driver. If an empty string then the default server will be used.</desc>
|
<desc>Jack server to connect to for Jack MIDI driver. If an empty string then the default server will be used.</desc>
|
||||||
</setting>
|
</setting>
|
||||||
<setting>
|
<setting>
|
||||||
|
@ -689,9 +686,8 @@ Developers: Settings can be deprecated by adding: <deprecated>SOME TEXT</depreca
|
||||||
</setting>
|
</setting>
|
||||||
</midi>
|
</midi>
|
||||||
|
|
||||||
<player>
|
<player label="MIDI player settings">
|
||||||
<setting>
|
<setting>
|
||||||
<isFirst>MIDI player settings</isFirst>
|
|
||||||
<name>reset-synth</name>
|
<name>reset-synth</name>
|
||||||
<type>bool</type>
|
<type>bool</type>
|
||||||
<def>1 (TRUE)</def>
|
<def>1 (TRUE)</def>
|
||||||
|
@ -706,17 +702,16 @@ Developers: Settings can be deprecated by adding: <deprecated>SOME TEXT</depreca
|
||||||
</setting>
|
</setting>
|
||||||
</player>
|
</player>
|
||||||
|
|
||||||
<shell>
|
<shell label="Shell (command line) settings">
|
||||||
<setting>
|
<setting>
|
||||||
<isFirst>Shell (command line) settings</isFirst>
|
|
||||||
<name>prompt</name>
|
<name>prompt</name>
|
||||||
<type>str</type>
|
<type>str</type>
|
||||||
<def>""</def>
|
<def>(empty string)</def>
|
||||||
<desc>In dump mode we set the prompt to "". The ui cannot easily handle lines, which don't end with cr. Changing the prompt cannot be done through a command, because the current shell does not handle empty arguments.</desc>
|
<desc>In dump mode we set the prompt to "" (empty string). The ui cannot easily handle lines, which don't end with cr. Changing the prompt cannot be done through a command, because the current shell does not handle empty arguments.</desc>
|
||||||
</setting>
|
</setting>
|
||||||
<setting>
|
<setting>
|
||||||
<name>port</name>
|
<name>port</name>
|
||||||
<type>num</type>
|
<type>int</type>
|
||||||
<def>9800</def>
|
<def>9800</def>
|
||||||
<min>1</min>
|
<min>1</min>
|
||||||
<max>65535</max>
|
<max>65535</max>
|
||||||
|
|
|
@ -5,212 +5,292 @@
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<style>
|
<style>
|
||||||
table
|
body {
|
||||||
{
|
margin: 0;
|
||||||
border: 3px solid black;
|
padding: 0;
|
||||||
|
font-family: sans-serif;
|
||||||
|
background: #eee;
|
||||||
}
|
}
|
||||||
|
|
||||||
.first-row
|
#sidebar {
|
||||||
{
|
position: fixed;
|
||||||
border-top: 3px solid black;
|
width: 25em;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
padding-bottom: 2em;
|
||||||
|
box-sizing: border-box;
|
||||||
|
overflow-y: auto;
|
||||||
|
color: white;
|
||||||
|
background: #333;
|
||||||
}
|
}
|
||||||
|
|
||||||
th
|
#sidebar ul li a {
|
||||||
{
|
display: block;
|
||||||
font-weight: normal;
|
padding-left: 5%;
|
||||||
white-space: nowrap;
|
padding-top: 0.3em;
|
||||||
padding: 15px 5px 15px 5px;
|
padding-bottom: 0.3em;
|
||||||
border-top: 1px solid black;
|
color: #fafafa;
|
||||||
border-left: 1px solid black;
|
|
||||||
border-right: 1px solid black;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#sidebar a:hover {
|
||||||
td
|
background: #666;
|
||||||
{
|
|
||||||
padding: 15px 5px 15px 5px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.cell-def
|
#sidebar .muted {
|
||||||
{
|
color: #ccc !important;
|
||||||
white-space: nowrap;
|
|
||||||
border-top: 1px solid black;
|
|
||||||
}
|
|
||||||
.cell-vals
|
|
||||||
{
|
|
||||||
border-top: 1px solid black;
|
|
||||||
}
|
|
||||||
.cell-desc
|
|
||||||
{
|
|
||||||
border-top: 1px solid black;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.audio {background-color: hsl(170, 100%, 90%);}
|
#sidebar h1 {
|
||||||
.midi {background-color: hsl(125, 100%, 90%);}
|
padding-top: 1em;
|
||||||
.player {background-color: hsl(85, 100%, 85%);}
|
margin: 0;
|
||||||
.shell {background-color: hsl(60, 100%, 90%);}
|
padding-left: 5%;
|
||||||
.synth {background-color: hsl(35, 100%, 90%);}
|
}
|
||||||
.deprecated {background-color: hsl(0, 0%, 93%);}
|
|
||||||
|
#sidebar h2 {
|
||||||
|
padding-left: 5%;
|
||||||
|
margin-top: 1.5em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
color: lightblue;
|
||||||
|
}
|
||||||
|
|
||||||
|
#sidebar ul,
|
||||||
|
#sidebar ul li
|
||||||
|
{
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#sidebar li a {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.deprecated-badge {
|
||||||
|
margin-left: 0.5em;
|
||||||
|
font-size: 80%;
|
||||||
|
font-weight: bold;
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main {
|
||||||
|
margin-left: 25em;
|
||||||
|
padding: 1em 2em;
|
||||||
|
box-sizing: border-box;
|
||||||
|
max-width: 60em;
|
||||||
|
background: white;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main h2 {
|
||||||
|
margin-top: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main h2:first-child {
|
||||||
|
margin-top: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.setting {
|
||||||
|
padding: 0;
|
||||||
|
margin: 1em 0;
|
||||||
|
border-left: 1px solid #eee;
|
||||||
|
border-radius: 5px 0px 0px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@-webkit-keyframes flash-header {
|
||||||
|
from { background: lightblue; }
|
||||||
|
50% { background: #eee; }
|
||||||
|
to { background: lightblue; }
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes flash-header {
|
||||||
|
from { background: lightblue; }
|
||||||
|
50% { background: #eee; }
|
||||||
|
to { background: lightblue; }
|
||||||
|
}
|
||||||
|
|
||||||
|
.setting:target .setting-header {
|
||||||
|
background: lightblue;
|
||||||
|
-webkit-animation: flash-header .5s 2 linear;
|
||||||
|
animation: flash-header .5s 2 linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
.setting-header {
|
||||||
|
background: #eee;
|
||||||
|
border-radius: 5px 0px 0px 0px;
|
||||||
|
padding: 0.5em 1em;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.setting-body {
|
||||||
|
padding: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.setting-name {
|
||||||
|
font-weight: bold;
|
||||||
|
display: inline;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.setting-type {
|
||||||
|
color: #666;
|
||||||
|
font-weight: bold;
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.setting-attribute {
|
||||||
|
margin-bottom: 0.8em;
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
.setting-attribute .label {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: top;
|
||||||
|
min-width: 6em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.setting-attribute .value {
|
||||||
|
display: inline-block;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.setting-deprecated {
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
.setting-description {
|
||||||
|
color: black;
|
||||||
|
margin-top: 1.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: darkblue;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
<title>FluidSettings</title>
|
<title>FluidSynth Settings</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>FluidSettings</h1>
|
<div id="sidebar">
|
||||||
|
<h1>FluidSynth Settings</h1>
|
||||||
|
|
||||||
|
<xsl:for-each select="fluidsettings/*">
|
||||||
|
<xsl:sort select="@label" />
|
||||||
|
|
||||||
|
<h2><xsl:value-of select="@label" /></h2>
|
||||||
<ul>
|
<ul>
|
||||||
<!-- Select the first setting of each group and use it for building up a TOC -->
|
<xsl:for-each select="*">
|
||||||
<xsl:for-each select="fluidsettings/*/*[isFirst]">
|
<li>
|
||||||
<xsl:sort select="name(..)" />
|
|
||||||
<li style="margin-bottom: 15px">
|
|
||||||
<xsl:attribute name="class">
|
|
||||||
<xsl:value-of select="name(..)" />
|
|
||||||
</xsl:attribute>
|
|
||||||
<a>
|
<a>
|
||||||
<xsl:attribute name="href"><![CDATA[#]]><xsl:value-of select="name(..)" /><![CDATA[.]]><xsl:value-of select="name" /></xsl:attribute>
|
<xsl:attribute name="href"><![CDATA[#]]><xsl:value-of select="name(..)" /><![CDATA[.]]><xsl:value-of select="name" /></xsl:attribute>
|
||||||
<xsl:value-of select="isFirst" />
|
<span class="muted"><xsl:value-of select="name(..)" /></span>.<xsl:value-of select="name" />
|
||||||
|
<xsl:if test="deprecated">
|
||||||
|
<span class="deprecated-badge">deprecated</span>
|
||||||
|
</xsl:if>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</xsl:for-each>
|
</xsl:for-each>
|
||||||
</ul>
|
</ul>
|
||||||
|
</xsl:for-each>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="main">
|
||||||
|
<xsl:for-each select="fluidsettings/*">
|
||||||
|
<xsl:sort select="@label" />
|
||||||
|
|
||||||
<table>
|
<h2><xsl:value-of select="@label" /></h2>
|
||||||
<!--print each and every setting row by row in the table-->
|
|
||||||
<xsl:for-each select="fluidsettings/*/*">
|
<xsl:for-each select="*">
|
||||||
<xsl:sort select="name(..)" />
|
<xsl:sort select="name(..)" />
|
||||||
<!-- <xsl:sort select="name" /> -->
|
<div class="setting">
|
||||||
<tr>
|
<xsl:attribute name="id">
|
||||||
<!-- the class attribute of tr shall be the name of the settings group of the current setting, unless the setting is marked deprecated -->
|
<xsl:value-of select="name(..)" /><![CDATA[.]]><xsl:value-of select="name" />
|
||||||
<xsl:attribute name="class">
|
|
||||||
<xsl:choose>
|
|
||||||
<xsl:when test="deprecated">
|
|
||||||
deprecated
|
|
||||||
</xsl:when>
|
|
||||||
<xsl:otherwise>
|
|
||||||
<xsl:value-of select="name(..)" />
|
|
||||||
</xsl:otherwise>
|
|
||||||
</xsl:choose>
|
|
||||||
</xsl:attribute>
|
</xsl:attribute>
|
||||||
|
|
||||||
<td class="cell-name first-row">
|
<div class="setting-header">
|
||||||
<xsl:attribute name="id"><xsl:value-of select="name(..)" /><![CDATA[.]]><xsl:value-of select="name" /></xsl:attribute>
|
<div class="setting-name">
|
||||||
<a>
|
|
||||||
<xsl:attribute name="href"><![CDATA[#]]><xsl:value-of select="name(..)" /><![CDATA[.]]><xsl:value-of select="name" /></xsl:attribute>
|
|
||||||
<xsl:value-of select="name(..)" />.<xsl:value-of select="name" />
|
<xsl:value-of select="name(..)" />.<xsl:value-of select="name" />
|
||||||
</a>
|
</div>
|
||||||
</td>
|
|
||||||
|
|
||||||
<th class="first-row">Type</th>
|
<div class="setting-type">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<td class="cell-type first-row">
|
<div class="setting-body">
|
||||||
|
|
||||||
|
<div class="setting-attribute">
|
||||||
|
<div class="label">Type:</div>
|
||||||
|
<div class="value">
|
||||||
<xsl:choose>
|
<xsl:choose>
|
||||||
<xsl:when test="type = 'bool'">
|
<xsl:when test="type = 'bool'">
|
||||||
int (bool)
|
Boolean (int)
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:when test="type = 'int'">
|
||||||
|
Integer (int)
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:when test="type = 'str'">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="vals">
|
||||||
|
Selection (str)
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
String (str)
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:when test="type = 'num'">
|
||||||
|
Float (num)
|
||||||
</xsl:when>
|
</xsl:when>
|
||||||
<xsl:otherwise>
|
<xsl:otherwise>
|
||||||
<xsl:value-of select="type" />
|
<xsl:value-of select="type" />
|
||||||
</xsl:otherwise>
|
</xsl:otherwise>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
</td>
|
</div>
|
||||||
</tr>
|
</div>
|
||||||
|
|
||||||
<tr>
|
|
||||||
<xsl:attribute name="class">
|
|
||||||
<xsl:choose>
|
<xsl:choose>
|
||||||
<xsl:when test="deprecated">
|
<xsl:when test="type = 'str' and vals">
|
||||||
deprecated
|
<div class="setting-attribute">
|
||||||
</xsl:when>
|
<div class="label">Options:</div>
|
||||||
<xsl:otherwise>
|
<div class="value"><xsl:value-of select="vals" /></div>
|
||||||
<xsl:value-of select="name(..)" />
|
</div>
|
||||||
</xsl:otherwise>
|
|
||||||
|
|
||||||
</xsl:choose>
|
|
||||||
</xsl:attribute>
|
|
||||||
|
|
||||||
<td></td>
|
|
||||||
<th>Default</th>
|
|
||||||
<td class="cell-def">
|
|
||||||
<xsl:copy-of select="def" />
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<xsl:attribute name="class">
|
|
||||||
<xsl:choose>
|
|
||||||
<xsl:when test="deprecated">
|
|
||||||
deprecated
|
|
||||||
</xsl:when>
|
|
||||||
<xsl:otherwise>
|
|
||||||
<xsl:value-of select="name(..)" />
|
|
||||||
</xsl:otherwise>
|
|
||||||
|
|
||||||
</xsl:choose>
|
|
||||||
</xsl:attribute>
|
|
||||||
|
|
||||||
<td></td>
|
|
||||||
<th>
|
|
||||||
<xsl:choose>
|
|
||||||
<xsl:when test="type = 'str'">
|
|
||||||
Values
|
|
||||||
</xsl:when>
|
</xsl:when>
|
||||||
<xsl:when test="type = 'bool'">
|
<xsl:when test="type = 'bool'">
|
||||||
Values
|
<div class="setting-attribute">
|
||||||
|
<div class="label">Values:</div>
|
||||||
|
<div class="value">0, 1</div>
|
||||||
|
</div>
|
||||||
</xsl:when>
|
</xsl:when>
|
||||||
<xsl:otherwise>
|
<xsl:when test="min or max">
|
||||||
Min
|
<div class="setting-attribute">
|
||||||
-
|
<div class="label">Min - Max:</div>
|
||||||
Max
|
<div class="value">
|
||||||
</xsl:otherwise>
|
|
||||||
</xsl:choose>
|
|
||||||
</th>
|
|
||||||
|
|
||||||
<td class="cell-vals">
|
|
||||||
<xsl:choose>
|
|
||||||
<xsl:when test="type = 'str'">
|
|
||||||
<xsl:value-of select="vals" />
|
|
||||||
</xsl:when>
|
|
||||||
<xsl:when test="type = 'bool'">
|
|
||||||
1, 0
|
|
||||||
</xsl:when>
|
|
||||||
<xsl:otherwise>
|
|
||||||
<xsl:value-of select="min" />
|
<xsl:value-of select="min" />
|
||||||
-
|
-
|
||||||
<xsl:value-of select="max" />
|
<xsl:value-of select="max" />
|
||||||
</xsl:otherwise>
|
</div>
|
||||||
</xsl:choose>
|
</div>
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<xsl:attribute name="class">
|
|
||||||
<xsl:choose>
|
|
||||||
<xsl:when test="deprecated">
|
|
||||||
deprecated
|
|
||||||
</xsl:when>
|
</xsl:when>
|
||||||
<xsl:otherwise>
|
|
||||||
<xsl:value-of select="name(..)" />
|
|
||||||
</xsl:otherwise>
|
|
||||||
|
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
</xsl:attribute>
|
|
||||||
|
|
||||||
<td></td>
|
<div class="setting-attribute">
|
||||||
<th>Description</th>
|
<div class="label">Default:</div>
|
||||||
<td class="cell-desc">
|
<div class="value"><xsl:copy-of select="def" /></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<xsl:if test="deprecated">
|
||||||
|
<div class="setting-deprecated">
|
||||||
|
This setting is deprecated and might be removed in a future version of FluidSynth.
|
||||||
|
</div>
|
||||||
|
</xsl:if>
|
||||||
|
|
||||||
|
<div class="setting-description">
|
||||||
<xsl:copy-of select="desc" />
|
<xsl:copy-of select="desc" />
|
||||||
<xsl:choose>
|
</div>
|
||||||
<xsl:when test="deprecated">
|
</div>
|
||||||
<br /><br />
|
</div>
|
||||||
<strong style="color:red">DEPRECATED</strong><br /><br />
|
|
||||||
<xsl:copy-of select="deprecated" />
|
|
||||||
</xsl:when>
|
|
||||||
</xsl:choose>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</xsl:for-each>
|
</xsl:for-each>
|
||||||
</table>
|
</xsl:for-each>
|
||||||
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
</xsl:stylesheet>
|
</xsl:stylesheet>
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue