[kde-doc-english] [kwave] /: handbook: added documentation of plugins 'samplerate' ... 'zero'

Thomas Eschenbacher Thomas.Eschenbacher at gmx.de
Tue Apr 7 20:16:18 UTC 2015


Git commit 65f39aeaa8380ed330603dbef4339701a03b2cc1 by Thomas Eschenbacher.
Committed on 07/04/2015 at 20:13.
Pushed by eschenbacher into branch 'master'.

handbook: added documentation of plugins 'samplerate' ... 'zero'

stringenter plugin: added optional parameter with preset string

renamed screenshots of sonagram and volume plugin

M  +4    -3    LICENSES
M  +463  -67   doc/en/index.docbook
M  +-    --    doc/en/kwave-plugin-noise.png
A  +-    --    doc/en/kwave-plugin-saveblocks.png
R  +-    --    doc/en/kwave-plugin-sonagram-setup.png [from: doc/en/kwave-sonagram-setup.png - 100% similarity]
R  +-    --    doc/en/kwave-plugin-sonagram-window.png [from: doc/en/kwave-sonagram.png - 100% similarity]
A  +-    --    doc/en/kwave-plugin-stringenter.png
R  +-    --    doc/en/kwave-plugin-volume.png [from: doc/en/kwave-volume.png - 100% similarity]
M  +1    -1    plugins/selectrange/SelectRangePlugin.cpp
M  +7    -1    plugins/stringenter/StringEnterDialog.cpp
M  +2    -1    plugins/stringenter/StringEnterDialog.h
M  +4    -2    plugins/stringenter/StringEnterPlugin.cpp
M  +47   -15   scripts/screenshots.kwave

http://commits.kde.org/kwave/65f39aeaa8380ed330603dbef4339701a03b2cc1

diff --git a/LICENSES b/LICENSES
index 669b842..5d03b40 100644
--- a/LICENSES
+++ b/LICENSES
@@ -171,9 +171,10 @@ COMPLETE LIST OF FILES AND THEIR LICENSE
 	doc/en/kwave-plugin-pitch_shift.png		(should be FDL)
 	doc/en/kwave-plugin-playback.png		(should be FDL)
 	doc/en/kwave-plugin-record.png			(should be FDL)
-	doc/en/kwave-sonagram.png			(should be FDL)
-	doc/en/kwave-sonagram-setup.png			(should be FDL)
-	doc/en/kwave-volume.png				(should be FDL)
+	doc/en/kwave-plugin-selectrange.png		(should be FDL)
+	doc/en/kwave-plugin-sonagram-setup.png		(should be FDL)
+	doc/en/kwave-plugin-sonagram-window.png		(should be FDL)
+	doc/en/kwave-plugin-volume.png			(should be FDL)
 	doc/en/light_off.png				LGPL2 (crystal project) [derived from greenled.png]
 	doc/en/light_on.png				LGPL2 (crystal project) [derived from greenled.png]
 #	doc/en/nonlinear.png				??? UNKNOWN ??? (arrow only)
diff --git a/doc/en/index.docbook b/doc/en/index.docbook
index 4491b63..e23adc7 100644
--- a/doc/en/index.docbook
+++ b/doc/en/index.docbook
@@ -2842,7 +2842,8 @@
 	&kwave; since its first version uses an internal text command language.
 	This command language is used internally for menu handling, GUI control,
 	builtin effects and plugin invocations. The commands will be described
-	later in the section <link linkend="kwave_commands">Command Reference</link>.
+	later in the section
+	<link linkend="kwave_commands" endterm="title_kwave_commands" />.
     </para>
 
     <sect1><title>General Syntax</title>
@@ -3097,7 +3098,7 @@
 <!-- +++ Section: Command Reference                                     +++ -->
 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
 
-    <sect1 id="kwave_commands"><title>Command Reference</title>
+    <sect1 id="kwave_commands"><title id="title_kwave_commands">Command Reference</title>
 	<index><title>Alphabetical Index</title>
 	    &no-i18n-tag;
 	    <!-- @COMMAND_INDEX_START@ -->
@@ -6836,19 +6837,8 @@
     </variablelist>
     </sect1>
 
-    <!-- @PLUGIN@ samplerate (TODO) -->
+    <!-- @PLUGIN@ samplerate -->
     <sect1 id="plugin_sect_samplerate"><title id="plugin_title_samplerate">&no-i18n-plugin_samplerate; (Sample Rate Conversion)</title>
-    <!-- <screenshot>
-	<screeninfo>Screenshot</screeninfo>
-	<mediaobject>
-	    <imageobject>
-		<imagedata fileref="kwave-plugin-samplerate.png" format="PNG"/>
-	    </imageobject>
-	    <textobject>
-		<phrase>Screenshot of the Sample Rate Conversion Plugin</phrase>
-	    </textobject>
-	</mediaobject>
-    </screenshot> -->
     <variablelist>
 	<varlistentry>
 	    <term><emphasis role="bold">&i18n-plugin_lbl_internal_name;</emphasis></term>
@@ -6862,31 +6852,45 @@
 	    <term><emphasis role="bold">&i18n-plugin_lbl_description;</emphasis></term>
 	    <listitem>
 	    <para>
-	        TODO: description of what the Sample Rate Conversion plugin does...
+	        Changes the sample rate of the current selection or the whole
+		signal.
 	    </para>
 	    </listitem>
 	</varlistentry>
-	<!-- varlistentry>
+	<varlistentry>
 	    <term><emphasis role="bold">&i18n-plugin_lbl_parameters;</emphasis>:</term>
 	    <listitem>
 		<variablelist>
 		    <varlistentry>
-			<term><replaceable>operation</replaceable></term>
+			<term><replaceable>new rate</replaceable></term>
 			<listitem>
 			    <para>
-				description of the parameter
+				The new sample rate in samples per second
+				(floating point value).
+			    </para>
+			</listitem>
+		    </varlistentry>
+		    <varlistentry>
+			<term><replaceable>mode</replaceable> (optional)</term>
+			<listitem>
+			    <para>
+				If this parameter is used and set to the
+				value "<literal>all</literal>", then this
+				effect will be applied to the whole signal.
+				Otherwise it will be applied to the current
+				selection only.
 			    </para>
 			</listitem>
 		    </varlistentry>
 		</variablelist>
 	    </listitem>
-	</varlistentry -->
+	</varlistentry>
     </variablelist>
     </sect1>
 
-    <!-- @PLUGIN@ saveblocks (TODO) -->
+    <!-- @PLUGIN@ saveblocks -->
     <sect1 id="plugin_sect_saveblocks"><title id="plugin_title_saveblocks">&no-i18n-plugin_saveblocks; (Save Blocks)</title>
-    <!-- <screenshot>
+    <screenshot>
 	<screeninfo>Screenshot</screeninfo>
 	<mediaobject>
 	    <imageobject>
@@ -6896,7 +6900,7 @@
 		<phrase>Screenshot of the Save Blocks Plugin</phrase>
 	    </textobject>
 	</mediaobject>
-    </screenshot> -->
+    </screenshot>
     <variablelist>
 	<varlistentry>
 	    <term><emphasis role="bold">&i18n-plugin_lbl_internal_name;</emphasis></term>
@@ -6910,31 +6914,166 @@
 	    <term><emphasis role="bold">&i18n-plugin_lbl_description;</emphasis></term>
 	    <listitem>
 	    <para>
-	        TODO: description of what the Save Blocks plugin does...
+		Saves all sections between markers, each into a separate file.
+		Each file is given a name that can be customized by using
+		a pattern that can contain the original file name, an index
+		and the number of sections.
 	    </para>
 	    </listitem>
 	</varlistentry>
-	<!-- varlistentry>
+	<varlistentry>
 	    <term><emphasis role="bold">&i18n-plugin_lbl_parameters;</emphasis>:</term>
 	    <listitem>
 		<variablelist>
 		    <varlistentry>
-			<term><replaceable>operation</replaceable></term>
+			<term><replaceable>name</replaceable></term>
 			<listitem>
 			    <para>
-				description of the parameter
+				The name of the original file, will be used as
+				base name for the file names.
+			    </para>
+			</listitem>
+		    </varlistentry>
+
+		    <varlistentry>
+			<term><replaceable>pattern</replaceable></term>
+			<listitem>
+			    <para>
+				A pattern that will be used for creating the
+				names of the files. It can contain the
+				following wildcards which will be replaced
+				by the corresponding content when creating
+				the final file name:
+				<informaltable frame='all'>
+				    <tgroup cols='2'>
+					<thead>
+					    <row>
+						<entry align='left'>wildcard</entry>
+						<entry align='left'>description</entry>
+					    </row>
+					</thead>
+					<tbody>
+					    <row>
+						<entry>&no-i18n-tag;<command>[%nr]</command></entry>
+						<entry>
+						    Will be replaced with the current index of the
+						    file to save.
+						</entry>
+					    </row>
+					    <row>
+						<entry>&no-i18n-tag;<command>[%count]</command></entry>
+						<entry>
+						    Will be replaced with the number of sections that
+						    will be saved.
+						</entry>
+					    </row>
+					    <row>
+						<entry>&no-i18n-tag;<command>[%total]</command></entry>
+						<entry>
+						    Will be replaced with the index of the last file
+						    to save.
+						</entry>
+					    </row>
+					    <row>
+						<entry>&no-i18n-tag;<command>[%filename]</command></entry>
+						<entry>
+						    Will be replaced with the base file name,
+						    without path and without extension.
+						</entry>
+					    </row>
+					</tbody>
+				    </tgroup>
+				</informaltable>
+				All numeric wildcards can also contain a numerical argument after the
+				"<literal>%</literal>" and the identifier, to force a certain number
+				of digits. If the number is preceded by a <literal>0</literal> then
+				it will contain leading zeroes, otherwise it will contain leading
+				spaces.
+
+				Example: <command><literal>[%04nr]</literal></command> produces a
+				number between 0001 and 9999.
+			    </para>
+			</listitem>
+		    </varlistentry>
+
+		    <varlistentry>
+			<term><replaceable>numbering mode</replaceable></term>
+			<listitem>
+			    <para>
+				Determines where the numbering should start.
+				<informaltable frame='all'>
+				    <tgroup cols='2'>
+					<thead>
+					    <row>
+						<entry align='left'>value</entry>
+						<entry align='left'>description</entry>
+					    </row>
+					</thead>
+					<tbody>
+					    <row>
+						<entry>&no-i18n-tag;<command>0</command></entry>
+						<entry>
+						    Continue after the index of the highest
+						    index that already exists, this avoids
+						    overwriting existing files.
+						</entry>
+					    </row>
+					    <row>
+						<entry>&no-i18n-tag;<command>1</command></entry>
+						<entry>
+						    Always start with index 1, with the risk
+						    of overwriting existing files.
+						</entry>
+					    </row>
+					</tbody>
+				    </tgroup>
+				</informaltable>
+			    </para>
+			</listitem>
+		    </varlistentry>
+
+		    <varlistentry>
+			<term><replaceable>selection only</replaceable></term>
+			<listitem>
+			    <para>
+				<informaltable frame='all'>
+				    <tgroup cols='2'>
+					<thead>
+					    <row>
+						<entry align='left'>value</entry>
+						<entry align='left'>description</entry>
+					    </row>
+					</thead>
+					<tbody>
+					    <row>
+						<entry>&no-i18n-tag;<command>0</command></entry>
+						<entry>
+						    Save all sections of the whole file.
+						</entry>
+					    </row>
+					    <row>
+						<entry>&no-i18n-tag;<command>1</command></entry>
+						<entry>
+						    Save only the sections that are within the
+						    current selection. If nothing is selected,
+						    the whole file will be saved.
+						</entry>
+					    </row>
+					</tbody>
+				    </tgroup>
+				</informaltable>
 			    </para>
 			</listitem>
 		    </varlistentry>
 		</variablelist>
 	    </listitem>
-	</varlistentry -->
+	</varlistentry>
     </variablelist>
     </sect1>
 
-    <!-- @PLUGIN@ selectrange (TODO) -->
+    <!-- @PLUGIN@ selectrange -->
     <sect1 id="plugin_sect_selectrange"><title id="plugin_title_selectrange">&no-i18n-plugin_selectrange; (Select Range)</title>
-    <!-- <screenshot>
+    <screenshot>
 	<screeninfo>Screenshot</screeninfo>
 	<mediaobject>
 	    <imageobject>
@@ -6944,7 +7083,7 @@
 		<phrase>Screenshot of the Select Range Plugin</phrase>
 	    </textobject>
 	</mediaobject>
-    </screenshot> -->
+    </screenshot>
     <variablelist>
 	<varlistentry>
 	    <term><emphasis role="bold">&i18n-plugin_lbl_internal_name;</emphasis></term>
@@ -6958,41 +7097,118 @@
 	    <term><emphasis role="bold">&i18n-plugin_lbl_description;</emphasis></term>
 	    <listitem>
 	    <para>
-	        TODO: description of what the Select Range plugin does...
+	        Shows a dialog to select a range of samples. The start and the
+		length of the selection can be set either by a time in milliseconds,
+		in samples, or as a percentage of the total length of the file.
 	    </para>
 	    </listitem>
 	</varlistentry>
-	<!-- varlistentry>
+	<varlistentry>
 	    <term><emphasis role="bold">&i18n-plugin_lbl_parameters;</emphasis>:</term>
 	    <listitem>
 		<variablelist>
 		    <varlistentry>
-			<term><replaceable>operation</replaceable></term>
+			<term id="select_range_start_mode"><replaceable>start mode</replaceable></term>
 			<listitem>
 			    <para>
-				description of the parameter
+				Determines the units in which the
+				<emphasis>start</emphasis> of the selection
+				will be given.
+				<informaltable frame='all'>
+				    <tgroup cols='2'>
+					<thead>
+					    <row>
+						<entry align='left'>value</entry>
+						<entry align='left'>description</entry>
+					    </row>
+					</thead>
+					<tbody>
+					    <row>
+						<entry>&no-i18n-tag;<command>0</command></entry>
+						<entry>milliseconds</entry>
+					    </row>
+					    <row>
+						<entry>&no-i18n-tag;<command>1</command></entry>
+						<entry>samples</entry>
+					    </row>
+					    <row>
+						<entry>&no-i18n-tag;<command>2</command></entry>
+						<entry>percentage of the length of the file</entry>
+					    </row>
+					</tbody>
+				    </tgroup>
+				</informaltable>
+			    </para>
+			</listitem>
+		    </varlistentry>
+
+		    <varlistentry>
+			<term><replaceable>range mode</replaceable></term>
+			<listitem>
+			    <para>
+				Determines the units in which the
+				<emphasis>length</emphasis> of
+				the selection will be given. See the description
+				if the parameter
+				<parameter>start mode</parameter>
+				for a list of possible values.
+			    </para>
+			</listitem>
+		    </varlistentry>
+
+		    <varlistentry>
+			<term><replaceable>start</replaceable></term>
+			<listitem>
+			    <para>
+				The start of the selection, in milliseconds,
+				samples or percentage of the length of the
+				file, depending on the parameter
+				<parameter>range mode</parameter>.
+			    </para>
+			</listitem>
+		    </varlistentry>
+
+		    <varlistentry>
+			<term><replaceable>length</replaceable></term>
+			<listitem>
+			    <para>
+				The length of the selection, in milliseconds,
+				samples or percentage of the length of the
+				file, depending on the parameter
+				<parameter>range mode</parameter>.
 			    </para>
 			</listitem>
 		    </varlistentry>
 		</variablelist>
 	    </listitem>
-	</varlistentry -->
+	</varlistentry>
     </variablelist>
     </sect1>
 
-    <!-- @PLUGIN@ sonagram (TODO) -->
+    <!-- @PLUGIN@ sonagram -->
     <sect1 id="plugin_sect_sonagram"><title id="plugin_title_sonagram">&no-i18n-plugin_sonagram; (Sonagram)</title>
-    <!-- <screenshot>
+    <screenshot>
 	<screeninfo>Screenshot</screeninfo>
 	<mediaobject>
 	    <imageobject>
-		<imagedata fileref="kwave-plugin-sonagram.png" format="PNG"/>
+		<imagedata fileref="kwave-plugin-sonagram-setup.png" format="PNG"/>
 	    </imageobject>
 	    <textobject>
-		<phrase>Screenshot of the Sonagram Plugin</phrase>
+		<phrase>Screenshot of the setup dialog of the Sonagram Plugin</phrase>
 	    </textobject>
 	</mediaobject>
-    </screenshot> -->
+    </screenshot>
+    <screenshot>
+	<screeninfo>Screenshot</screeninfo>
+	<mediaobject>
+	    <imageobject>
+		<imagedata fileref="kwave-plugin-sonagram-window.png" format="PNG"/>
+	    </imageobject>
+	    <textobject>
+		<phrase>Screenshot of the Sonagram Window</phrase>
+	    </textobject>
+	</mediaobject>
+    </screenshot>
     <variablelist>
 	<varlistentry>
 	    <term><emphasis role="bold">&i18n-plugin_lbl_internal_name;</emphasis></term>
@@ -7006,31 +7222,121 @@
 	    <term><emphasis role="bold">&i18n-plugin_lbl_description;</emphasis></term>
 	    <listitem>
 	    <para>
-	        TODO: description of what the Sonagram plugin does...
+		Evaluates the current selection by generating a
+		<emphasis>sonagram</emphasis>. A sonagram is an evaluation
+		of a signal over time (x axis), frequency (y axis) and
+		intensity (color).
 	    </para>
 	    </listitem>
 	</varlistentry>
-	<!-- varlistentry>
+	<varlistentry>
 	    <term><emphasis role="bold">&i18n-plugin_lbl_parameters;</emphasis>:</term>
 	    <listitem>
 		<variablelist>
 		    <varlistentry>
-			<term><replaceable>operation</replaceable></term>
+			<term><replaceable>FFT points</replaceable></term>
+			<listitem>
+			    <para>
+				Number of points of the FFT, a whole number
+				between 4 and 32767 which determines the
+				frequency resolution.
+			    </para>
+			</listitem>
+		    </varlistentry>
+
+		    <varlistentry>
+			<term><replaceable>window function</replaceable></term>
+			<listitem>
+			    <para>
+				The window function used for the FFT calculation,
+				supported values are:
+				<informaltable frame='all'>
+				    <tgroup cols='2'>
+					<thead>
+					    <row>
+						<entry align='left'>value</entry>
+						<entry align='left'>description</entry>
+					    </row>
+					</thead>
+					<tbody>
+					    <row>
+						<entry>&no-i18n-tag;<command>none</command></entry>
+						<entry>no window function</entry>
+					    </row>
+					    <row>
+						<entry>&no-i18n-tag;<command>hamming</command></entry>
+						<entry>
+						    <personname>
+							<surname>Hamming</surname>
+						    </personname> window
+						</entry>
+					    </row>
+					    <row>
+						<entry>&no-i18n-tag;<command>hanning</command></entry>
+						<entry>
+						    <personname>
+							<surname>Hanning</surname>
+						    </personname> window
+						</entry>
+					    </row>
+					    <row>
+						<entry>&no-i18n-tag;<command>blackman</command></entry>
+						<entry>
+						    <personname>
+							<surname>Blackman</surname>
+						    </personname> window
+						</entry>
+					    </row>
+					    <row>
+						<entry>&no-i18n-tag;<command>triangular</command></entry>
+						<entry>Triangular window</entry>
+					    </row>
+					</tbody>
+				    </tgroup>
+				</informaltable>
+			    </para>
+			</listitem>
+		    </varlistentry>
+
+		    <varlistentry>
+			<term><replaceable>use colors</replaceable></term>
+			<listitem>
+			    <para>
+				If set to non-zero, generate use colors.
+				If set to zero use grayscales for intensity.
+			    </para>
+			</listitem>
+		    </varlistentry>
+
+		    <varlistentry>
+			<term><replaceable>track changes</replaceable></term>
+			<listitem>
+			    <para>
+				If set to non-zero, the sonagram will be updated
+				when the area that was evaluated has changed.
+				If set to zero it will never be updated.
+			    </para>
+			</listitem>
+		    </varlistentry>
+
+		    <varlistentry>
+			<term><replaceable>follow selection</replaceable></term>
 			<listitem>
 			    <para>
-				description of the parameter
+				Not yet implemented, use zero for this parameter.
 			    </para>
 			</listitem>
 		    </varlistentry>
+
 		</variablelist>
 	    </listitem>
-	</varlistentry -->
+	</varlistentry>
     </variablelist>
     </sect1>
 
-    <!-- @PLUGIN@ stringenter (TODO) -->
+    <!-- @PLUGIN@ stringenter -->
     <sect1 id="plugin_sect_stringenter"><title id="plugin_title_stringenter">&no-i18n-plugin_stringenter; (Enter Command)</title>
-    <!-- <screenshot>
+    <screenshot>
 	<screeninfo>Screenshot</screeninfo>
 	<mediaobject>
 	    <imageobject>
@@ -7040,7 +7346,7 @@
 		<phrase>Screenshot of the Enter Command Plugin</phrase>
 	    </textobject>
 	</mediaobject>
-    </screenshot> -->
+    </screenshot>
     <variablelist>
 	<varlistentry>
 	    <term><emphasis role="bold">&i18n-plugin_lbl_internal_name;</emphasis></term>
@@ -7054,31 +7360,36 @@
 	    <term><emphasis role="bold">&i18n-plugin_lbl_description;</emphasis></term>
 	    <listitem>
 	    <para>
-	        TODO: description of what the Enter Command plugin does...
+		A small dialog window that allows to enter a &kwave; text command.
+		Please refer to the chapter
+		<link linkend="kwave_commands" endterm="title_kwave_commands"/> in
+		this manual.
 	    </para>
 	    </listitem>
 	</varlistentry>
-	<!-- varlistentry>
+	<varlistentry>
 	    <term><emphasis role="bold">&i18n-plugin_lbl_parameters;</emphasis>:</term>
 	    <listitem>
 		<variablelist>
 		    <varlistentry>
-			<term><replaceable>operation</replaceable></term>
+			<term><replaceable>preset</replaceable> (optional)</term>
 			<listitem>
 			    <para>
-				description of the parameter
+				A text that is shown in the dialog. This parameter
+				is optional, if omitted the edit field of the
+				dialog will be empty at start.
 			    </para>
 			</listitem>
 		    </varlistentry>
 		</variablelist>
 	    </listitem>
-	</varlistentry -->
+	</varlistentry>
     </variablelist>
     </sect1>
 
-    <!-- @PLUGIN@ volume (TODO) -->
+    <!-- @PLUGIN@ volume -->
     <sect1 id="plugin_sect_volume"><title id="plugin_title_volume">&no-i18n-plugin_volume; (Volume)</title>
-    <!-- <screenshot>
+    <screenshot>
 	<screeninfo>Screenshot</screeninfo>
 	<mediaobject>
 	    <imageobject>
@@ -7088,7 +7399,7 @@
 		<phrase>Screenshot of the Volume Plugin</phrase>
 	    </textobject>
 	</mediaobject>
-    </screenshot> -->
+    </screenshot>
     <variablelist>
 	<varlistentry>
 	    <term><emphasis role="bold">&i18n-plugin_lbl_internal_name;</emphasis></term>
@@ -7102,29 +7413,74 @@
 	    <term><emphasis role="bold">&i18n-plugin_lbl_description;</emphasis></term>
 	    <listitem>
 	    <para>
-	        TODO: description of what the Volume plugin does...
+	        With this plugin you can change the volume of the current selection
+		by a constant factor. The corresponding dialog allows to enter
+		this factor as a
+		<emphasis>numeric factor</emphasis> given as a floating point
+		value between 0.10 and 10.0,
+		a <emphasis>percentage</emphasis> between 1 and 1000,
+		or in <emphasis>decibel</emphasis> between -21 and +21.
+	    </para>
+	    <para>
+		Use a factor above 1.0 (or percentage below 100 or more than 0 dB)
+		if the file is too silent, or a factor below 1.0
+		(percentage below 100 or less than 0 dB)
+		if the file is too loud.
 	    </para>
 	    </listitem>
 	</varlistentry>
-	<!-- varlistentry>
+	<varlistentry>
 	    <term><emphasis role="bold">&i18n-plugin_lbl_parameters;</emphasis>:</term>
 	    <listitem>
 		<variablelist>
 		    <varlistentry>
-			<term><replaceable>operation</replaceable></term>
+			<term><replaceable>factor</replaceable></term>
 			<listitem>
 			    <para>
-				description of the parameter
+				A floating point value with the amplification
+				factor.
+			    </para>
+			</listitem>
+		    </varlistentry>
+		    <varlistentry>
+			<term><replaceable>mode</replaceable></term>
+			<listitem>
+			    <para>
+				<informaltable frame='all'>
+				    <tgroup cols='2'>
+					<thead>
+					    <row>
+						<entry align='left'>value</entry>
+						<entry align='left'>description</entry>
+					    </row>
+					</thead>
+					<tbody>
+					    <row>
+						<entry>&no-i18n-tag;<command>0</command></entry>
+						<entry>factor</entry>
+					    </row>
+					    <row>
+						<entry>&no-i18n-tag;<command>1</command></entry>
+						<entry>percentage</entry>
+					    </row>
+					    <row>
+						<entry>&no-i18n-tag;<command>1</command></entry>
+						<entry>decibel</entry>
+					    </row>
+					</tbody>
+				    </tgroup>
+				</informaltable>
+
 			    </para>
 			</listitem>
 		    </varlistentry>
 		</variablelist>
 	    </listitem>
-	</varlistentry -->
+	</varlistentry>
     </variablelist>
     </sect1>
 
-    <!-- @PLUGIN@ zero (TODO) -->
+    <!-- @PLUGIN@ zero -->
     <sect1 id="plugin_sect_zero"><title id="plugin_title_zero">&no-i18n-plugin_zero; (Zero Generator)</title>
     <variablelist>
 	<varlistentry>
@@ -7139,25 +7495,65 @@
 	    <term><emphasis role="bold">&i18n-plugin_lbl_description;</emphasis></term>
 	    <listitem>
 	    <para>
-	        TODO: description of what the Zero Generator plugin does...
+	        This plugin has two modes of operation. If used without parameters
+		it wipes the current selection by overwriting it with silence.
+		When used with two parameters, it inserts some
+		amount of silence at the start of the current selection.
 	    </para>
 	    </listitem>
 	</varlistentry>
-	<!-- varlistentry>
+	<varlistentry>
 	    <term><emphasis role="bold">&i18n-plugin_lbl_parameters;</emphasis>:</term>
 	    <listitem>
 		<variablelist>
 		    <varlistentry>
-			<term><replaceable>operation</replaceable></term>
+			<term><replaceable>length mode</replaceable></term>
+			<listitem>
+			    <para>
+				Determines the units in which the
+				<emphasis>length</emphasis> of the inserted silence
+				will be given.
+				<informaltable frame='all'>
+				    <tgroup cols='2'>
+					<thead>
+					    <row>
+						<entry align='left'>value</entry>
+						<entry align='left'>description</entry>
+					    </row>
+					</thead>
+					<tbody>
+					    <row>
+						<entry>&no-i18n-tag;<command>0</command></entry>
+						<entry>milliseconds</entry>
+					    </row>
+					    <row>
+						<entry>&no-i18n-tag;<command>1</command></entry>
+						<entry>samples</entry>
+					    </row>
+					    <row>
+						<entry>&no-i18n-tag;<command>2</command></entry>
+						<entry>percentage of the length of the file</entry>
+					    </row>
+					</tbody>
+				    </tgroup>
+				</informaltable>
+			    </para>
+			</listitem>
+		    </varlistentry>
+		    <varlistentry>
+			<term><replaceable>length</replaceable></term>
 			<listitem>
 			    <para>
-				description of the parameter
+				Length of the silence to insert, in milliseconds,
+				samples or percentage of the length of the
+				file, depending on the parameter
+				<parameter>length mode</parameter>.
 			    </para>
 			</listitem>
 		    </varlistentry>
 		</variablelist>
 	    </listitem>
-	</varlistentry -->
+	</varlistentry>
     </variablelist>
     </sect1>
 
diff --git a/doc/en/kwave-plugin-noise.png b/doc/en/kwave-plugin-noise.png
index d743b92..e58b489 100644
Binary files a/doc/en/kwave-plugin-noise.png and b/doc/en/kwave-plugin-noise.png differ
diff --git a/doc/en/kwave-plugin-saveblocks.png b/doc/en/kwave-plugin-saveblocks.png
new file mode 100644
index 0000000..34cd21b
Binary files /dev/null and b/doc/en/kwave-plugin-saveblocks.png differ
diff --git a/doc/en/kwave-sonagram-setup.png b/doc/en/kwave-plugin-sonagram-setup.png
similarity index 100%
rename from doc/en/kwave-sonagram-setup.png
rename to doc/en/kwave-plugin-sonagram-setup.png
diff --git a/doc/en/kwave-sonagram.png b/doc/en/kwave-plugin-sonagram-window.png
similarity index 100%
rename from doc/en/kwave-sonagram.png
rename to doc/en/kwave-plugin-sonagram-window.png
diff --git a/doc/en/kwave-plugin-stringenter.png b/doc/en/kwave-plugin-stringenter.png
new file mode 100644
index 0000000..d8acb3c
Binary files /dev/null and b/doc/en/kwave-plugin-stringenter.png differ
diff --git a/doc/en/kwave-volume.png b/doc/en/kwave-plugin-volume.png
similarity index 100%
rename from doc/en/kwave-volume.png
rename to doc/en/kwave-plugin-volume.png
diff --git a/plugins/selectrange/SelectRangePlugin.cpp b/plugins/selectrange/SelectRangePlugin.cpp
index 742fca3..f7890e8 100644
--- a/plugins/selectrange/SelectRangePlugin.cpp
+++ b/plugins/selectrange/SelectRangePlugin.cpp
@@ -52,7 +52,7 @@ Kwave::SelectRangePlugin::~SelectRangePlugin()
 //***************************************************************************
 QStringList *Kwave::SelectRangePlugin::setup(QStringList &previous_params)
 {
-    // try to interprete the previous parameters
+    // try to interpret the previous parameters
     interpreteParameters(previous_params);
 
     // create the setup dialog
diff --git a/plugins/stringenter/StringEnterDialog.cpp b/plugins/stringenter/StringEnterDialog.cpp
index d45c396..0695450 100644
--- a/plugins/stringenter/StringEnterDialog.cpp
+++ b/plugins/stringenter/StringEnterDialog.cpp
@@ -32,7 +32,8 @@
 #define CONFIG_WIDTH "width"
 
 //***************************************************************************
-Kwave::StringEnterDialog::StringEnterDialog(QWidget *parent)
+Kwave::StringEnterDialog::StringEnterDialog(QWidget *parent,
+                                            const QString &preset)
     :QDialog(parent), Ui::StringEnterDlg(), m_command()
 {
     setupUi(this);
@@ -46,6 +47,11 @@ Kwave::StringEnterDialog::StringEnterDialog(QWidget *parent)
     int          w      = result.toUInt(&ok);
     if (ok && (w > sizeHint().width()))
 	resize(w, height());
+
+    if (preset.length()) {
+	edCommand->setText(preset);
+	m_command = preset;
+    }
 }
 
 //***************************************************************************
diff --git a/plugins/stringenter/StringEnterDialog.h b/plugins/stringenter/StringEnterDialog.h
index 127d874..d3bc101 100644
--- a/plugins/stringenter/StringEnterDialog.h
+++ b/plugins/stringenter/StringEnterDialog.h
@@ -38,8 +38,9 @@ namespace Kwave
 	/**
 	 * Constructor.
 	 * @param parent the parent widget the dialog belongs to
+	 * @param preset initial text of the line edit field
 	 */
-	explicit StringEnterDialog(QWidget *parent);
+	explicit StringEnterDialog(QWidget *parent, const QString &preset);
 
 	/** Destructor */
 	virtual ~StringEnterDialog();
diff --git a/plugins/stringenter/StringEnterPlugin.cpp b/plugins/stringenter/StringEnterPlugin.cpp
index b71e27c..7c7efda 100644
--- a/plugins/stringenter/StringEnterPlugin.cpp
+++ b/plugins/stringenter/StringEnterPlugin.cpp
@@ -54,11 +54,13 @@ void Kwave::StringEnterPlugin::load(QStringList &params)
 //***************************************************************************
 QStringList *Kwave::StringEnterPlugin::setup(QStringList &previous_params)
 {
-    Q_UNUSED(previous_params);
+    QString preset = QString();
+    if (previous_params.count() == 1)
+	preset = previous_params[0];
 
     // create the setup dialog
     QPointer<Kwave::StringEnterDialog> dialog =
-	new Kwave::StringEnterDialog(parentWidget());
+	new Kwave::StringEnterDialog(parentWidget(), preset);
     Q_ASSERT(dialog);
     if (!dialog) return 0;
 
diff --git a/scripts/screenshots.kwave b/scripts/screenshots.kwave
index bca7684..e5939ad 100644
--- a/scripts/screenshots.kwave
+++ b/scripts/screenshots.kwave
@@ -119,8 +119,8 @@ main:
     view:zoom_all()
     plugin:execute(selectrange,2,2,25,10)
     expandtolabel()
-    delayed(1500,window:mousemove(Kwave::TrackView,350,80))
-    delayed(1500,window:screenshot(Kwave::TopWidget, /var/tmp/screenshots/${LANG}/kwave-main.png))
+    delayed(1000,window:mousemove(Kwave::TrackView,350,80))
+    delayed(1000,window:screenshot(Kwave::TopWidget, /var/tmp/screenshots/${LANG}/kwave-main.png))
     sync()
 
 #
@@ -136,7 +136,7 @@ plugin-about:
 #
 plugin-amplifyfree:
     selectall()
-    delayed(2000,window:resize(Kwave::AmplifyFreeDialog, 400, 300))
+    delayed(1000,window:resize(Kwave::AmplifyFreeDialog, 400, 300))
     delayed(500,window:click(Kwave::CurveWidget, 120, 50))
     delayed(500,window:screenshot(Kwave::AmplifyFreeDialog, /var/tmp/screenshots/${LANG}/kwave-plugin-amplifyfree.png))
     delayed(100,window:close(Kwave::AmplifyFreeDialog))
@@ -167,7 +167,7 @@ plugin-codec_mp3:
 # screenshot of the File Info dialog
 #
 plugin-fileinfo:
-    delayed(2000,window:screenshot(Kwave::FileInfoDialog, /var/tmp/screenshots/${LANG}/kwave-plugin-fileinfo.png))
+    delayed(1000,window:screenshot(Kwave::FileInfoDialog, /var/tmp/screenshots/${LANG}/kwave-plugin-fileinfo.png))
     delayed(100,window:close(Kwave::FileInfoDialog))
     plugin:setup(fileinfo)
     sync()
@@ -176,7 +176,7 @@ plugin-fileinfo:
 # screenshot of the Goto plugin
 #
 plugin-goto:
-    delayed(2000,window:screenshot(Kwave::GotoDialog, /var/tmp/screenshots/${LANG}/kwave-plugin-goto.png))
+    delayed(1000,window:screenshot(Kwave::GotoDialog, /var/tmp/screenshots/${LANG}/kwave-plugin-goto.png))
     delayed(100,window:close(Kwave::GotoDialog))
     plugin:setup(goto, 2, 42)
     sync()
@@ -185,7 +185,7 @@ plugin-goto:
 # screenshot of the Insert At plugin
 #
 plugin-insert_at:
-    delayed(2000,window:screenshot(Kwave::GotoDialog, /var/tmp/screenshots/${LANG}/kwave-plugin-insert_at.png))
+    delayed(1000,window:screenshot(Kwave::GotoDialog, /var/tmp/screenshots/${LANG}/kwave-plugin-insert_at.png))
     delayed(100,window:close(Kwave::GotoDialog))
     plugin:setup(insert_at, 2, 42)
     sync()
@@ -195,7 +195,7 @@ plugin-insert_at:
 #
 plugin-lowpass:
     selectall()
-    delayed(2000,window:screenshot(Kwave::LowPassDialog, /var/tmp/screenshots/${LANG}/kwave-plugin-lowpass.png))
+    delayed(1000,window:screenshot(Kwave::LowPassDialog, /var/tmp/screenshots/${LANG}/kwave-plugin-lowpass.png))
     delayed(100,window:close(Kwave::LowPassDialog))
     plugin:setup(lowpass, 2342)
     sync()
@@ -205,7 +205,7 @@ plugin-lowpass:
 #
 plugin-noise:
     selectall()
-    delayed(2000,window:screenshot(Kwave::NoiseDialog, /var/tmp/screenshots/${LANG}/kwave-plugin-noise.png))
+    delayed(1000,window:screenshot(Kwave::NoiseDialog, /var/tmp/screenshots/${LANG}/kwave-plugin-noise.png))
     delayed(100,window:close(Kwave::NoiseDialog))
     plugin:setup(noise, 0.22, 1)
     sync()
@@ -233,7 +233,7 @@ plugin-newsignal:
 #
 plugin-notch_filter:
     selectall()
-    delayed(2000,window:screenshot(Kwave::NotchFilterDialog, /var/tmp/screenshots/${LANG}/kwave-plugin-notch_filter.png))
+    delayed(1000,window:screenshot(Kwave::NotchFilterDialog, /var/tmp/screenshots/${LANG}/kwave-plugin-notch_filter.png))
     delayed(100,window:close(Kwave::NotchFilterDialog))
     plugin:setup(notch_filter, 880, 230)
     sync()
@@ -243,7 +243,7 @@ plugin-notch_filter:
 #
 plugin-pitch_shift:
     selectall()
-    delayed(2000,window:screenshot(Kwave::PitchShiftDialog, /var/tmp/screenshots/${LANG}/kwave-plugin-pitch_shift.png))
+    delayed(1000,window:screenshot(Kwave::PitchShiftDialog, /var/tmp/screenshots/${LANG}/kwave-plugin-pitch_shift.png))
     delayed(100,window:close(Kwave::PitchShiftDialog))
     plugin:setup(pitch_shift,1.23, 4, 1)
     sync()
@@ -252,7 +252,7 @@ plugin-pitch_shift:
 # screenshot of the Playback Setup dialog
 #
 plugin-playback:
-    delayed(2000,window:screenshot(Kwave::PlayBackDialog, /var/tmp/screenshots/${LANG}/kwave-plugin-playback.png))
+    delayed(1000,window:screenshot(Kwave::PlayBackDialog, /var/tmp/screenshots/${LANG}/kwave-plugin-playback.png))
     delayed(100,window:close(Kwave::PlayBackDialog))
     plugin:setup(playback, 2,"null sink|sound_card||Null Output|sound_note",2,0,16)
     sync()
@@ -261,12 +261,35 @@ plugin-playback:
 # screenshot of the Record dialog
 #
 plugin-record:
-    delayed(2000,window:screenshot(Kwave::RecordDialog, /var/tmp/screenshots/${LANG}/kwave-plugin-record.png))
+    delayed(1000,window:screenshot(Kwave::RecordDialog, /var/tmp/screenshots/${LANG}/kwave-plugin-record.png))
     delayed(100,window:close(Kwave::RecordDialog))
     plugin:setup(record,2,1,20,1,300,0,2015-02-22T08:43:00,1,30,0,3,0,50,0,5,0,5,DSNOOP-Plugin|sound_note,2,44100,0,16,401,64,12)
     sync()
 
 #
+# screenshot of the Save Blocks dialog
+#
+plugin-saveblocks:
+    selectnone()
+    fileinfo(Filename, example.wav)
+    selectnone()
+    delayed(1500,window:screenshot(Kwave::SaveBlocksDialog, /var/tmp/screenshots/${LANG}/kwave-plugin-saveblocks.png))
+    delayed(100,window:close(Kwave::SaveBlocksDialog))
+    plugin:setup(saveblocks,/var/tmp/screenshots/example.wav,[\%filename\]\-\[\%04nr\],0,1)
+    sync()
+
+#
+# screenshot of the Select Range dialog
+#
+plugin-selectrange:
+    plugin:execute(selectrange,2,2,42,11)
+    fileinfo(Filename, example.wav)
+    delayed(1500,window:screenshot(Kwave::SelectRangeDialog, /var/tmp/screenshots/${LANG}/kwave-plugin-selectrange.png))
+    delayed(100,window:close(Kwave::SelectRangeDialog))
+    plugin:setup(selectrange,2,2,42,11)
+    sync()
+
+#
 # screenshot of the Sonagram window
 #
 plugin-sonagram:
@@ -276,7 +299,7 @@ plugin-sonagram:
     select_track:on(0)
     plugin:execute(sonagram, 1024, hamming, 1, 1, 0)
     delayed(2000,window:click(Kwave::ImageView, 396, 259))
-    delayed(100,window:screenshot(Kwave::SonagramWindow, /var/tmp/screenshots/${LANG}/kwave-sonagram.png))
+    delayed(100,window:screenshot(Kwave::SonagramWindow, /var/tmp/screenshots/${LANG}/kwave-plugin-sonagram-window.png))
     delayed(100,window:sendkey(Kwave::SonagramWindow, Ctrl+W))
     sync()
 
@@ -288,18 +311,27 @@ plugin-sonagram-setup:
     expandtolabel()
     select_track:none()
     select_track:on(0)
-    delayed(2000,window:screenshot(Kwave::SonagramDialog, /var/tmp/screenshots/${LANG}/kwave-sonagram-setup.png))
+    delayed(1000,window:screenshot(Kwave::SonagramDialog, /var/tmp/screenshots/${LANG}/kwave-plugin-sonagram-setup.png))
     delayed(100,window:close(Kwave::SonagramDialog))
     plugin:setup(sonagram, 1024, hamming, 1, 1, 0)
     sync()
 
 #
+# screenshot of the String Enter dialog
+#
+plugin-stringenter:
+    delayed(1000,window:screenshot(Kwave::StringEnterDialog, /var/tmp/screenshots/${LANG}/kwave-plugin-stringenter.png))
+    delayed(100,window:close(Kwave::StringEnterDialog))
+    plugin:setup(stringenter, help\(\))
+    sync()
+
+#
 # screenshot of the Volume dialog
 #
 plugin-volume:
     selectall()
     select_track:all()
-    delayed(2000,window:screenshot(Kwave::VolumeDialog, /var/tmp/screenshots/${LANG}/kwave-volume.png))
+    delayed(1000,window:screenshot(Kwave::VolumeDialog, /var/tmp/screenshots/${LANG}/kwave-plugin-volume.png))
     delayed(100,window:close(Kwave::VolumeDialog))
     plugin:setup(volume, 0.707946, 2)
     sync()


More information about the kde-doc-english mailing list